作者 腾讯电脑管家 2016-07-15 14:39:00
被查看了634次 , 本文转载自:乌云知识库

暗云Ⅱ BootKit 木马分析

0x00 概况

“暗云”木马没有文件形态,长期潜伏在磁盘引导区,主要攻击代码放在云端,曾有超百万台电脑受感染,自2015年初被腾讯反病毒实验室首次捕获并查杀至今已有1年多。从今年4月开始,该木马卷土重来,感染了数十万台机器。新发现的暗云木马在模块分工、技术对抗等方面与老暗云相比有着明显的晋级特征,因此我们将本次爆发的木马取名为暗云Ⅱ。暗云Ⅱ除了隐蔽性高、云控、兼容性好等特点外,还有以下特点:

第一、顽固性增强,难以清除。暗云Ⅱ通过磁盘钩子隐藏恶意代码,并且特别设置一个计时器以不断地检测钩子和自身代码的完整性,一旦发现钩子被摘除或者自身代码被修改,则重启计算机,给木马的检测和清除工作增加难度。

第二、稳定性更好。暗云Ⅱ大幅度删减一些重复或不必要的功能代码,如取消了对安全软件句柄的关闭,直接在内核使用TDI连网下载模块,从而减少了应用层与内核的协作。

第三、隐蔽性更强,难以检测。前期的暗云Ⅱ推广一个用于网络攻击的exe木马,在后台攻击指定的服务器,服务器中毒后并没有明显异常现象;后期的暗云Ⅱ直接下发一个dll在内存中加载执行,中毒后包括文件、注册表、桌面图标、浏览器主页等也均没有变化,普通用户难以察觉。

p1

图1. 暗云Ⅱ 木马启动流程

0x01 由MBR到Windows内核

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

p2

图2. 暗云Ⅱ BootKit 启动过程示意图

0x02 内核ShellCode 1 & ShellCode 2行为分析

ShellCode 1

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

p3

图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则重启电脑。

p4

图4. 检测和守护相关代码

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

p5

图5. 直接在内核联网下载ShellCode

6)发送数据并接收服务器返回的数据,接收数据结构如图6所示。

p6

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

p7

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

p8

图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。

p9

图8. 锁主页功能相关代码

2)注册LoadImageNotifyRoutine,通过Patch sesafe.dll和safemon.dll的入口使其失效。这两个是安全软件的dll。

p10

p11

图9. 被patch的dll入口

3)在回调中查找CmdLineParser.dll的.rdata section中的“hao123”字符,在其后添加推广id, CmdLineParser.dll是某知名浏览器的相关文件。

4)解密文件尾部的数据,得到一个playload.dll,尝试以APC的方式向应用层指定进程插入该dll文件。Shellcode会遍历进程,当发现以下某一进程时,进行插入,成功后不再尝试其它进程。

p12

图10. 进程列表一

p13

图11. 进程列表二

p14

图12. 向指定进程插APC相关代码

0x03 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文件,根据配置来决定执行哪些操作,可以实现的功能如下:

p15

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

p16

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

p17

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

p18

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

p19

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

p20

图18. 下载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执行。

p21

图19. 下载配置文件

p22

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

p23

图21. 如果是exe则直接执行,否则创建傀儡svchost插入执行

0x04 木马功能模块与时间轴

adten

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

p24

图22.反病毒实验室监控到该木马主要行为节点

木马主要功能:自更新、下载执行指定模块、攻击指定DNS、刷流量、转发数据包等。

p25

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

p26

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

p27

图25.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/

0x05 安全建议和木马查杀

暗云Ⅱ木马主要通过外挂、游戏辅助、私服登录器等传播,此类软件通常诱导用户关闭安全软件后使用,使得木马得以乘机植入。管家建议大家持续保持安全软件开启状态,不要运行来源不明和被安全软件报毒的程序。目前腾讯电脑管家已经能够准确检测和查杀暗云系列木马。

p28

本文转载自:乌云知识库