前言概述
原文首发出处:
先知社区 作者:熊猫正正
近日笔者发现一例红队的样本,使用了一些有趣的手法,同时最后使用了一个开源的C2工具,对该样本进行了详细分析,分享出来供大家参考学习。
详细分析
1.样本解压缩之后是一个LNK快捷方式,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片1-80.png)
2.LNK快捷方式调用命令行等信息,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片2-74-1024x449.png)
3.运行之后相关进程信息,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片3-75.png)
4.会读取快捷方式文件的内容,并异或解密之后,在指定生成恶意模块,同时拷贝相应的程序到指定目录,最后在指定目录生成的文件,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片4-74-1024x249.png)
5.解密出恶意模块内容,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片5-71-1024x550.png)
6.启动%temp%目录下生成的PDF欺骗受害者,同时调用WerFault.exe程序,使用白+黑加载恶意模块,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片6-68-1024x364.png)
7.获取相关函数地址,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片7-61-1024x101.png)
8.修改进程代码的属性,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片8-57-1024x460.png)
9.修改进程代码,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片9-57-1024x460.png)
10.将恶意模块指定的代码地址写入到进程代码,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片10-56-1024x291.png)
11.修改完成之后,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片11-51-1024x461.png)
12.修改后的入口代码,跳转到恶意模块的指定代码处执行,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片12-44-1024x489.png)
13.执行到恶意模块指定的代码处,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片13-41-1024x459.png)
14.获取相关函数地址,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片14-38-1024x83.png)
15.创建两个线程并执行,然后退出程序,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片15-36-1024x161.png)
16.读取%temp目录下的faultrep.dll文件的相关内容到内存,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片16-32-1024x454.png)
17.读取faultrep.dll文件固定位置中保存的文件目录路径到内存,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片17-29-1024x445.png)
18.读取faultrep.dll文件固定位置中保存的欺骗PDF文件名到内存,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片18-26-1024x445.png)
19.不同的变种的欺骗PDF的文件名不一样,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片19-26-1024x552.png)
20.通过ShellExecuteEx函数打开欺骗PDF文档,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片20-24-1024x447.png)
21.获取主机用户名,与相关的用户名字符串进行比较反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片21-23-1024x466.png)
22.比较主机名反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片22-22-1024x447.png)
23.获取主机内存以及系统信息反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片23-21-1024x164.png)
24.枚举主机显示监视器反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片24-21.png)
25.获取系统启动时间,磁盘空间以及检取系统中存在的波形输出设备的数量和获取系统分辨率反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片25-21-1024x307.png)
26.通过时间间隔反虚拟机,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片26-20-1024x108.png)
27.判断网络连接状态,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片27-20-1024x117.png)
28.在%temp%目录下生成log.txt,写入load4字符串到log.txt文件当中,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片28-20-1024x465.png)
29.通过对比文件名来反调试反沙箱,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片29-19-1024x492.png)
30.读取faultrep.dll文件固定位置的文件名信息,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片30-18-1024x445.png)
31.读取faultrep.dll文件固定位置的下载URL信息,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片31-18-1024x446.png)
32.从远程服务器hxxps://chemdl.gangtao.live/down_xia.php下载文件到%temp目录下的rname.dat,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片32-17-1024x460.png)
33.下载的rname.dat文件内容是加密的,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片33-16.png)
34.分配相应的内存,读取rname.dat加密文件的内容到内存当中,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片34-10-1024x447.png)
35.异或解密加密算法,解密算法,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片35-11-1024x301.png)
36.解密出来的PayLoad,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片36-6-1024x459.png)
37.PayLoad的导出函数,如下所示:
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片37-6-1024x112.png)
通过分析发现最后的PayLoad应该是使用了一个开源的C2工具,开源代码的地址:hxxps://github.com/n1nj4sec/pupy
威胁情报
![](https://www.malwareanalysis.cn/wp-content/uploads/2024/12/图片38-6.png)
总结结尾
每年演练都会有很多新的红队样本出现,里面包含各种各样的安全技术,是一个不错的学习机会,对一些有意思的对抗样本都可以深入分析和研究。