用户
搜索

记一次蔓灵花APT组织针对巴基斯坦定向攻击的样本分析

2019-2-20 14:09| 发布者: 桃子Tz| 查看: 79| 评论: 0|原作者: Crazyman_Army

近日蔓灵花APT组织巴基斯坦进行一次定向攻击


因为微步在线情报的dalao已经写过了,连接在这里 【微步在线报告】“蔓灵花”团伙发起新一轮攻击活动


我这个弱鸡就分享一下我的分析记录吧


0x00 开始


样本一开始文件名是:Update Required Case Enq No 192_2018.docx.com


稍微吐槽一下,我也不知道为啥APT组织这么想的


.com后缀的欺骗太容易看出来了


样本截图如下:(笔者没勾去隐藏文件后缀名)


pic1


用到的方法是文件后缀名欺骗


笔者查一下壳子


pic2


该程序应该由c编写的而且通过这个能看出这是一个WinMain入口的win32GUI程序


那我们载入IDA开始分析


我们可以看到其pdb_path


c:\Users\Asterix\Documents\Visual Studio 2008\Projects\28NovDwn\Release\28NovDwn.pdb

pic3


经过笔者分析这个Update Required Case Enq No 192_2018.docx.com是一个DownLoader下载者木马


0x01.Downloader-初始化加载模块


这个初始化加载模块实现了将自身加到注册表启动项,以及将自己本体文件拷贝到C:\intel


载入IDA后可以看到入口的WinMain函数


pic4


Sub_401140函数里面的窗口回调函数如图,并没有任何问题


pic5


pic6


调用ShowWindow函数将程序窗口设为隐藏,以达到隐蔽运行的目的


那我们工作的重点是分析sub_401330函数


调用mkdir函数创建文件夹C:\intel


pic7


Sub_401F00函数:通过修改注册表HKEY_CURRENT_USER\Environment


增加%AppId%键,键值为:C:\intel\msdtcv.exe


就是注册环境变量%AppId%为C:\intel\msdtcv.exe


1


Sub_401F00函数内容具体如图:


pic9


pic10


调用CreateThread创造线程,线程回调函数 StratAdress


pic11


Paramter为:


a


线程回调函数StartAddress分析:主要是创造与cmd.exe的进程通信,用WriteFile函数向匿名管道中写入一段cmd命令(copy 源文件路径 C:\intel\msdtcv.exe),然后让cmd.exe执行木马自身文件(Update Required Case Enq No 192_2018.docx.com)复制到C:\intel\msdtcv.exe


解密出环境变量%ComSpec%


2


获取环境变量%ComSpec%的路径


3


得到结果:cmd的路径


4


建立与cmd.exe的匿名管道进行通讯,并创立子进程cmd.exe


5


6


调用WriteFile函数向cmd.exe写入copy指令实现复制文件


7


如下图所示:


pic15


pic16


打开注册表启动项(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run)


判断启动项是否存在如果存在不重新写启动项,不打开木马文件转向下面执行


如果不存在则调用CreateThread创建线程sub_404670来写入开启启动项然后退出进程


将后续工作交给msdtcv.exe这个文件(不就是他自己吗)


pic17


线程sub_404670如下图:


打开注册表(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run)


判断是否存在msdtcv键,如果不存在则创建msdtcv键,写入cmd /c start %AppId% && exit键值关闭注册表


若存在则直接退出线程。


pic18


pic19


0x02. Downloader-下载功能模块


当初始化模块结束后,完成文件重命名复制以及注册表自启动后


msdtcv.exe随即启动,按照初始化模块的操作进行了一遍检查后


开始与C&C服务器进行交流


从下图我们可知,写了一个死循环一直获取从C&C服务器回显的指令。


pic21


获取主机名称


pic22


获取系统版本信息


pic23


pic24


木马与C&C的交流


pic25


Sub_402ba0函数


通过C&C服务器域名:framworksupport.net来获取ip:162.222.215.90,端口:80 建立socket连接


pic26


向C&C服务器发送上线信息以及请求下一步指令的报文


a


报文如下


b


下载攻击者的指定文件


pic27


执行下载文件(文件地址如图)


pic28


c


再次进行信息发送以及接收回显


发送信息以及下一步请求


9


接收回显


10


由于C&C的那个木马下载的页面不能正常访问,木马也不能被下载,所以笔者没办法对下一步木马的操作进行分析


0x03 关联


首先看看VT的查杀情况


截止发帖的今天已经有46款杀毒软件查杀此木马


pic30


微步云沙箱的结果


恶意行为:


pic31


低危行为:


pic32


这个收集系统相关硬件的指纹信息这部分应该在sub_4037B0函数中

笔者没有进行详细的分析,同样也有很多混淆,那就请有兴趣的读者自己练手了哟。


程序流程图:


pic33


木马C&C服务器域名:


pic34


反查一下域名可见 这个域名是在2019-1-04注册的 而且与之通讯的样本有两个


pic35


其中一个是笔者分析的这个在2019/01/17被捕获


pic36


另一个2019/01/09被捕获的样本,笔者调出了微步云沙箱的记录


经过比对后,发现这两个样本的pdb_path相同


pic37


程序运行流程图也很类似


这就有很大的可能这两个样本出自一人之手


pic38


0x04总结


那这个木马也就这么告一段落了


笔者其实也有一些地方看得不是很明白,而且有的地方描述的也不是很清楚,如果各位读者dalao能看出笔者文中的不对以及描述不清楚的地方请在评论区提出来,十分感谢


笔者把样本放到了附件,请各位有心气的读者自行逆向分析


其中这个样本在字符串的隐藏上做的还是很不错,不同的地方有不同的加密,有的不单单有移位加密同时也有一些作者自己写的混淆。同时这个样本调用了很多冷门API在一定程度上阻碍了病毒分析的步伐。但是这个样本的后缀名欺骗真的没法去讲,但是如果是插入unciodeRLO控制字符实现后缀名倒转的话应该能起到一定的欺骗作用,但是图标也是一个大的问题,所以这个弊端也大大降低了入侵成功的可能性


并且该下载者木马可以通过重命名拷贝到 C:\intel文件夹下


通过修改注册表达到自启动的目的,攻击者可以修改相应的回显shellcode来改变木马插件的下载内容,在这里看来这个样本还是值得一分析的。


0x05 木马样本



蔓灵花APT样本(解压密码APT).rar
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋