近日蔓灵花 APT 组织对巴基斯坦进行一次定向攻击
因为微步在线情报的 dalao 已经写过了,连接在这里 [微步在线报告] “蔓灵花”团伙发起新一轮攻击活动
我这个弱鸡就分享一下我的分析记录吧
样本一开始文件名是: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
载入 IDA 后可以看到入口的WinMain 函数
Sub_401140
函数里面的窗口回调函数如图,并没有任何问题
调用ShowWindow函数将程序窗口设为隐藏,以达到隐蔽运行的目的
那我们工作的重点是分析sub_401330 函数
调用mkdir 函数
创建文件夹C:\inter
Sub_401F00
函数:通过修改注册表 HKEY_CURRENT_USER\Environment 项
增加**%AppId%键,键值为:C:\inter\msdtcv.exe**
就是注册环境变量%AppId%为 C:\inter\msdtcv.exe
Sub_401F00
函数内容具体如图:
调用CreateThread
创造线程,线程回调函数 StratAdress
线程回调函数StartAddress
分析:主要是创造与cmd.exe的进程通信,让cmd.exe 来执行函数 WriteFile 来释放木马文件 C:\inter\msdctv.exe
如下图所示:
打开注册表启动项(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
)
判断启动项是否存在如果存在不重新写启动项,不打开木马文件转向下面执行
如果不存在则调用CreateThread创建线程sub_404670
来写入开启启动项然后退出进程
将后续工作交给msdtcv.exe
这个木马
线程 sub_404670
如下图:
打开注册表(HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
)
判断是否存在mdstcv键,如果不存在则创建mdstcv键,写入cmd /c start %AppId% && exit键值关闭注册表
若存在则直接退出线程。
Loader
释放了在此路径:C:\inter\mdstcv.exe释放了木马mdstcv.exe
但很巧的是这个释放的木马和原木马的hash
是相同的
如下图所示:
所以这个主体木马就是很照常的对环境变量进行检查以及对注册表启动项进行检查和释放 C:\inter 文件夹下的木马文件以及建立进程通信防杀但是与之不同的自然是其与C&C 服务器的交流,从下图我们可知,写了一个死循环一直获取从 C&C 服务器回显的指令。
获取主机名称
获取系统版本信息
木马与 C&C 的交流
Sub_402ba0
函数
通过C&C 服务器域名:framworksupport.net
来获取ip:162.222.215.90
,** 端口**:80
建立 socket 连接
下载攻击者的指定文件
执行下载文件
再次进行信息发送以及接受
可见这个木马具有基础的 RAT 功能(下载文件,执行文件,接收回显,探测系统变量)
首先看看 VT 的查杀情况
截止发帖的今天已经有 46 款杀毒软件查杀此木马
微步云沙箱的结果
恶意行为:
低危行为:
这个收集系统相关硬件的指纹信息这部分应该在sub_4037B0
函数中
笔者没有进行详细的分析,同样也有很多混淆,那就请有兴趣的读者自己练手了哟。
程序流程图:
木马 C&C 服务器域名:
反查一下域名可见 这个域名是在2019-1-04
注册的 而且与之通讯的样本有两个
其中一个是笔者分析的这个在2019/01/17
被捕获
另一个2019/01/09
被捕获的样本,笔者调出了微步云沙箱的记录
经过比对后,发现这两个样本的pdb_path相同
程序运行流程图也很类似
这就有很大的可能这两个样本出自一人之手
那这个木马也就这么告一段落了
笔者其实也有一些地方看得不是很明白,而且有的地方描述的也不是很清楚,如果各位读者 dalao 能看出笔者文中的不对以及描述不清楚的地方请在评论区提出来,十分感谢
笔者把样本放到了末尾,请各位有心气的读者自行逆向分析
其中这个样本在字符串的隐藏上做的还是很不错,不同的地方有不同的加密,有的不单单有移位加密同时也有一些作者自己写的混淆。同时这个样本调用了很多冷门 API 进行绕过杀软 API 的检测以及运用进程通讯做到白加黑的效果。但是这个样本的后缀名欺骗真的没法去讲,所以这也估计大大降低了入侵成功的可能性
1
Greenm 2019-02-06 09:28:27 +08:00 via iPhone 1
写得不错,v2 上鲜能看见恶意样本分析的帖子,值得学习。
我看了一下,既然释放出来的样本和原始一样,那应该叫做复制吧,不是刚好很巧的哈希一样。刚好这一块没有看到你贴出来 ida 的分析图,不知道调用了哪些 api 实现的。这一块感觉可以改一下措辞。 进程通讯白加黑的这个技术也可以拓宽来讲一下。一般意义上的白加黑是用签名文件加 Dll 劫持来实现的,既然这里这个技术实现不一样,感觉可以作为亮点来突出一下。 一般会通过反转文件名和后缀来实现欺骗的效果,虽然过时,在 APT 的攻击套路中还是很常见的,配合一些探针,有时候有奇效。 另外威胁情报这一块很有价值,如果想让报告变得更加饱满有深度,可以尝试挖下这个组织的其他信息,当然这块还是有点难度的。 手机回复,纸上谈兵,有不对的欢迎指正。 |
2
CrazyArmy OP 由于修改了一些
新文章地址:https://www.v2ex.com/t/533241#reply0 |
3
CrazyArmy OP @Greenm 文章我修改了,有新连接的
感谢您的意见 很有可能是 Unicode 控制字符 RLO 实现的倒序,但可能提取过程中复原了 那个白加黑是我措辞的原因,应该不能说是白加黑,只是通过创立进程匿名管道以及写入指令实现的复制文件 再次感谢你的回复 |
4
FrankHB 2019-02-07 14:28:29 +08:00
hash 一样。。。一看还以为用了啥高端的碰撞构造技术……结果全一样?
|