针对一个有意思的钓鱼免杀样本的详细分析
2024-7-17 08:18:14 Author: mp.weixin.qq.com(查看原文) 阅读量:15 收藏

安全分析与研究

专注于全球恶意软件的分析与研究

前言概述

原文首发出处:

https://xz.aliyun.com/t/15022

先知社区 作者:熊猫正正

近日跟踪到一个钓鱼样本,比较有意思,沙箱没有跑出行为,如下所示:

针对这种沙箱跑不出行为的免杀对抗型样本,都值得深入的分析和研究,笔者对这个样本进行了详细分析,分享出来供大家参考学习。

详细分析

1.钓鱼样本解压缩之后,如下所示:

2._MACOSX目录下的文件信息,如下所示:

3.LNK快捷方式相关信息,如下所示:

4.调用执行对应目录下的VBS脚本,VBS脚本内容,如下所示:

5.重命名目录下的相关文件并启动DS_Strore.exe程序,最后执行PING操作,如下所示:

6.DS_Strore.exe程序,主函数代码,如下所示:

7.直接定位到关键函数,如下所示:

8.分配内存空间,然后将ShellCode代码拷贝到分配的内存空间,如下所示:

9.拷贝完成之后,再跳转执行到分配的内存空间ShellCode代码处,如下所示:

10.ShellCode加载相关的DLL模块,并获取相关函数地址,如下所示:

11.ShellCode包含很多混淆垃圾代码,防止IDA静态分析,如下所示:

12.解密相应的字符串信息,如下所示:

13.解密出来的随机字符串信息为LRcOSGV0ewEDBAQCQAA=,如下所示:

14.创建互斥变量Yh-ioklsdf-san,如下所示:

15.调用VirtualAlloc分配相应的内存空间,如下所示:

16.连接远程服务器service-h87kxr41-1319584009.bj.tencentapigw.com.cn,如下所示:

17.通过URL链接发送POST请求,如下所示:

18.将之前解密出来的随机字符串LRcOSGV0ewEDBAQCQAA=发送到远程服务器,如下所示:

19.接受服务器端返回的加密数据,如下所示:

20.查询服务器端加密数据信息,如下所示:

21.调用VirtualAlloc分配内存空间,如下所示:

22.从服务器端读取加密数据到内存空间,如下所示:

23.读取的加密数据,如下所示:

24.将返回的加密数据拷贝到之前分配的内存空间当中,如下所示:

25.拷贝完成之后,如下所示:

26.重复上面的操作,循环读取服务器端加密的数据,并返回到分配的内存空间,如下所示:

27.将返回的加密数据再拷贝到之前的内存空间的后面,请求完成之后,返回的加密数据,如下所示:

28.解密字符串,如下所示:

29.解密接受的服务器端数据,如下所示:

30.解密后的服务端器加密数据,如下所示:

31.设置解密后的PayLoad内存属性为可执行,如下所示:

最后执行解密出来的PayLoad,笔者在调试的时候会遇到接收数据不完整的情况,解密出来PayLoad不完整,可能是服务器网络或笔者网络不稳定,也可能是程序BUG吧,不过猜测最后的PayLoad应该是一个CS木马之类的,后面应该还有机会拿到完整的PayLoad笔者再分析。

威胁情报

总结结尾

做安全,免杀是一个永恒的话题,是一场猫捉老鼠的游戏,通过研究一些对抗型的攻击样本,可以更好的了解攻击者在使用什么技术。


文章来源: https://mp.weixin.qq.com/s?__biz=MzA4ODEyODA3MQ==&mid=2247488548&idx=1&sn=8b4c3c6c511d9030155d3a81ceedb86e&chksm=902fbb0ca758321a4d6d7d2ff00935026377a148faca571aa017d12cbd1be1fa9d8ab15af5ae&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh