查看: 5250|回复: 6
收起左侧

[资讯] 暗云III木马传播感染分析

[复制链接]
腾讯电脑管家
发表于 2017-6-10 09:34:21 | 显示全部楼层 |阅读模式
本帖最后由 腾讯电脑管家 于 2017-6-10 10:33 编辑

背景:

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

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






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



图2. 安装后的恶意文件

样本概况:

weblander.exe

md5:

***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文件。



图15.shellcode3代码,加载其后的PE

PE文件分析:

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

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

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

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

4)通过WMI检测杀毒软件

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

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

该信息主要包括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位置如下图,被patch成call 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感染



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
pal家族
发表于 2017-6-10 09:40:47 | 显示全部楼层
哥,敬业一点,发完不检查下显示效果吗
莒县小哥
发表于 2017-6-10 10:03:12 来自手机 | 显示全部楼层
老大。。。图片呢?
黄泉神乐
发表于 2017-6-10 10:37:14 | 显示全部楼层
软件太差了,更新都更新不了,还不断弹窗
大明湖畔的乾隆
发表于 2017-6-10 13:47:24 来自手机 | 显示全部楼层
腾讯首家查杀该病毒
wowocock
发表于 2017-6-12 14:01:54 | 显示全部楼层
暗云系列木马的确是我见过写的最好的BOOKIT之一,虽然一切都在我的预料之中,半年前写的查杀还一样有效。但感觉以后这类木马会越来越难检测和查杀。
Predator_W
发表于 2017-6-27 18:31:04 | 显示全部楼层
请问,这个暗云的样本有地方下吗?
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-5-11 05:57 , Processed in 0.147556 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表