首页
社区
课程
招聘
[原创]SMM Rootkit初步 - 读写SMRAM(带你迈入CPU级Rootkit之门)
发表于: 2009-3-29 14:37 49973

[原创]SMM Rootkit初步 - 读写SMRAM(带你迈入CPU级Rootkit之门)

2009-3-29 14:37
49973
收藏
免费 7
支持
分享
最新回复 (79)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
只要第四位的D_LCK不为1

=================================

这样的主板有多少?如果是我,我就一定lock。
2009-3-30 20:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
和那个cpu smm漏洞一样可笑。
居然还有这么多人狂吹
2009-3-30 20:17
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
28
老的很多没LOCK,即使SMM LOCK了,TOP_SWAP也有众多没LOCK~
2009-3-30 20:24
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
29
看Intel的说法,修补好像是要BIOS配合才行,也就是等BIOS完成SMRAM初始化后才D_LCK置1,个人感觉可以从BIOS下手。
另外,一般BIOS会比主板的生产时间更早,导致新的主板也可能没LOCK。
2009-3-30 21:09
0
雪    币: 236
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
望尘莫及啊!奋力追。。。
2009-3-30 21:27
0
雪    币: 260
活跃值: (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
31
好强大 向lz学习 拿回家慢慢研究
2009-3-30 22:06
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
32
占个位子,学习
2009-3-30 22:16
0
雪    币: 268
活跃值: (40)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
33
太强了,只有支持的份了
2009-3-30 22:16
0
雪    币: 308
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
34
楼主给我提供了有多学习的地方呀!!支持!!
2009-3-30 23:29
0
雪    币: 238
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
35
楼主的动手能力很强啊
2009-3-31 08:50
0
雪    币: 183
活跃值: (282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
狂頂下。。。studying
2009-3-31 09:06
0
雪    币: 226
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
hao!
2009-3-31 09:27
0
雪    币: 1334
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
08年以后的主板还添加另一块芯片, 用于Intel提出的TXT计划
2009-3-31 09:53
0
雪    币: 296
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
39
曾经看到一篇文章:Intel曾在2008年8月对SMM进行过一次BIOS升级修复,但问题依旧。

楼主很厉害啊。

从phrack中文章摘录的内容:

Intel处理器手册卷三说明说明的四种模式转换:

   -------------------                    SMI (interrupt)
      |->|Real Address Mode| -------------------------------------------|
      | ------------------- <----------------------------------|       |
      | | PE=1    ^ PE=0 (requires ring0) or                   |rsm or |
      | v         | reset                                      |reset V
      | -------------------                                    ---------
reset | | Protected Mode | -------> SMI (interrupt) ------> | SMM Mode |
      | ------------------- <------- rsm instruction <------   ---------
      | | VM=1    ^ VM=0                                       |       ^
      | v         |                                            |rsm    |
      | ------------------- <----------------------------------|       |
      |- |Virtual 8086 Mode| -------------------------------------------|
         -------------------                    SMI (interrupt)

(1) PE 和 VM是CR0里的标志位。
(2) 其他三中操作模式在SMI中断都可以切换到SMM模式。
(3) SMM模式通过发出一个rsm指令返回到前一个操作模式。
(4) rsm指令只有smm模式中使用。
(5) SMM里分页机制不可用, 但可以访问所有物理内存。
(6) SMRAM开始于SMBASE,占0x1FFFF 字节(如使用扩展的SMRAM,这个数值将更大). SMBASE默认为0x30000, 实际上是0xA0000(视频卡的I/端口也重定向到此地址)
(7) 内存控制Hub有一个称为SMRAM控制寄存器.

                -----------------
SMBASE+0x1FFFF  |                 |
                |                 |
                |                 |
                |                 |
SMBASE+0xFFFF    -----------------
                |                 |
                | State save area |
                |                 |
SMBASE+0xFE00    -----------------
                |                 |
                | Code,Heap,Stack |
                |                 |
SMBASE+0x8000    ----------------- ----> First SMI Handler instruction
                |                 |
                |                 |
                |                 |
SMBASE=0xA0000   -----------------

也上传一个pci管理库,开源的代码,可以支持windows,linux等。我在linux使用的,不知道windows支持怎么样,大家看看,还有源代码哦! 把zip 后缀改为tgz,然后解压缩。
上传的附件:
2009-3-31 15:59
0
雪    币: 296
活跃值: (89)
能力值: ( LV15,RANK:340 )
在线值:
发帖
回帖
粉丝
40
libpci(pciutils)在Windows下其实也是用的WinIO库,具体怎么用没仔细看,不过想来用这个读写PCI配置空间会比较简单。
至于如何进入SMM模式我现在也没看懂,网上搜到N多触发SMI的方法,结果都没试出来...

看来我太浮躁了,回头要好好看看Intel IA-32处理器手册SMM相关部分
2009-3-31 20:21
0
雪    币: 239
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
2009-3-31 23:34
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
42
很遗憾。。:(
2009-4-1 17:38
0
雪    币: 729
活跃值: (1195)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
43
触发SMI的方法,不是这个吗?
asm("push %rax\n"
            "xor %rax, %rax\n"
            "outb %al, $0xb2\n"
            "pop %rax");
2009-4-2 10:54
0
雪    币: 471
活跃值: (4053)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
44
感觉很底层了,了解一下这方面的知识
2009-4-3 21:35
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
楼主挺牛的,这玩意对搞单片机的人应该相对容易一些
2009-4-4 18:02
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
46
dingaaaaa
2009-4-4 19:49
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
人才啊..
学习中..
2009-4-5 13:17
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
学习 好强大哦 都做到CPU去了~
2009-4-23 11:16
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
好好好好好好
2009-4-30 17:31
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
不错,读得很有感觉,学习.
另外,楼上的图不错.也很有感觉.
2009-6-4 23:30
0
游客
登录 | 注册 方可回帖
返回
//