- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
暗云bootkit木马详细技术分析
“暗云”BootKit 木马详细技术分析
“暗云”木马简介:
“暗云”是一个迄今为止最复杂的木马之一,感染了数以百万的计算机,暗云木马
使用了很多复杂的、新颖的技术来实现长期地潜伏在用户的计算机系统中。其使用
了 BootKit 技术,直接感染磁盘的引导区,感染后即使重装格式化硬盘也无法清除。
该木马使用了很多创新的技术,有以下特点:
第一、隐蔽性非常高 ,通过Hook 磁盘驱动实现对已感染的 MBR 进行保护,防止
被安全软件检测和清除,并且使用对象劫持技术躲避安全人员的手工检测。隐蔽性
极高,截至目前为止,几乎所有的安全软件都无法检测和查杀该木马。
第二、云思想在暗云木马中的使用 :木马以轻量级的身躯隐藏于磁盘最前端的30
个扇区中,这些常驻与系统中代码并没有传统木马的功能,这些代码的功能仅仅是
到执行的服务器(云端)下载其他功能代码到内存中直接执行,这些功能模块每次
开机都由隐藏的模块从云端下载。因此木马体积小巧,且云端控制性强。
第三,Ring 3 与 Ring 0 的通信方式 :微软正统的通信方式是Ring 0 代码创建驱
动设备,Ring 3 代码通过打开 Ring 0 创建的设备开实现相互之间的通信。常见的
木马使用的通信方式则是在 Ring0 对指定的 API 函数进行 Hook ,而暗云木马是通
过注册回调的方式来实现。
第四,操作系统全量兼容 :一份BootKit 同时兼容x86、x64 两种版本的操作系统,
且能够兼容 xp、win7 等当前主流的操作系统版本,因此影响范围十分广泛。在推
广获利方面,该木马也是涵盖当前主流的推广获利渠道——推广小网站、推广手机
应用、推广游戏、大网站加推广 ID。
第五,有效对抗杀软 :有于木马的主体在内核中运行,且启动时间比所有的安全软
件都早,因此大部分的安全软件无法拦截和检测该木马的恶意行为。木马能够在内
核中直接结束部分安全软件进程,同时可以向任意安全软件进程插入APC 执行。插
入的 APC 代码会关闭安全软件的文件监控设备句柄,会导致安全软件文件监控失
效,大大减少了被检测的机率。
图 1. 暗云木马启动流程图(图中按红紫绿黑分四个模块)
图 2 . 暗云木马模块功能分工示意图
一、常驻计算机模块(MBR )行为
概述:
电脑开机后,受感染的磁盘 MBR 第一时间获得 CPU 的控制权,其功能是将磁盘
3-63 扇区的木马主体加载到内存中解密执行,木马主体获得执行后通过挂钩 int 15
中断来获取第二次执行的机会,随后读取第二扇区中的备份 MBR 正常地引导系统
启动。
系统引导启动时会通过 int 15 中断查询内存信息,此时挂钩 15 号中断的木马便得
以第二次获得 CPU 控制权,获得控制权后木马挂钩 BILoadImageEx 函数,调用原
始 15 号中断并将控制权交回给系统继续引导。
当系统引导代码调用 BILoadImageEx 加载 ntoskrnl.exe 时,木马便第三次获得控
制权,获得控制权后木马再一次执行挂钩操作,此次挂钩的位置是 ntoskrnl.exe 的
入口点,随后将控制权交给系统继续引导。
当引导完毕进入windows 内核时,挂钩 ntoskrnl 入口点的木马代码第四次获得
CPU 控制权,此时木马已真正进入 windows 内核中,获得控制权后,分配一块内
存空间,将木马内核的主功能代码拷贝到分配的空间中,并通过创建
PsSetCreateThreadNotifyRoutine 回调的方式使主功能代码得以执行。至此完成
木马由 MBR 到 windows 内核的加载过程。
木马主功能代码的主要实现以下三个功能:1、劫持磁盘驱动实现隐藏和保护被感
染的 MBR ;2、向 ring3 的一个 svchost 进程插入 APC ;3、通过设置注册表回
调来接收 ring3 返回。
插入到 svchost 代码只实现一个简单的功能:判断操作系统类型,从云端下载相应
的Addata.dat 模块到本地,解密执行,云端模块的 URL 硬编码在 Shellcode 中。
图 3. BootKit 启动过程示意图
代码细节:
感染后的 MBR (黑)与原始MBR (红)对比图
二、云端模块一(Addata.dat )行为
概述:
此模块为木马云端配置的第一个模块,其格式固定,以简单的循环移位的方式进行
加密,解密后的模块数据结构如下:
文档评论(0)