记一次蔓灵花APT组织针对巴基斯坦定向攻击的样本分析
萌新第一次发帖,请各位dalao海涵。
近日蔓灵花APT组织对巴基斯坦进行一次定向攻击,因为微步在线情报的dalao已经写过了,链接在这里:
https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=1137
我这个弱鸡就分享一下我的分析记录吧。
0x00 开始
样本一开始文件名是:Update Required Case Enq No 192_2018.docx.com
稍微吐槽一下,我也不知道APT组织怎么想的,.com后缀的欺骗太容易看出来了。
样本截图如下:(笔者没勾去隐藏文件后缀名)
用到的方法是文件后缀名欺骗。笔者查一下壳子:
该程序应该由c编写的而且通过这个能看出这是一个WinMain入口的win32GUI程序。
那我们载入IDA开始分析。
我们可以看到其pdb_path:
c:\Users\Asterix\Documents\Visual Studio 2008\Projects\28NovDwn\Release\28NovDwn.pdb
经过笔者分析这个Update Required Case Enq No 192_2018.docx.com
是一个DownLoader下载者木马。
0x01.Downloader-初始化加载模块
这个初始化加载模块实现了将自身加到注册表启动项,以及将自己本体文件拷贝到C:\intel下。
载入IDA后可以看到入口的WinMain函数:
Sub_401140
函数里面的窗口回调函数如图,并没有任何问题。
调用ShowWindow函数将程序窗口设为隐藏,以达到隐蔽运行的目的。
那我们工作的重点是分析sub_401330函数
。
调用mkdir函数
创建文件夹C:\intel:
Sub_401F00
函数:通过修改注册表HKEY_CURRENT_USER\Environment
项。
增加%AppId%键,键值为:C:\intel\msdtcv.exe。
就是注册环境变量%AppId%为C:\intel\msdtcv.exe。
Sub_401F00
函数内容具体如图:
调用CreateThread
创造线程,线程回调函数 StratAdress
。
Paramter为:
线程回调函数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%:
获取环境变量%ComSpec%的路径:
得到结果:cmd的路径
建立与cmd.exe的匿名管道进行通讯,并创立子进程cmd.exe:
调用WriteFile函数向cmd.exe写入copy指令实现复制文件:
如下图所示:
打开注册表启动项:
(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
)
判断启动项是否存在如果存在不重新写启动项,不打开木马文件转向下面执行。
如果不存在则调用CreateThread创建线程sub_404670
来写入开启启动项然后退出进程。
将后续工作交给msdtcv.exe
这个文件(不就是他自己吗)。
线程sub_404670
如下图:
打开注册表:
(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
)
判断是否存在msdtcv键,如果不存在则创建msdtcv键,写入cmd /c start %AppId% && exit键值关闭注册表。
若存在则直接退出线程。
0x02. Downloader-下载功能模块
当初始化模块结束后,完成文件重命名复制以及注册表自启动后。
msdtcv.exe
随即启动,按照初始化模块
的操作进行了一遍检查后,开始与C&C服务器进行交流。
从下图我们可知,写了一个死循环一直获取从C&C服务器回显的指令。
获取主机名称:
获取系统版本信息:
木马与C&C的交流:
Sub_402ba0
函数
通过C&C服务器域名:framworksupport.net
来获取ip:162.222.215.90
,端口:80
建立socket连接
向C&C服务器发送上线信息以及请求下一步指令的报文。
报文如下:
下载攻击者的指定文件:
执行下载文件(文件地址如图):
再次进行信息发送以及接收回显。
发送信息以及下一步请求:
接收回显:
由于C&C的那个木马下载的页面不能正常访问,木马也不能被下载,所以笔者没办法对下一步木马的操作进行分析。
0x03 关联
首先看看VT的查杀情况。
截止发帖的今天已经有46款杀毒软件查杀此木马。
微步云沙箱的结果。
恶意行为:
低危行为:
这个收集系统相关硬件的指纹信息这部分应该在sub_4037B0
函数中。
笔者没有进行详细的分析,同样也有很多混淆,那就请有兴趣的读者自己练手了哟。
程序流程图:
木马C&C服务器域名:
反查一下域名可见,这个域名是在2019-1-04
注册的,而且与之通讯的样本有两个。
其中一个是笔者分析的这个在2019/01/17
被捕获。
另一个2019/01/09
被捕获的样本,笔者调出了微步云沙箱的记录。
经过比对后,发现这两个样本的pdb_path相同。
程序运行流程图也很类似,这就有很大的可能这两个样本出自一人之手。
0x04总结
那这个木马也就这么告一段落了。
笔者其实也有一些地方看得不是很明白,而且有的地方描述的也不是很清楚,如果各位读者dalao能看出笔者文中的不对以及描述不清楚的地方请在评论区提出来,十分感谢。
笔者把样本放到了附件,请各位有心气的读者自行逆向分析。(点击阅读原文即可获取附件)
其中这个样本在字符串的隐藏上做的还是很不错,不同的地方有不同的加密,有的不单单有移位加密同时也有一些作者自己写的混淆。同时这个样本调用了很多冷门API在一定程度上阻碍了病毒分析的步伐。但是这个样本的后缀名欺骗真的没法去讲,但是如果是插入unciode的RLO控制字符实现后缀名倒转的话应该能起到一定的欺骗作用,但是图标也是一个大的问题,所以这个弊端也大大降低了入侵成功的可能性。
并且该下载者木马可以通过重命名拷贝到 C:\intel文件夹下。
通过修改注册表达到自启动的目的,攻击者可以修改相应的回显shellcode来改变木马插件的下载内容,在这里看来这个样本还是值得一分析的。
- End -
看雪ID:CrazymanArmy
https://bbs.pediy.com/user-780480.htm
本文由看雪论坛 CrazymanArmy 原创
转载请注明来自看雪社区
热门图书推荐:
征题正在火热进行中!
(晋级赛Q1即将于3月10日开启,敬请期待!)
推荐阅读
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com