首页
社区
课程
招聘
[求助]请教个问题,除了SSDThook,r0inlinehook,还有哪些可以防止进程被打开的?
发表于: 2008-12-25 05:30 14331

[求助]请教个问题,除了SSDThook,r0inlinehook,还有哪些可以防止进程被打开的?

2008-12-25 05:30
14331
希望哪为大大解答一下,除了在内核态HOOKSSDT的NtOpenProcess, NtOpenProcess的函数头加jmp,加过滤函数来防止进程被打开,还有什么方法或者钩什么函数可以防止进程被打开呢?

R3的不算啊,呵呵!!!

希望提供点资料,谢谢了!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (36)
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
2
ObOpenObjectByPointer
ZwDuplicateObject/Handle
不过都是比较浅的函数...下面的自己看WRK去...我也不是很清楚...
2008-12-25 10:18
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
3
hook ObCheckObjectAccess
2008-12-25 10:21
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
Object Hook
2008-12-25 11:16
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢楼上的3位,很高兴又长见识了,我现在还没去试过,==试下.

本来是想知道,有什么方法在打开进程时让他返回句柄是0的,前2天看RkU3.7的时候打不开他的进程,一直反回0也没见被钩,看他在进程里说明,自己的RkU3.7进程在用户层无法进入,不知道是怎么实现的,本像是不是在CreateProcess函数有个带安全参数的,以为是这个,也没用过不知道,呵呵,

希望知道的说下,RkU3.7他是怎么不让打开进程的.
2008-12-25 14:05
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
6
inline hook NtOpenProcess NtOpenThread, NtDuplicateObject
2008-12-25 14:41
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我先去看下是否HOOK了这些函数,NtOpenProcess前10字节没被JMP,windbg我看了下!
2008-12-25 14:52
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
弄错了,谢谢楼上,他确实HOOK了这3个函数,但是我SSDT饶过了这3个函数,还是打不开他的进程!
2008-12-25 14:58
0
雪    币: 27
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
360safebox的做法
学习~~
2008-12-25 15:07
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
10
只是个临时做法~

系统创建句柄,无论是open,还是dup都会调用这个~
2008-12-25 15:08
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼上的,调用"这个",这个是指哪个,我没明白,晕!!不好意思!
2008-12-25 15:12
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=;]...[/QUOTE]
MJ看看, 是不是这样的顺序:
ObOpenObjectByPointer(name)-> ObpCreateHandle->ObpIncrementHandleCount->  ObCheckObjectAccess?
2008-12-25 16:17
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
ObCheckObjectAccess这个该怎么取址哦,楼上的是你这样取吗?
2008-12-25 16:34
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
14
[QUOTE=;]...[/QUOTE]
我说的不是取地址,是说按这个顺序调用的。要取地址特征码之~
2008-12-25 17:31
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
ObOpenObjectByPointer(name)-> ObpCreateHandle->ObpIncrementHandleCount->  ObCheckObjectAccess

那照你这样说,是不是这4个函数每个函数被HOOK了,都有可能防止进程被打开?

2楼说的ObOpenObjectByPointer,3楼说的ObCheckObjectAccess.如果按你调用来,那中间2个也是可以HOOK的了?
2008-12-25 17:51
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
能说下,如何取ObOpenObjectByPointer,这些函数的地址吗?
2008-12-25 17:56
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
17
[QUOTE=;]...[/QUOTE]
这个倒没试过,估计是可以绕过吧?比如dup法,或者这个函数比较好判断来头是谁?纯属yy。我试验后再看看吧~
2008-12-25 17:57
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
18
http://bbs.pediy.com/showthread.php?t=67286&tcatid=118
2008-12-25 17:59
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
19
ObCheckObjectAccess本身就导出了
2008-12-25 18:02
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
20
我又犯错了……笔记之
2008-12-25 18:07
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
谢谢你,看了他的我找了下ObOpenObjectByPointer这个函数也看了下没有被HOOK,

就剩ObCheckObjectAccess这个函数了,不知道有没被钩
2008-12-25 19:42
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
彻底崩溃了,看了以上大家提出的那些函数,我全部看了下,没有一个被HOOK了,

ObOpenObjectByPointer      ObCheckObjectAccess   这2函数也看了,没被HOOK

ObpCreateHandle    ObpIncrementHandleCount
这2个函数没导出,所以没能力去看了!!

大家看看还有什么可能呢?RkU3.7到底是怎么保护自己的呀!
2008-12-25 20:04
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
哎,烦死了

就直接点RkU3.7他是怎么保护他自己的进程的.使用户层无权打开他的进程呢?

ObOpenObjectByPointer  , ObCheckObjectAccess ,  NtOpenProcess,NtDup...

都看了...

像冰刃的r0HOOK,RkU3.7用的是啥呀!今天蓝脸一天了!
2008-12-25 20:12
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
nt!ObOpenObjectByPointer:
805bbaa8 8bff            mov     edi,edi
805bbaaa 55              push    ebp
805bbaab 8bec            mov     ebp,esp
805bbaad 81ec94000000    sub     esp,94h
805bbab3 53              push    ebx
805bbab4 8b5d08          mov     ebx,dword ptr [ebp+8]
805bbab7 56              push    esi
805bbab8 57              push    edi
805bbab9 ff751c          push    dword ptr [ebp+1Ch]
805bbabc 33ff            xor     edi,edi
805bbabe ff7518          push    dword ptr [ebp+18h]
805bbac1 897dfc          mov     dword ptr [ebp-4],edi
805bbac4 57              push    edi
805bbac5 53              push    ebx
805bbac6 e819b7f6ff      call    nt!ObReferenceObjectByPointer (805271e4)
805bbacb 8bf0            mov     esi,eax
805bbacd 3bf7            cmp     esi,edi
805bbacf 0f8c84000000    jl      nt!ObOpenObjectByPointer+0xb1 (805bbb59)

---------------------------------------------------------------------------------
nt!ObCheckCreateObjectAccess:
805c018e 8bff            mov     edi,edi
805c0190 55              push    ebp
805c0191 8bec            mov     ebp,esp
805c0193 83ec0c          sub     esp,0Ch
805c0196 8b4508          mov     eax,dword ptr [ebp+8]
805c0199 53              push    ebx
805c019a 56              push    esi
805c019b 8b70f0          mov     esi,dword ptr [eax-10h]
805c019e 8d4df4          lea     ecx,[ebp-0Ch]
805c01a1 51              push    ecx
805c01a2 8d4d08          lea     ecx,[ebp+8]
805c01a5 51              push    ecx
805c01a6 33db            xor     ebx,ebx
805c01a8 50              push    eax
805c01a9 895df8          mov     dword ptr [ebp-8],ebx
805c01ac 895dfc          mov     dword ptr [ebp-4],ebx
805c01af e83ef9ffff      call    nt!ObGetObjectSecurity (805bfaf2)
805c01b4 3bc3            cmp     eax,ebx
805c01b6 7d09            jge     nt!ObCheckCreateObjectAccess+0x33 (805c01c1)
2008-12-25 20:17
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
25
RKU 会不断恢复自己的钩子
2008-12-25 20:46
0
游客
登录 | 注册 方可回帖
返回