首页
社区
课程
招聘
[旧帖] [求助]有检测的SSDT HOOK该如何恢复的哦? 0.00雪花
发表于: 2011-1-1 11:59 1641

[旧帖] [求助]有检测的SSDT HOOK该如何恢复的哦? 0.00雪花

2011-1-1 11:59
1641
有检测被HOOK了的函数是否被恢复,恢复了的话就又让他重新HOOK掉了
他的用的是SSDT HOOK我该如何过去他的这个检测的呢?
谢谢各位大侠指点一下吧

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 149
活跃值: (101)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
簡單的說,你要繞過原先程式HOOK的地方,所以你的HOOK要比它的HOOK字节多
以ntOpenProcess為例,在WinDbg中看到的原型是:

lkd> u 8057559e
    nt!NtOpenProcess:
    8057559e 68c4000000      push    0C4h
    805755a3 6860b54e80      push    offset nt!ObReferenceObjectByPointer+0x127 (804eb560)
    805755a8 e8e5e4f6ff      call    nt!InterlockedPushEntrySList+0x79 (804e3a92)
    805755ad 33f6            xor     esi,esi
    原来8057559e就是NtOpenProcess函数所在的起始地址。  
    嗯,如果我们把8057559e改为指向我们函数的地址呢?比如 MyNtOpenProcess,那么系
    统就会直接调用 MyNtOpenProcess,而不是原来的NtOpenProcess了。
    这就是SSDT HOOK 原理所在。

JMP到自己的监视函数,做一些判断然后再JMP回去。一般都是修改函数头,我们来点实际的吧:
     lkd> u nt!NtOpenProcess
     nt!NtOpenProcess:
     8057559e e95d6f4271      jmp     f199c500
     805755a3 e93f953978      jmp     f890eae7
     805755a8 e8e5e4f6ff      call    nt!InterlockedPushEntrySList+0x79 (804e3a92)
     ...
     同时打开“冰刃”跟“Rootkit Unhooker”我们就能在NtOpenProcess函数头看到这样的“奇观”,第一个jmp是“冰刃”的,第二个jmp是“Rootkit Unhooker”的。(冰刃和Rootkit Unhooker一直改版,不保證你現在看到的是這樣,我只是給個例子)

※對冰刃來說它只動了5個字节,但對Rootkit Unhooker來說,它動了10個字节,現在你自己写一个替换的内核函数,以NtOpenProcess为例,就是 MyNtOpenProcess。然后修改SSDT表,让系统服务进入自己的函数MyNtOpenProcess。
而MyNtOpenProcess要做的事就是,实现NtOpenProcess前10字节指令,然后再JMP到原来的NtOpenProcess的10字节后。而當初Rootkit Unhooker的作者則只要实现NtOpenProcess前5字节指令,然后再JMP到原来的NtOpenProcess的5字节后,因為他只要pass過冰刃的Hook,而你要pass過冰刃+Rootkit Unhooker的Hook,因為它們被pass掉了,不是被 "修復" 所以就不會在自我檢測發現被動了手腳又再Hook回來,你的目的就達到了
2011-1-1 13:03
0
雪    币: 615
活跃值: (530)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
这二楼等于没回答啥,SSDT HOOK,等到执行到真正的NtOpenProcess,OD的打开进程已经被过滤掉了,,,,,我也想知道答案,不能修改中断服务描述表,也不能修改HOOK者的代码,比如改JMP,它有检测
2011-2-18 22:28
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
你hook OD的NtOpenProcess,然后改成DeviceIoControl方式的...
2011-2-19 05:51
0
游客
登录 | 注册 方可回帖
返回
//