- 69
- 0
- 约1.03万字
- 约 18页
- 2018-10-13 发布于湖北
- 举报
Bootkit 技术演变趋势及研究分析(上)
by nEINEI
2011.10
Bootkit 演化及分析共2 篇,本文是上篇,着重讨论截至2011 底,中国地区主要 Bootkit 病
毒的技术演化过程及新技术的对抗,下篇着重讨论TDL4 变种的最新技术变化。
一 简介
二 从哪里来 -- mebroot 深入分析
三 更多改进 -- ShadowGhost 系列攻击手段
3.1 对抗静态检测
3.2 加密磁盘数据
3.3 kernel hook 方式
3.4 内存隐藏
3.5 加载方式
3.6 自身保护
四 更高级的攻击手段bioskit
五 防御者的任务
5.1 Ring3 拦截
5.2 Ring0 拦截
5.3 实模式内存搜索
5. 4 Hook DBR
一 简介
在持续的跟踪bootkit 病毒发展的过程中我们发现仅2011 年 4 月~ 9 月,在中国区分别出
现了,鬼影2 代,鬼影3 代,ZeroAccess(aka:Max++不是严格的BK,利用驱动感染的方式加
载,TDL3 的另一个分支变种),Tdss-4 ,bmw bios 等复杂的攻击windows 引导启动阶段的方
法。
在深入的代码分析中发现,流行的 bootkit 病毒特别是中国地区的流行的病毒已经从最
初的借鉴 eeye bootroot,mebroot 技术,发展为更复杂的隐蔽攻击方式。在撰写本文的过
程,我们获了更底层的感染award bios 的病毒。但这只是开始,我们确信,黑客已经熟练了
的多种bootkit 技术。这里将是未来的新战场。
下面是发现典型bookit 病毒在中国区的时间表.
这些病毒技术都和mebroot 有非常大的联系,为了更好的说明后续技术的变化,下面将
首先介绍mebroot 是如何做到引导系统启动并加载恶意驱动程序的。
二 从哪里来 -- mebroot 深入剖析
mebroot 感染过程分三个阶段:
1) 修改MBR 数据,隐藏自身到实模式系统内存空间 (0~1MB )的尾部,hook int 13h 中断。
2 ) patch ntldr 在0x422a6f 位置,搜索获得osloader 的BlLoaderBlock 结构,利用BlLoaderBlock
定位LDR_DATA_TABLE_ENTRY 的DllBase 成员,该指针指向ntoskrnl 模块基址,拷贝自身数据
到ntoskrnl 模块尾部,同时hook IoInitSystem 函数
3) 系统调用IoInitSystem 时进入病毒代码空间,搜索导出表,获得ntOpenFile , ntReadFile ,
ntClose, ExAllocatepool ,利用以上函数读取磁盘上的病毒驱动程序到内存中,解析驱动程序
PE 结构,模拟 PEloader 加载过程,把病毒驱动加载到另外一块非分页内存中执行。病毒驱
动程序hook disk read/write dispatch functions ,保护自身MBR 数据不被恢复。
Mebroot 感染系统后的流程图如下:
Mebroot 感染windows 流程图
(I) MBR
1 通过mov esi,413h // 实模式下bios 中记录的系统内存信息
Sub word ptr[esi],2 减小内存信息,使自身隐藏在系统内存的末端
2 拷贝自身代码到系统内存后2k 的位置
3 读取磁盘60,61 扇区的病毒代码到系统内存后1.5k 的位置
3 Hook int 13 中断,扫描读入的内存是否包含 (8B F0 85 F6 74 21/22 80 3D )特征,有则修
改为0xff15 (call )跳向病毒在60扇区代码
5 加载原windows MBR (62 扇区) ,重新跳向0x7c00 正常引导系统启动
4 在xp 系统下ntldr 被加载运行,当执行到c
您可能关注的文档
最近下载
- 执法工作中存在的问题和不足.docx VIP
- 分析力学PPT课件.ppt VIP
- 生成式人工智能在高中数学课堂中的应用:激发学生探究兴趣的实证研究教学研究课题报告.docx
- 部编版小学五年级道德与法治下册第二单元第5课《建立良好的公共秩序》第二课时(教案).docx VIP
- 2026年中职学校工作计划.docx VIP
- 排列数的综合运用_课件.pptx VIP
- QGW17991-2025《电力安全工作规程变电部分》.pdf VIP
- 西南科技大学处室文件-西南科技大学研究生院.PDF VIP
- iTrust UL33系列UPS系统20-60kVA用户手册(V1.5).pdf VIP
- 新改版教科版六年级下册科学知识点.doc VIP
原创力文档

文档评论(0)