暗云bootkit木马详细技术分析.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档