首页
社区
课程
招聘
[原创] 巧妙利用ptehook的特性重建创建调试的调试通道
发表于: 2026-9-5 15:37 3125

[原创] 巧妙利用ptehook的特性重建创建调试的调试通道

2026-9-5 15:37
3125

前几天不是发了一个利用npt hook重建调试通道的文章:https://bbs.kanxue.com/thread-292825.htm
虽然是老掉牙的技术,但是反响意外的还不错
为了脱壳,这几天在研究创建调试时,发现npt hook一个不可避免的事情,效率太差了,尤其是在虚拟机里。。。
创建调试需要hook两个及其高频的函数:
NtCreatUserProcess,DbgkCreateThread
前者还好,是ssdt里的函数,我们可以用etw hook,效率还行
DbgkCreateThread就糟糕了,他不是ssdt里的函数,而且创建线程这种这种事情几乎是无时无刻不在发生,一hook就卡的系统不能用,我只能另寻其他hook
因为有pg,能够hook这些未导出的内核函数的hook太少了,可以的话我还是不希望搞打pg这么麻烦的事
有没有一种只能针对一个进程的内核函数hook呢?这样子还能避免高频调用导致的系统卡顿
于是我想到ptehook

参考:df1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5P5W2)9J5k6h3q4D9K9i4W2#2L8W2)9J5k6h3y4G2L8g2)9J5c8X3&6W2N6%4y4Q4x3V1j5I4z5o6V1&6z5b7`.`.
值针对一个进程,不会pg。。。ptehook就是一种挺完美的办法。。吗?
让我们回忆创建调试,调试器调用完NtCreatUserProces,把创建的进程的第一次线程放入等待队列,然后就跑路了,此时是等待cpu去第一次调度
但是对于被调试进程,我们至少要hook DbgkpQueueMessage DbgkForwardException KiDispatchException,难道说我们要抢先cpu第一次调度之前去hook?这显然不可能
但是我突然想起之前调试ptehook时发现的奇怪现象:
我们hook explorer进程的NtCreateFile给hook了,如果检查到参数是tips.txt,就会返回无权限
也就是我们无法打开tips.txt了
我们隔离了exploere.exe,用他打开tips.txt。。。打不开,超级正常
但是我们在桌面双击启动我安装好的notpad++,然后把tips.exe打开。。。打不开????
我们在windbg里切换到notpad++的上下文,使用命令u NtCreateFile,竟然第一条时jmp!这不是明显给hook过了
但是假如你在hook前提前启动一个cmd,然后装载驱动,然后用cmd启动notpad++,欸嘿,正常打开
后来拷打ai发现其原因是:
pml4t具有继承关系,注意我们“在桌面”启动,这时候其实就是explorer启动了notpad++,操作系统为了速度,直接复制了启动者高位的pml4e给他,导致他的也继承了hook了
这太好了,这样子我们的调试器调用NtCreatUserProces创建进程时,也会继承我们的hook
于是我拷打ai,烹饪出来成品:


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 2026-9-5 15:41 被Qmeimei10086编辑 ,原因:
收藏
点赞 ・77
打赏
分享
最新回复 (50)
雪    币: 6
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2 楼
感谢分享
2026-9-5 18:43
0
雪    币: 3580
活跃值: (7989)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3 楼
看看
2026-9-5 19:19
0
雪    币: 1
活跃值: (498)
能力值: ( LV2,RANK:11 )
在线值:
发帖
回帖
粉丝
4 楼
感谢分享
2026-9-5 19:35
0
雪    币: 82
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5 楼
看看
2026-9-5 22:48
0
雪    币: 0
活跃值: (339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6 楼
看看
2026-9-6 12:52
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7 楼
牛逼
2026-9-6 13:06
0
雪    币: 153
活跃值: (1808)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8 楼
牛逼
2026-9-6 13:12
0
雪    币: 113
活跃值: (2170)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9 楼
look look
2026-9-6 17:27
0
雪    币: 188
活跃值: (1193)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10 楼
NB
2026-9-6 17:37
0
雪    币: 827
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11 楼
学习学习
2026-9-6 18:27
0
雪    币: 1999
活跃值: (371)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12 楼
学习学习
2026-9-6 20:56
0
雪    币: 97
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13 楼
mark
2026-9-6 23:09
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14 楼
666
2026-9-6 23:24
0
雪    币: 2790
活跃值: (7191)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
15 楼
感谢你分享
2026-9-7 07:06
0
雪    币: 12
活跃值: (940)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16 楼
学习学习
2026-9-7 13:32
0
雪    币: 28
活跃值: (1480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17 楼
6666666666
2026-9-7 13:51
0
雪    币: 255
活跃值: (1042)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18 楼
6666666666
2026-9-7 16:11
0
雪    币: 0
活跃值: (4920)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19 楼
look look
2026-9-7 22:48
0
雪    币: 410
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20 楼
感谢分享
2026-9-8 09:59
0
雪    币: 1908
活跃值: (7519)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
21 楼
1
2026-9-8 10:32
0
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22 楼
6666666666666666666666
2026-9-8 20:51
0
雪    币: 144
活跃值: (2738)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23 楼
666
2026-9-9 01:48
0
雪    币: 290
活跃值: (235)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24 楼
6
2026-9-9 14:01
0
雪    币: 2898
活跃值: (3498)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25 楼
66666666
2026-9-9 17:43
0
游客
登录 | 注册 方可回帖
返回