首页
论坛
课程
招聘
[原创]某安全卫士的内核hook
2011-11-25 20:04 49643

[原创]某安全卫士的内核hook

2011-11-25 20:04
49643
思路:
1、自己分配一块内存,存放需要hook的函数地址。
2、从内核模块中读取相应内核函数的地址,然后存放在自己分配的内存中。
3、修改nt!KiFastCallEntry函数中的代码,使跳入自己的驱动模块中。

优点:坚决不修改ssdt和内核模块中的数据,使得一般的工具软件无法检查出hook信息,也避免了和其他软件的不兼容性。

详细情况,请看图:

正常状态


hook后


下面是如何解除360的hook,看图:




驱动在 explorer.rar 中,此驱动只在win7 32位下测试过,可用。
        // 解除360的hook
        if( !NT_SUCCESS( KillHookPort() ) )
        {
                KdPrint( ( "解除360的hook失败!" ) );
        }
        else
        {
                KdPrint( ( "解除360的hook成功!" ) );
        }

2021 KCTF 秋季赛 防守篇-征题倒计时(11月14日截止)!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (58)
雪    币: 2136
活跃值: 活跃值 (402)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-11-25 20:54
2
0
楼主火星了。。
雪    币: 516
活跃值: 活跃值 (248)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 活跃值 5 2011-11-25 21:49
3
0

没怎么在论坛里混,最近打算自己研究些东西,就当是笔记,,呵呵
雪    币: 107
活跃值: 活跃值 (113)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
njxxdx 活跃值 2011-11-26 14:00
4
0
360的HookPort驱动。。。。。
雪    币: 727
活跃值: 活跃值 (443)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
莫灰灰 活跃值 9 2011-11-26 14:17
5
0
N年前就被逆烂了..
雪    币: 516
活跃值: 活跃值 (248)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 活跃值 5 2011-11-27 01:05
6
0
别人逆过它是别人的事
我研究它是我的事。。。。
雪    币: 1480
活跃值: 活跃值 (68)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
cntrump 活跃值 13 2011-11-27 09:51
7
0
实习版主也是版主,不能说带有轻蔑语气的话。
雪    币: 154
活跃值: 活跃值 (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jet_coder 活跃值 2011-11-27 10:16
8
0
地球人都知道的事情...
雪    币: 50
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kongfei 活跃值 2011-11-27 10:23
9
0
过来顶一个,支持楼主走自己的路
雪    币: 29
活跃值: 活跃值 (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
糊涂蛋 活跃值 2011-11-27 10:44
10
0
LZ,我支持你 一个 ,很好 。
雪    币: 29
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
comcsu 活跃值 2011-11-27 10:54
11
0
LZ我**,学习是从基础开始的
雪    币: 54
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ilovehuhu 活跃值 2011-11-28 09:55
12
0
就是,不能打击菜鸟的积极性,毕竟是大家共同维护的地方,看雪论坛就似我的一日三餐,少不得。
雪    币: 579
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ydfivy 活跃值 2011-11-28 15:33
13
0
好文。支持楼主。
雪    币: 463
活跃值: 活跃值 (15)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
KiDebug 活跃值 4 2011-11-28 16:09
14
0
精华不在于此
雪    币: 181
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
殁十一 活跃值 2011-11-28 16:21
15
0
真好 ..
雪    币: 516
活跃值: 活跃值 (248)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 活跃值 5 2011-11-28 16:24
16
0

谢谢各位的支持
我只是分享下我的东西,希望能帮助到大家。
另外,别人逆的都是以前的版本,跟现在的版本多半会有所不同(很显然,360很s13,这么久都没变过);
还有,自己逆一遍肯定收获会更多,
所以必须自己搞。。。

其实逆向真的很简单,把它当作工具就好了,我只会点儿汇编都能逆出来。呵呵
雪    币: 57
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rgpwoaini 活跃值 2011-11-28 16:41
17
0
<<<<<
优点:坚决不修改ssdt和内核模块中的数据,使得一般的工具软件无法检查出hook信息,也避免了和其他软件的不兼容性。
详细情况,请看图:
>>>>>

我想他已经修改了内核模块数据

其实使用 HOOK THREAD SSDT 会更加隐蔽  

并且本人软件使用过该方法了 兼容性 稳定性都可以
雪    币: 516
活跃值: 活跃值 (248)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 活跃值 5 2011-11-28 16:45
18
0
ls的,代码搞出来撒,
雪    币: 516
活跃值: 活跃值 (248)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 活跃值 5 2011-11-28 16:47
19
0
没有看到它修改内核模块数据

我现正在偷窥360的各个功能,感觉很良好哈,

雪    币: 57
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rgpwoaini 活跃值 2011-11-28 17:16
20
0
kifastcall 不是内核模块中的?

再就是如此明显的HOOK  任何 ark工具一搜就到

HOOK THREAD 就不公布源码了  因为本人软件正使用中(商业版)  可以给提示

看thread结构

之前网络上看到过 关于这方面的介绍但没见到过源码  

不过网络上提供的思路是 修改thread里面的 ssdt指针  但是却缺少了最重要的一点   
就是kifastcall里面线程 ssdt指针与 shadow指针 的转换  很要命这点克服就可以OK了

可以将整个kifastcall 逆向一下分析看看就会发现其实ssdt表的获取并非通过KeServiceDescriptorTable

此方法做到不修改任何内核原始数据  并且可以指定某个进程线程的 SSDT恢复&HOOK
雪    币: 75
活跃值: 活跃值 (250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luzhmu 活跃值 2011-11-28 17:49
21
0
我是绝对支持开源的,楼主,俺们支持你
雪    币: 388
活跃值: 活跃值 (387)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wowocock 活跃值 1 2011-11-28 18:55
22
0
该 方法 在ROOTKIT.COM被人提及过,属于DKOM ,替换ETHREAD表里的SSDT表,思路不错,不过一样受到360hook的限制。
雪    币: 57
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rgpwoaini 活跃值 2011-11-29 02:01
23
0
嗯确实  其实安全软件的控制 仅限于 没有进入内核之前 如果可以的话只要木马或是黑客 可以进入R0

那杀软的很多功能将会失效 并且很轻易就可以kill掉。就比如绕ssdt  

所以我感觉杀毒其实更应该叫做防毒软件   因为病毒一旦能够进入,说明早已做好了充足准备

尤其是能在杀毒软件开启的状态下

其实想想那些每天挖漏洞过安软的牛人 就由心的对其“孜孜不倦”的钻研精神佩服有加

(不知道是不是完全的利益驱使)
雪    币: 33
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PEBOSS 活跃值 2011-11-29 03:59
24
0
以前看代码的时候,也有过这种想法

没想到的是真的可以实现啊

佩服佩服
雪    币: 2100
活跃值: 活跃值 (392)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yyqkxxy 活跃值 2011-11-29 05:53
25
0
支持楼主。写得非常好
游客
登录 | 注册 方可回帖
返回