Hmily 发表于 2010-3-23 11:50

一个Bootkit样本的逆向分析

标 题: 【原创】一个Bootkit样本的逆向分析
作 者: denglifeng
时 间: 2010-01-21,22:54:21
链 接: http://bbs.pediy.com/showthread.php?t=105669

样本名为:1.exe
Bootkit类型: 基于MBR的Bootkit
分析过程用到的相关知识: 保护模式和实模式下汇编语言、BIOS中断服务、多级HOOK技术、内核、NTLDR等等
分析用到的工具:IDA(主要静态分析Bootkit)、Windbg和Bochs(主要是用于动态调试这个Bootkit)

首先介绍一下这个样本黑盒后的症状: 感染MBR(感染的具体形式为:真正的MBR被挪到了第63个扇区,Bootkit启动模块的代码在第1、61、62个扇区。);直接在硬盘上写入了一个驱动(这种写入不是普通的在磁盘上释放一个文件,在系统的文件系统里面是看不见这个驱动的,在我实验的虚拟机上是写入了未分区的空间中,通过Winhex工具可以查看到);生成一个DLL并运行然后10分钟后自动关机。以上这些是黑盒后主要的特征,还有些特征这里不再细说了。

Bootkit的相关概念: Bootkit是一种比较新的技术,这个概念最早是在2005年由eEye Digital安全公司在他们的“BootRoot"项目中提及的。所有在开机时比Windows内核更早加载,实现内核劫持的技术,都可以称之为Bootkit。Bootkit主要是利用其内核准入和开机过程的隐身技术,在功能上无异于Rootkit。传统的Rootkit利用系统启动时提升权限,而Bootkit主要被安置在外设的主引导扇区(也有放于Ntldr文件、BIOS中的Bootkit)并驻留在整个系统的启动过程。Bootkit属于Rootkit的一种,但它却是更加高级的Rootkit,因为其存放于主引导扇区、启动文件之类地方,在操作系统启动之前驻留内存并内核运行之前劫持内核。 (http://bbs.pediy.com/images/smilies/tongue.gif 这里科普一下哈!)

本文主要是分析这个Bootkit样本启动模块的代码。也就是感染MBR后第1、61、62个扇区的代码。这三个扇区的代码中,第1个扇区的代码是实模式下的汇编语言,第61、62个扇区是保护模式下的汇编语言,所以在用IDA分析的时候要进行选择,至于这三个扇区的代码我是直接用Winhex截取出来然后进行逆向分析的。
这个Bootkit的启动代码主要用了三级HOOK,分别为HOOK INT13h、HOOK NTLDR的特征码,HOOK内核的特征码。下面将主要分析这三级HOOK的行为。

由于分析的过程有点多,在加上第一次发帖,图不知道怎么弄上去,所以具体的分析过程在附加里面。第一次发文章,写得不好,大家不要向我扔砖头哈!http://bbs.pediy.com/images/smilies/tongue.gif

附件的内容为:Bootkit样本和Bootkit分析的文档

zq784161329 发表于 2010-3-23 14:41

沙发:lol…………

kongzi 发表于 2010-3-23 15:08

黑米粒的强帖,留名一下:lol

hixiaosheng 发表于 2010-3-23 18:50

现在才知道什么叫做没时间,来了认真的看。。。

心中的雪 发表于 2010-5-25 22:54

这文我看着眼熟,好像是MJ0011 在安全焦点峰会上的演讲题文

check081 发表于 2010-5-26 22:34

支持楼主。学习了

douforster 发表于 2010-5-27 12:09

现在bootkit越来越流行了。

叶宝平 发表于 2010-5-30 16:18

看不懂啊。

hw2619 发表于 2010-5-30 16:20

用到好多东西啊,太深奥了

ftdhd 发表于 2010-5-30 20:55

管理员真强, 学习了。
页: [1] 2 3
查看完整版本: 一个Bootkit样本的逆向分析