通过ObReferenceObjectByHandle了解进程句柄三张表

1.获取句柄结构

第一步在代码中加入断点,并运行到断点出
在这里插入图片描述
第二步进入按F11跟进ObReferenceObjectByHandle后在跟进ObpReferenceObjectByHandleWithTag
在这里插入图片描述
在这里插入图片描述
查看300行汇编代码,保存到nodepad++
在这里插入图片描述
用notepad++检索ObpKernelHandleTable查看,进程结构共有三处,说明有三张表。2在第一张表处加断点,并按g执行到该断点处。
在这里插入图片描述
验证寄存器保存的地址是否是正确的进程表结构。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
4.查看_HANDLE_TABLE
在这里插入图片描述

2.查看句柄拿来干什么了

1.OBJECT_HANDLE_INFORMATION->GrantedAccess保存了权限信息,我们需要获得在哪里取得的这个权限信息。ba r4 info+4:在读取info+4的4字节处下断点最后会反推出三张表。反汇编代码如下

1: kd> u rip l 300
fffff805`4a4cee3e 53              push    rbx
fffff805`4a4cee3f 55              push    rbp
fffff805`4a4cee40 57              push    rdi
fffff805`4a4cee41 4154            push    r12
fffff805`4a4cee43 4155            push    r13
fffff805`4a4cee45 4157            push    r15
fffff805`4a4cee47 4883ec58        sub     rsp,58h
fffff805`4a4cee4b 654c8b3c2588010000 mov   r15,qword ptr gs:[188h]
fffff805`4a4cee54 488be9          mov     rbp,rcx
fffff805`4a4cee57 4c8ba424b8000000 mov     r12,qword ptr [rsp+0B8h]
fffff805`4a4cee5f 33c9            xor     ecx,ecx
fffff805`4a4cee61 4c8bac24c8000000 mov     r13,qword ptr [rsp+0C8h]
fffff805`4a4cee69 498bd8          mov     rbx,r8
fffff805`4a4cee6c 888c24b8000000  mov     byte ptr [rsp+0B8h],cl
fffff805`4a4cee73 498bbfb8000000  mov     rdi,qword ptr [r15+0B8h]
fffff805`4a4cee7a 4889bc2490000000 mov     qword ptr [rsp+90h],rdi
fffff805`4a4cee82 49890c24        mov     qword ptr [r12],rcx
fffff805`4a4cee86 4d85ed          test    r13,r13
fffff805`4a4cee89 0f8585030000    jne     nt!ObpReferenceObjectByHandleWithTag+0x3e4 (fffff805
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值