首页
社区
课程
招聘
[原创]记一次蔓灵花APT组织针对巴基斯坦定向攻击的样本分析
2019-2-6 22:16 13099

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

2019-2-6 22:16
13099

萌新第一次发帖,请各位dalao海涵

 

近日蔓灵花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 木马样本


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-2-7 21:56 被CrazymanArmy编辑 ,原因: 将文中的一些错误进行订正
上传的附件:
收藏
点赞7
打赏
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  啊啊啊妾   +1.00 2019/02/11 不错不错,微步在线的大门向你们敞开~
最新回复 (19)
雪    币: 242
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
MUSYIDA 2019-2-8 20:22
2
0
dalao很厉害
雪    币: 55
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
天析 2019-2-8 21:48
3
0
不愧是大佬
最后于 2019-2-8 21:49 被天析编辑 ,原因:
雪    币: 55
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
天析 2019-2-8 21:48
4
0
大佬太优秀了
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
Pzai 2019-2-8 21:49
5
0
支持一下大佬= =
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kennys弟中弟 2019-2-8 21:52
6
0
dalao
雪    币: 5330
活跃值: (11745)
能力值: ( LV12,RANK:312 )
在线值:
发帖
回帖
粉丝
一半人生 5 2019-2-9 08:50
7
0
i春秋逆向版主 逻辑思路都很不错
雪    币: 83
活跃值: (1037)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
killpy 2 2019-2-9 09:27
8
0
这种后缀的文件能直接运行?
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2019-2-9 22:05
9
0
killpy 这种后缀的文件能直接运行?
能的,毕竟原来就是exe后缀,只是改了一个后缀而已不影响运行
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2019-2-9 22:05
10
0
.......
最后于 2019-2-9 22:08 被CrazymanArmy编辑 ,原因:
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2019-2-9 22:08
11
0
理想小青年 i春秋逆向版主 逻辑思路都很不错
竟然被你发现了
雪    币: 1412
活跃值: (4189)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2019-2-11 13:04
12
0
youxiu
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DWwinter 2019-2-11 15:37
13
0
赞一个
雪    币: 4
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
啊啊啊妾 2019-2-11 21:01
14
0
发到我们微步在线情报社区来啊~
雪    币: 1795
活跃值: (63)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
myangel 2019-2-12 17:40
15
0
啊啊啊妾 [em_63]发到我们微步在线情报社区来啊~
发现微步在线的大佬
雪    币: 1795
活跃值: (63)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
myangel 2019-2-12 17:40
16
0
不错,很详细
最后于 2019-2-12 17:40 被myangel编辑 ,原因:
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2019-2-12 21:05
17
0
myangel 不错,很详细
谢谢
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2019-2-12 21:05
18
0
IamHuskar youxiu[em_63]
谢谢大佬
雪    币: 17774
活跃值: (60033)
能力值: (RANK:125 )
在线值:
发帖
回帖
粉丝
Editor 2019-2-13 13:58
19
0
感谢分享!
雪    币: 2039
活跃值: (151)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
XCCCC 2019-2-15 08:47
20
0
感谢分享!
游客
登录 | 注册 方可回帖
返回