首页
社区
课程
招聘
[原创]SSDT Hook的妙用-对抗ring0 inline hook
发表于: 2007-3-10 15:18 231093

[原创]SSDT Hook的妙用-对抗ring0 inline hook

2007-3-10 15:18
231093
收藏
免费 7
支持
分享
最新回复 (186)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
51
细嚼慢咽之......
2007-4-28 12:23
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
52
学习中.....
2007-5-12 00:23
0
雪    币: 231
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdk
53
好文,学习了。
另外一篇ring0 下隐藏进程检测正在学习中,很好的思路
2007-5-12 13:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
54
顶,不得不顶的好贴
2007-5-13 18:55
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
55
病毒编写者在阴笑~好贴!
2007-5-13 20:49
0
雪    币: 50
活跃值: (145)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
56
学习中,纪念
2007-5-15 10:46
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
57
我试了下,不行啊,哪里错了呢。

lkd> dd KeServiceDescriptorTable
80553380  862f0b58 00000000 00000129 861f0ed0
80553390  00000000 00000000 00000000 00000000
805533a0  00000000 00000000 00000000 00000000
805533b0  00000000 00000000 00000000 00000000
805533c0  00002710 bf80c227 00000000 00000000
805533d0  f72eaa80 f6b6a9e0 8628d9a0 806e0f40
805533e0  00000000 00000000 00000000 00000000
805533f0  14b50ac0 01c7b3da 00000000 00000000

lkd> dd 862f0b58 l0x129
862f0b58  80599746 805e6914 805ea15a 805e6946
862f0b68  805ea194 805e697c 805ea1d8 805ea21c
862f0b78  8060b880 8060c5d2 805e1cac 805e1904
862f0b88  805ca928 805ca8d8 8060bea6 805ab334
862f0b98  8060b4be 8059dbbc 805a5786 805cc406
862f0ba8  804ffed0 8060c5c4 8056be64 805353f2
862f0bb8  80604b90 f46335b0 805ea694 80619a56
862f0bc8  805eeb86 80599e34 80619caa 805996e6
862f0bd8  805411f0 80637c9c 805b38bc 80604be0
862f0be8  8060ce48 8056e3ca 8056cc5c 805cb3ca
862f0bf8  805cb102 f4628280 8056e4d8 8060d240
862f0c08  8056e404 f74eaa20 8059a202 f46332c0
862f0c18  f4633440 8060d660 f4633ee0 8060abdc
862f0c28  f4633b2e f4634830 8060cb10 805eef2e
862f0c38  8059a226 80638d78 80638ec8 8060c514
862f0c48  8060bd36 8060c5c4 8056bfaa f4628340
862f0c58  805ea7a0 f46283c0 8056e590 80608b50
862f0c68  f4633710 805e2b4a 8060c5d2 f4628450
862f0c78  8060c5b6 f4628500 805a8eac 805e2cf6
862f0c88  8060baea 8056c076 805abbbe f46285b0
862f0c98  805a18b6 805abb60 805ab6d0 805a8186
862f0ca8  8056e5c4 805c72a0 805be0d6 8058e5d8
862f0cb8  8051de1a 805ee87a 8059a290 805cd59e
862f0cc8  f4628630 805bdebc 805cafc6 805be0c2
862f0cd8  8059a49c 805795e4 f4628e00 f4628650
862f0ce8  8056e5f8 806090b2 80619d56 805abcc6
862f0cf8  805b4d3c 805b1a64 805aa628 805aac00
862f0d08  805a7206 8060c5c4 8056f228 f46286f0
862f0d18  8061ac9c 805b398e 80604ce0 8060cf20
862f0d28  f7a25028 8056cd34 805cb550 f46287d0
862f0d38  8060d318 805ea262 f4633050 805e3542
862f0d48  805e3148 f4633d2e 8060acd6 805ba8aa
862f0d58  805c10aa 805e3560 805e32b8 8060cc32
862f0d68  8063af6a 805bef0a 805ed92c 805e9574
862f0d78  805e9760 805ad78e 80604d98 8056c25c
862f0d88  8060c5d2 8060c5d2 8053c426 80606904
862f0d98  80607564 8056f1c2 805b3a2e 8056f518
862f0da8  80604e60 8056c394 8060bd5e 8056fd94
862f0db8  805cba22 8059a4fa 805c2784 805c1350
862f0dc8  805e3640 80606d02 8060dae2 8056cddc
862f0dd8  f4628870 f4628920 8060d3c0 805b9d84
862f0de8  806196ba 8060db70 80570bde 805ad950
862f0df8  805b5708 8060ad8e 805ba94a 8060c5ee
862f0e08  8060c5a8 f46344c6 80609466 8060ccea
862f0e18  80608d1e f46289d0 805adfd6 805710ce
862f0e28  805c6fec 80541238 8060aa00 80571896
862f0e38  80571e24 8059af82 805a9498 805c8522
862f0e48  8060d4f8 8060aebe 8056d0d4 80638e48
862f0e58  806198ac f4628a80 8059a602 8059b5ca
862f0e68  8059afd2 8059a8ec 805be054 80597b60
862f0e78  80597e8c 805bde62 80604f72 8051e2fa
862f0e88  f4628b10 805ca882 f46347a0 f4628ba0
862f0e98  806183c0 8061848c 80598e7a 8060c5d2
862f0ea8  8060c5d2 f4634b80 8063bb00 8060a8aa
862f0eb8  80606a54 806072c6 8056fa34 80605032
862f0ec8  806050fc 8060d1dc 8060d10c 80638812
862f0ed8  f4635270 805cc732 f4628c30 805b91c8
862f0ee8  f4637cd0 805c189c 805efca8 8060d644
862f0ef8  8056d072 805c96ae 8060d178 8060d0a0
862f0f08  80570bbc 805b563c 8060c872 8060c5a8
862f0f18  80605932 f74f60b0 8060a026 805bdd76
862f0f28  8053552e 806094f8 8060b374 f4628cd0
862f0f38  805714f2 80608b14 805230ac 8060d88e
862f0f48  8060da38 805ca82c f4634750 8060dc5c
862f0f58  805cd29c f4634300 805c8966 805ca9ec
862f0f68  80531c0c 8060c5e0 80579778 f4628dc0
862f0f78  806189fc 8056e9a4 805ac254 805a801c
862f0f88  805f1060 8063857a 805b5d74 805b5c8a
862f0f98  8060d03c 8060cfd8 80572334 80572944
862f0fa8  8059afaa f46335d0 8050289c 8060e0b4
862f0fb8  8060e19e 8060e250 8060e4dc 805c1320
862f0fc8  f4631ae0 f4631af0 f4631b00 f4631b20
862f0fd8  f4631b40 f4631b70 f4631b80 f4631ba0
862f0fe8  f4631bb0 f4631bd0 f4631bf0 f4631c30
862f0ff8  f4631c70

lkd> u nt!ntopenprocess
nt!NtOpenProcess:
805c0e1e 68c4000000      push    0C4h
805c0e23 6890aa4d80      push    offset nt!FsRtlLegalAnsiCharacterArray+0x1ff0 (804daa90)
805c0e28 e8d374f7ff      call    nt!wctomb+0x45 (80538300)
805c0e2d 33f6            xor     esi,esi
805c0e2f 8975d4          mov     dword ptr [ebp-2Ch],esi
805c0e32 33c0            xor     eax,eax
805c0e34 8d7dd8          lea     edi,[ebp-28h]
805c0e37 ab              stos    dword ptr es:[edi]

NtOpenProcess的真正地址应该在805c0e1e,但如上,我列举了所有的地址表(0x129个),都没有看到805c0e1e这个地址啊,是哪里错了呢。
2007-6-21 16:45
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
58
我的系统是xp sp2,

lkd> dd 862f0b58 + 7a * 4
862f0d40  f4633050 805e3542 805e3148 f4633d2e
862f0d50  8060acd6 805ba8aa 805c10aa 805e3560
862f0d60  805e32b8 8060cc32 8063af6a 805bef0a
862f0d70  805ed92c 805e9574 805e9760 805ad78e
862f0d80  80604d98 8056c25c 8060c5d2 8060c5d2
862f0d90  8053c426 80606904 80607564 8056f1c2
862f0da0  805b3a2e 8056f518 80604e60 8056c394
862f0db0  8060bd5e 8056fd94 805cba22 8059a4fa

如楼主所说,NtOpenProcess的地址应该在f4633050这个位置,

lkd> u f4633050
*** ERROR: Module load completed but symbols could not be loaded for \??\C:\WINDOWS\system32\drivers\klif.sys
klif+0x19050:
f4633050 55              push    ebp
f4633051 8bec            mov     ebp,esp
f4633053 6aff            push    0FFFFFFFFh
f4633055 6880d061f4      push    offset klif+0x3080 (f461d080)
f463305a 686c8463f4      push    offset klif+0x1e46c (f463846c)
f463305f 64a100000000    mov     eax,dword ptr fs:[00000000h]
f4633065 50              push    eax
f4633066 64892500000000  mov     dword ptr fs:[0],esp

为什么不是呢。
2007-6-21 16:53
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NaX
59
klif.sys 已经替换了NtOpenProcess的SSDT,所以你在系统服务表上找不到NtOpenProcess的真实地址。就是说NtOpenProcess的SSDT已经被klif.sys HOOK了。
2007-6-21 17:16
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
60
原来是卡巴惹的祸。

试了,OK没问题。
2007-6-21 20:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
61
郁闷啊.怎么我在驱动里面使用JMP [jumpaddress]就蓝屏幕呢.
2007-6-25 10:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
62
新来的,学习一下
2007-6-26 21:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
63
你好,我将此文章转载到
http://bbs.8855.com.tw/viewthread.php?tid=60913&extra=page%3D1
我会常常过来,如果不给转贴,只要注明,我立刻删帖,
我会在文章上注明文章出处以及发帖人
2007-8-13 01:53
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
64
在xp sp2下, 有所变化。

lkd> u nt!NtOpenProcess
nt!NtOpenProcess:
805751e6 68c4000000       push    0xc4
805751eb 68d8b04e80       push    0x804eb0d8
805751f0 e846e2f6ff       call    nt!CIsqrt+0x2da (804e343b)
805751f5 33f6             xor     esi,esi
805751f7 8975d4           mov     [ebp-0x2c],esi
805751fa 33c0             xor     eax,eax
805751fc 8d7dd8           lea     edi,[ebp-0x28]
805751ff ab               stosd
2007-8-13 16:11
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
65
在xp sp2下, 有所变化。

lkd> u nt!NtOpenProcess
nt!NtOpenProcess:
805751e6 68c4000000       push    0xc4
805751eb 68d8b04e80       push    0x804eb0d8
805751f0 e846e2f6ff       call    nt!CIsqrt+0x2da (804e343b)
805751f5 33f6             xor     esi,esi
805751f7 8975d4           mov     [ebp-0x2c],esi
805751fa 33c0             xor     eax,eax
805751fc 8d7dd8           lea     edi,[ebp-0x28]
805751ff ab               stosd
2007-8-13 16:12
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
66
不同的操作系统下,地址有所变化,61楼蓝屏的话,基本问题就出在这里。
2007-8-13 16:13
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
67
呵呵。写外挂的吧.对NP有一定的研究,不过NP现在基本上就是纸老虎了.
2007-8-24 10:25
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
68
有技术含量,学习了
2007-8-24 13:21
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
69
佩服,顺便BS一下NP,这个东西的存在导致本来要求很低的游戏,TNND有了它慢的要死
2007-8-26 21:54
0
雪    币: 210
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
70
晕 都是高手啊 NP都成纸老虎了~
2007-8-27 02:06
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
71
呵呵,谢谢,觉得收获不小。
2007-8-30 18:15
0
雪    币: 356
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
72
最新的NP有个特点,但恰恰是是这个特点,让楼主的方法不再适用。他会在应用程利用再次载入ntkrnlpa.exe的方法获得NTOpenProcess的函数入口地址偏移,让后通过DeviceIoContrl把这些数据作为参数传到驱动层,容而把SSDT中NTOpenProcess对应的函数指针填成初始函数指针。简单的说就是,他会不断把SSDT中关键函数的函数指针都恢复到系统未被任何rookit HOOK之前的状态,然后他才利用inline jmp的方式进行HOOK。而且这种行为会不定期的反复执行。
2007-8-31 15:59
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
73
我楼上的才是高手
2007-9-3 20:37
0
雪    币: 178
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
74
堕落天才真的很牛吗
2007-9-3 21:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
75
不错不错,正好研究
2007-9-14 15:24
0
游客
登录 | 注册 方可回帖
返回
//