首页
社区
课程
招聘
[原创]一个Bootkit样本的逆向分析
发表于: 2010-1-21 22:54 60850

[原创]一个Bootkit样本的逆向分析

2010-1-21 22:54
60850

样本名为: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,因为其存放于主引导扇区、启动文件之类地方,在操作系统启动之前驻留内存并内核运行之前劫持内核。 ( 这里科普一下哈!)

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

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

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


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (101)
雪    币: 137
活跃值: (435)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发?
123456
2010-1-21 22:57
0
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
终于又看到精华帖了
2010-1-21 23:23
0
雪    币: 189
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
楼上的抬举了。主要之前在看雪里面没见着有人分析过Bootkit类的样本,所以想写点东西,普及一下这项技术。
第一次发文章,写得不好还请大家多多原谅。  
原来自己没发文章的时候老是看人家写的精贴,这次自己亲手写了一次,感觉发文章确实也挺不容易的。感谢各位大虾无私的奉献自己精贴。
2010-1-22 08:38
0
雪    币: 510
活跃值: (433)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
哈,这东西要是普及了,那杀毒软件要吃干饭了。
2010-1-22 12:44
0
雪    币: 28
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
下载收藏,谢谢楼主……
2010-1-22 13:15
0
雪    币: 88
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
下载看看...
2010-1-22 14:30
0
雪    币: 270
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
下载仔细观看,谢谢分享
2010-1-22 15:54
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
LZ辛苦了!
2010-1-22 16:18
0
雪    币: 1024
活跃值: (240)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
10
只能膜拜 无法学习
2010-1-22 16:37
0
雪    币: 339
活跃值: (29)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
我是来顶贴的
2010-1-22 16:39
0
雪    币: 189
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
又与楼上二位见面了,不过这次是在论坛里面。
谢谢各位的支持
2010-1-22 16:50
0
雪    币: 228
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
强帖呀,学习学习!!!
2010-1-22 16:51
0
雪    币: 73
活跃值: (70)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
好好学习一下...
2010-1-22 16:57
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
下载了 慢慢看哈
2010-1-22 18:34
0
雪    币: 388
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
好文章要学习啊,呵呵,谢谢楼主分享
2010-1-23 00:49
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
17
下载了,但是WinRAR解压报错~无语ing~
2010-1-23 13:19
0
雪    币: 189
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
我刚刚把两个文件重新下载了一次,都能正常解压啊。
会不会是你的解压器或者其它地方出问题了
2010-1-23 14:00
0
雪    币: 111
活跃值: (211)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好贴,第一次听说这个词,看看样本...
版主呢?还不设精?
2010-1-23 16:53
0
雪    币: 296
活跃值: (89)
能力值: ( LV15,RANK:340 )
在线值:
发帖
回帖
粉丝
20
支持一下!Word文档里分析还不错,发帖时能把关键的部分贴到论坛来估计吸引的人更多点,比如 HOOK NTLDR/Kernel 的讲解。
Backdoor.Win32.Sinowal 的样本,看virustotal的报告,这个应该比较普及了。
2010-1-24 12:45
0
雪    币: 705
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
http://sourceforge.net/projects/bootkit/
期待快点完成
2010-1-24 13:23
0
雪    币: 189
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
谢谢大牛的点评,第一次写文章,图弄了好一阵,结果还是没传上去。
以后发文章一定多多注意,尽量把关键的部分贴到论坛上。
2010-1-24 13:56
0
雪    币: 445
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
顶一个~下载看看
2010-1-25 11:47
0
雪    币: 99
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
仔细品味
2010-1-27 00:52
0
雪    币: 364
活跃值: (1741)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
天啊,我什么时候有这个能力.
2010-1-27 00:56
0
游客
登录 | 注册 方可回帖
返回
//