“暗云”木马没有文件形态,长期潜伏在磁盘引导区,主要攻击代码放在云端,曾有超百万台电脑受感染,自2015年初被腾讯反病毒实验室首次捕获并查杀至今已有1年多。从今年4月开始,该木马卷土重来,感染了数十万台机器。新发现的暗云木马在模块分工、技术对抗等方面与老暗云相比有着明显的晋级特征,因此我们将本次爆发的木马取名为暗云Ⅱ。
暗云Ⅱ除了隐蔽性高、云控、兼容性好等特点外,还有以下特点:
第一、顽固性增强,难以清除。暗云Ⅱ通过磁盘钩子隐藏恶意代码,并且特别设置一个计时器以不断地检测钩子和自身代码的完整性,一旦发现钩子被摘除或者自身代码被修改,则重启计算机,给木马的检测和清除工作增加难度。
第二、稳定性更好。暗云Ⅱ大幅度删减一些重复或不必要的功能代码,如取消了对安全软件句柄的关闭,直接在内核使用TDI连网下载模块,从而减少了应用层与内核的协作。
第三、隐蔽性更强,难以检测。前期的暗云Ⅱ推广一个用于网络攻击的exe木马,在后台攻击指定的服务器,服务器中毒后并没有明显异常现象;后期的暗云Ⅱ直接下发一个dll在内存中加载执行,中毒后包括文件、注册表、桌面图标、浏览器主页等也均没有变化,普通用户难以察觉。

图1. 暗云Ⅱ 木马启动流程
一、由MBR到Windows内核
暗云Ⅱ木马通过感染磁盘MBR来实现开机启动,与暗云相比,没有大的改变,都是通过一步步的hook来跟随系统的引导流程进入系统内核执行,该套代码可兼容xp、vista、win7、win8等主流操作系统,包括64位和32位。其启动过程如图2所示。(具体细节参见:“暗云”BootKit木马详细技术分析http://www.freebuf.com/vuls/57868.html)

图2. 暗云Ⅱ BootKit 启动过程示意图
二、内核ShellCode 1 & ShellCode 2行为分析
ShellCode 1
ShellCode 1是木马进入Windows内核后,通过创建一个线程开始执行的第一段代码。其结构是一段加载代码和一个自定义的文件结构,该文件结构与PE类似,自定义了区段、导入表等结构,下文我们称其为PX文件。加载代码将PX文件加载后执行,其功能是通过对象劫持、磁盘钩子、定时器守护等一系列操作保护恶意的磁盘MBR不被检测和修改。此外,木马会在内核中直接以TDI的方式从ebak.advstis.com下载ShellCode并执行,我们将其称为ShellCode 2。

图3. 暗云Ⅱ MBR保护&隐藏原理
详细分析:
1) 寻找磁盘驱动器(atapi or iaStor or LSI_SAS)对应的驱动对象。
2) 对象劫持:将ObjectDirectory中磁盘驱动器的驱动对象替换为一个FakeObject,隐藏磁盘驱动器对象。
3) 挂钩磁盘驱动器的IRP_MJ_INTERNAL_DEVICE_CONTROL函数、挂钩CmpParseKey函数以及根据磁盘类型和操作系统替换DriverStartIo、 AtapiHwStartIo、RaUnitStartIo等函数,实现阻止其他程序读取磁盘1-3F扇区(MBR)。当检测到读MBR时,返回一个构造好的正常的MBR,检测到写MBR时,则直接pass该操作。
4) 新增一个计时器,在DPC Routine中反复检测IRP_MJ_INTERNAL_DEVICE_CONTROL处理函数是否挂钩成功,没有则重新挂钩,挂钩超过5次则强制重启机器。检测自身代码是否被patch,一旦发现自己被patch则重启电脑。

图4. 检测和守护相关代码
5) 直接在内核以TDI的方式访问ebak.advstis.com,下载shellcode解密后直接在内核中运行。木马在TDI层用TCP连接访问ebak.advstis.com:8886获取shellcode。如果失败改用UDP连接获取,还内置了多个dns地址用于解析域名。

图5. 直接在内核联网下载ShellCode
6) 发送数据并接收服务器返回的数据,接收数据结构如图6所示。

图6. 接收到的第一个数据包格式

图7. 接收到的第一个数据包内容

图8. 接收到的ShellCode 2
ShellCode2
从云端下载回来的第一个模块为ShellCode 2,也是用来加载执行其后的PX文件,该PX文件的功能是根据配置进行锁主页、对抗安全软件、修改推广id、将解密出来的dll以APC的方式插入到指定的应用层进程中等,具体如下表:
能实现的功能 |
开关 |
参数信息 |
锁定浏览器主页 |
关 |
|
对抗安全软件 |
关 |
|
修改导航网站推广链接 |
关 |
|
向应用层插入APC |
开 |
向alg.exe、spoolsv.exe、Searchindexer.exe、Trustedinstaller.exe、Wscntfy.exe、svchost.exe、zhudongfangyu.exe、qqpcrtp.exe、ksafesvc.exe等进程插入playload.dll |
详细分析:
1) 注册CreateProcessNotifyRoutine,当有进程创建时,若是浏览器进程,则劫持浏览器进程,在尾部添加url。劫持的进程有chrome.exe、iexplorer.exe、firefox.exe、qqborwser.exe、baidubrowser.exe、2345Explorer.exe、liebao.exe、360se.exe、SogouExplorer.exe、UcBrowser.exe。

图9. 锁主页功能相关代码
2) 注册LoadImageNotifyRoutine,通过Patch sesafe.dll和safemon.dll的入口使其失效。这两个是安全软件的dll。


图10. 被patch的dll入口
3) 在回调中查找CmdLineParser.dll的.rdata section中的“hao123”字符,在其后添加推广id, CmdLineParser.dll是某知名浏览器的相关文件。
4) 解密文件尾部的数据,得到一个playload.dll,尝试以APC的方式向应用层指定进程插入该dll文件。Shellcode会遍历进程,当发现以下某一进程时,进行插入,成功后不再尝试其它进程。

图11. 进程列表一

图12. 进程列表二

图13. 向指定进程插APC相关代码
三、playload.dll行为分析
playload.dll
该dll被以APC的形式插入到应用层进程中,其具体的行为仍然依赖于云端配置,其运行后首先会从云端下载配置文件,根据配置文件执行响应的功能,能够实现的功能及具体配置情况如下表所示。配置文件所在的URL为:hxxp://update.haossk.com:8787/update/cfg.db。
能实现的功能 |
开关 |
参数信息 |
关闭指定的服务 |
关 |
|
创建指定注册表 |
关 |
|
下载指定Dll并Load |
关 |
|
下载Exe并执行 |
关 |
|
下载恶意代码,注入到svchost.exe执行 |
开 |
hxxp://cfg.haossk.com:8787/cfg/datacl.bin,解密后创建傀儡进程svchost.exe执行 |
1) 首先会下载一个配置文件cfg.db(hxxp://update.haossk.com:8787/update/cfg.db)下载完成后,解析cfg.db文件,根据配置来决定执行哪些操作,可以实现的功能如下:

图14. 下载配置文件相关代码

图15. 删除指定服务相关代码

图16. 创建指定注册表相关代码

图17. 下载dll并加载相关代码

图18. 下载exe并执行相关代码

图19. 下载ShellCode,并创建傀儡进程scvhost来执行ShellCode
2) 当前配置为下载ShellCode(hxxp://cfg.haossk.com:8787/cfg/datacl.bin)并注入执行。
datacl.bin
该模块的结构是ShellCode+DLL,ShellCode的功能是在内存中展开执行解密后的DLL,DLL是个简单下载器,首先会从hxxp://ads.haossk.com:3737/config/ka.html下载配置文件,然后根据配置信息下载exe执行或者下载dll,最后创建傀儡进程svchost执行。

图20. 下载配置文件

图21. 配置文件格式,IsExe字段标记是否为exe

图22. 如果是exe则直接执行,否则创建傀儡svchost插入执行
四、木马功能模块与时间轴
adten
该模块是目前监控到的暗云Ⅱ木马唯一落地文件,也是暗云木马的主要功能模块,从4月份爆发以来,该模块经历了几次更新换代,经分析发现,每代adten的功能都是以用户电脑为肉鸡进行网络攻击,第一代adten(md5:3007e22a8d7bfdbc4d7a5b34aaaa38c5)和第二代adten(md5:8b1a90e08a33b666d01ae27583cf5cfa)基本相似,为exe文件,直接在磁盘落地,而第三代adten则直接在内存中执行,隐蔽性更强。

图23.反病毒实验室监控到该木马主要行为节点
木马主要功能:自更新、下载执行指定模块、攻击指定DNS、刷流量、转发数据包等。

图24.adten网络攻击相关代码

图25.adten网络攻击相关代码

图26.adten网络攻击相关代码
近期监控到的被攻击站点如下(均为外挂私服类站点):
hxxp://www.tianglongsifu.com/
hxxp://www.haoov.com/
hxxp://www.001my.com/
hxxp://www.901my.com/
hxxp://zse.bju888.com/
hxxp://bolezi.bju888.com/
hxxp://mianfeitl.com/
hxxp://www.3wow.com
hxxp://www.feihuxin.com/
hxxp://www.tlbbhi.com/
五、安全建议和木马查杀
暗云Ⅱ木马主要通过外挂、游戏辅助、私服登录器等传播,此类软件通常诱导用户关闭安全软件后使用,使得木马得以乘机植入。管家建议大家持续保持安全软件开启状态,不要运行来源不明和被安全软件报毒的程序。目前腾讯电脑管家已经能够准确检测和查杀暗云系列木马。
* 企业账号:腾讯电脑管家(企业账号),转载请注明来自FreeBuf(FreeBuf.COM)