Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-62737-lab — 通过 gdb 辅助的 ROP 令牌交换链,将低权限的 Windows 进程提升至 SYSTEM 权限,在仅限实验室的 QEMU 环境中演示 CVE-2026-62737。 | Kitploit
工具/GitHubGitHub/davidcarliez/cve-2026-62737-lab
权限提升漏洞利用调试器Payload 开发二进制利用
GitHubdavidcarliez/cve-2026-62737-lab

cve-2026-62737-lab

通过 gdb 辅助的 ROP 令牌交换链,将低权限的 Windows 进程提升至 SYSTEM 权限,在仅限实验室的 QEMU 环境中演示 CVE-2026-62737。

查看仓库
2101个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-62737:从崩溃到实验室辅助的 SYSTEM

这是原始 CVE-2026-62737 分析文章的后续文章 (ExecutionContext.sys 任意内核间接调用)。它将崩溃 PoC 转化为一条可用的 token 交换链,以 SYSTEM 身份启动 cmd.exe,但这仅 适用于实验室环境,其中由调试器提供地址并将 ROP 链写入 内核内存。这并非独立的漏洞利用程序。

功能

  1. 以低权限用户身份,通过 KLoader 代理打开 ExecutionContext 设备。
  2. 初始化一个 ExecutionContext(0x22EC40),并将一个任务(0x22AC54)排入队列,该任务的 Callback 是一个内核 ROP 栈迁移(pivot)。
  3. 一个 gdb 脚本(patch_rop.py)将 token 交换 ROP 链写入 ExecutionContext .data,并通过硬件断点捕获迁移时刻的 RSP/RBP。
  4. 一个短期存活的监视线程唤醒内核工作者线程(0x226C5C 退出回调),该链将我们的 token 替换为 SYSTEM 的 token,恢复内核栈,并返回到驱动分发器,从而让工作者线程得以存活。

文件

要求

  • Windows 11 25H2,内核 10.0.26100.8875(gadget RVA 与构建版本相关)。
  • 一台虚拟机,带有 QEMU gdb 存根(gdbserver tcp::1234)、guest agent,以及挂载为 Z: 的主机/客户机共享文件夹。
  • 一个能够打开 \\.\kloader\{9C0B898D-6275-48EC-81B4-E5EDBE44B535} 的低权限账户。
  • 主机上安装 MinGW-w64(x86_64-w64-mingw32-gcc)和 gdb。

构建

root@kitploit:~
x86_64-w64-mingw32-gcc -O2 -municode -o exploit.exe exploit.c
x86_64-w64-mingw32-gcc -O2 -o modlist.exe modlist.c

运行(每次启动)

  1. 获取最新基址:./ga.py 'Z:\modlist.exe'(先将 modlist.exe 复制到共享文件夹)。

  2. 更新脚本:./refresh_bases.sh。

  3. 将 exploit.exe 和 modlist.exe 复制到共享文件夹。

  4. 以低权限用户身份启动利用程序:exploit.exe <nt> <ec> <ec+0x10A00>。它会将其 PID 写入 Z:\lab_pid.txt,然后等待 Z:\go_lab.txt。

  5. 附加 gdb,并将 LAB_PID_FILE 指向主机上的 lab_pid.txt 副本:

    root@kitploit:~
    LAB_PID_FILE=/path/to/shared/lab_pid.txt \
      gdb -q -ex 'target remote :1234' -ex 'set pagination off' -x patch_rop.py
    

    在 gdb 提示符下输入 continue。

偏移量(内核 26100.8875)

为什么这不是独立的利用程序

  • 该回调在具有 system CR3 的内核系统线程中运行;无法使用用户内存 ROP,也不存在 MDL 内核别名。
  • 真正的利用程序需要内核地址泄漏(nt/ec)以及将链送入内核内存的方法。在当前构建上两者均缺失。
  • 迁移时刻的 RSP 由 gdb 断点捕获;真正的利用程序需要驻留于栈上的链,或能保存 RSP 的 gadget。

许可证

MIT,参见 LICENSE。

下载工具
文件用途
exploit.c实验室利用程序:初始化 + 排队 + 等待 gdb 修补 + token 检查 + 启动 cmd。
patch_rop.pygdb 脚本:定位我们的 EPROCESS,写入 ROP 链,启用栈迁移断点。
trace_rop.py设置相同,但单步执行该链以进行调试。
refresh_bases.sh根据 modlist.exe 的输出更新 gdb 脚本中每次启动的 nt/ec 基址。
modlist.c打印每次启动的 ntoskrnl / ExecutionContext 基址(实验室 KASLR 预言机)。
ga.py通过 QEMU guest agent 在实验室虚拟机内运行命令。
  • 释放利用程序:touch /path/to/shared/go_lab.txt。

  • 约 15 秒后,Z:\lab_exploit_out.txt 应显示 system=1,且 Z:\lab_shell_out.txt 应包含 nt authority\system。

  • 条目值
    ROP 栈迁移(完整)nt + 0x6A6A40
    pop rcx; retnt + 0x28843A
    pop rdx; retnt + 0x2FECD2
    mov [rcx], rdx; retnt + 0x3BC6A7
    retnt + 0x20043B
    pop rsp; retnt + 0x2006C4
    PsInitialSystemProcessnt + 0xFC6AF0
    _EPROCESS.Token0x248
    _EPROCESS.UniqueProcessId0x1D0
    _EPROCESS.ActiveProcessLinks0x1D8