从电线鲨鱼到提取C2服务器ip

前言

这是今年西湖论剑的题,没有参加比赛,但赛后群友发了一道很有意思的题目,正好就是之前没学到的,如何分析木马病毒的流程,边跑程序边分析一下

(被打的蜜罐,基本上能下载的木马稍纵即逝,之前试过抓到攻击以后一小时以内去下载都不行,sad)

题目

小李的摄像头被黑客入侵了,但只捕获到了单向的流量包,请分析摄像头固件与对应的流量,回答以下问题:

1.攻击者利用摄像头哪个接口实现的RCE?

2.攻击者回连的C2服务器ip地址是什么?

flag格式:flag{接口名称_ip地址} 例:flag{qweasd_127.0.0.1}

题目附件地址我放到阿里云了https://balloonblogsrcs.oss-cn-shanghai.aliyuncs.com/%E8%A5%BF%E6%B9%96%E8%AE%BA%E5%89%91-sharkp%E7%9A%84%E9%99%84%E4%BB%B6.zip

由此我们可以知道,我们需要分析本次攻击的细节(从哪个接口进行的rce,c2木马回连地址在哪)

分析

给定文件

题目给了三个文件

readme.txt没有东西,就是题目介绍

.pcap文件就是本次攻击的抓包内容,可以知道从这里能分析整个攻击流程

.bin文件是固件,在这里当然可以挖到攻击的漏洞但没有这个必要,从抓包分析即可(实际上没有用到这个固件的)

wireshark数据包分析

这次也算是熟悉了一下wireshark分析攻击是怎么做的,之前确实不知道有些功能

首先,想到对摄像头发起的攻击的协议,http就很常见,实际上翻遍以后发现这里的攻击媒介恐怕确实只有http

那么,过滤到http only

然后,我是顺着http的包往下找的,实际上更聪明的办法是有的

get一眼望过去就知道很多都不行的,请求了很多静态文件

而对固件http服务cgi的接口的访问,往往是post,这让我把目光聚焦到了post,在看过几个以后,我发现sysSystemAdmin接口,执行了一个telnetd

由此可以知道,其攻击流程就是,从sysSystemAdmin的RCE点,开了telnet方便下一步的攻击(不过我不知道意义何在)

然后可以发现,后面有相当一大串的telnet交互

追踪流,可以说电线鲨鱼是相当贴心了,看到了telnet完整的请求交互,经典wget下载木马

其中,http://2.65.87.200 后面的三个点其实是\x7f,就是,在shell操作时的删除,实际上就是攻击者打错ip末尾了,重新输入到199

所以这个木马是下载了http://2.65.87.199:8000/b处分发的木马文件,但是注意这里还没有结束,分发木马的点不一定是c2,可能是感染木马的其它地方

这就需要我们继续分析了,实际上,继续追踪TELNET流是看不到下载什么的(实际上wget过程与telnet流是两个流)

把过滤器关掉,可以发现,在telnet流之间,有一次length = 1466的,比较大的http请求(编号9494),实际上,这就是在下载木马文件

奇怪的是,分析到这里当我尝试直接把data,复制as hex dump,然后放到010editor,最后保存为文件的时候,失败了

这时候群友表示,其实可以这样把http的下载对象导出

于是,获取到了9494请求的木马本体,接下来就可以愉快的分析了

提取C2

直接逆向分析

ida打开这个文件发现,又是经典的一路syscall

其中,syscall是固定的0x40404,这倒是第一次见到,v0后面的值才是系统调用号

具体可以上这里查

https://syscalls.w3challs.com/?arch=mips_o32

一般就是逐个去查,然后会发现木马首先fork了进程,然后sleep了一阵子,潜伏起来

然后创建socket+connect了一个地址($a1存放C2的ip)

接下来,木马把stdio重定向到socket

这段代码通过三次调用 dup2,将标准输入、标准输出和标准错误输出重定向到指定的文件描述符:

将标准输入(文件描述符 0)重定向到文件描述符 0

将标准输出(文件描述符 1)重定向到文件描述符 1

将标准错误输出(文件描述符 2)重定向到文件描述符 2

最后execve(‘/bin/sh’),此时的shell已被设置为重定向到socket通信

显然关键点在于syscall调用号0x104a前,a1是什么,然后返回到这里看看:

实际上sp’被赋予到a1

而在这之前sp’=sp-8

再之前,sp-4位置,被存入了t1的int值

sp-8则被放入了端口号,实际上47DDFFFD按小端序存放并nor后是0xB822,这个值就是8888,端口号

这样分析下来,端口号是8888,而ip则是0xA158C373->(115.195.88.161)小端序+点分十进制

更简单的分析:qiling

首先安装qiling IDA插件,然后右键setup,前人之述备矣

然后,点击这里:

excute till

然后到日志里,你会惊奇的发现qiling已经分析出来了

可惜connect第二参数分析的不太对,不过从行为上,qiling发现了其连接115.195.88.161:8888的行为

总结

从这一题里面学到了分析攻击和基础mips木马的完整流程,之前没有做到提取c2地址,这其实是第一次做到

(有道云笔记不让复制图片出来了,真无语)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
粤ICP备20015830号