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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-7771 — ThrottleStop.sys 任意物理内存读写 | Kitploit
工具/GitHubGitHub/enessakircolak/cve-2025-7771
权限提升漏洞分析漏洞利用IDS/IPS规避渗透测试红队
GitHubenessakircolak/cve-2025-7771

CVE-2025-7771

ThrottleStop.sys 任意物理内存读写

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-7771 — ThrottleStop.sys 任意物理内存读写

针对 TechPowerUp ThrottleStop.sys 驱动(CVE-2025-7771)的完整概念验证(PoC)。 一个已签名且仍可加载的内核驱动通过两个 IOCTL 暴露了未经校验的物理内存读写。 本仓库将该原语转化为可用的从管理员到 SYSTEM 的本地权限提升,并记录了一个设备命名怪癖, 该怪癖可绕过大多数基于路径和文件名的检测。

针对相同 IOCTL 的 PoC 早已存在(见致谢)。这是一个独立的完整利用链,而非原语演示。

受影响的驱动

字段值
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
版本3.0.0.0(“Low-Level Driver”,2004-2020)
签名者TechPowerUp LLC,DigiCert EV 代码签名
证书指纹524EDA9C819321C66E22C7BABEB23DAEAFFB2182
证书有效期2019-08-10 至 2022-06-15

证书已于 2022 年过期,但签名带有受信任的反签名时间戳,因此 Windows 仍会加载它。吊销只有在日期早于签名时间时才有效,而对于此类旧驱动来说很少见。

版本资源中没有 CompanyName、OriginalFilename 或 InternalName,因此无法从文件自身的元数据判断其归属厂商。

漏洞

两个 IOCTL 读取和写入物理内存,且没有任何边界或地址校验:

IOCTL操作
0x80006498物理读
0x8000649C物理写

两者均为 METHOD_BUFFERED,因此不存在用户指针解引用;缺陷在于缺少对调用方提供的物理地址的校验,而非未检查的指针。

值得指出的是:写处理程序 0x8000649C 被声明为 FILE_READ_ACCESS。以只读方式打开的句柄仍可发起物理写操作,因此声明的访问掩码与实际处理程序的行为并不一致。

影响

打开设备需要管理员权限,因此这本身并不构成权限边界跨越。它给予已拥有管理员权限的攻击者的是来自用户模式的内核任意读写能力,从而瓦解了本应高于管理员权限的保护机制:HVCI 代码完整性、PPL 以及 EDR/AV 自我保护。典型的自带易受攻击驱动(BYOVD)。

作为具体演示,PoC 利用该读写原语窃取 SYSTEM 令牌并生成一个 SYSTEM shell。

CVSS 4.0:AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H(8.7,高危)。

利用原理

整个利用过程都在用户模式下针对驱动的物理读写 IOCTL 进行。无需遍历页表,也不涉及 CR3;两个进程均通过直接扫描物理内存来定位:

  1. 定位 SYSTEM。 扫描物理内存,查找 ImageFileName 为 System 且 UniqueProcessId 为 4 的 EPROCESS。扫描范围限制在从固件注册表项 HARDWARE\RESOURCEMAP\...\Physical Memory 读取的已填充 RAM 范围,而非猜测的窗口,因此不会触及 MMIO 空洞,也不会遗漏已安装 RAM 以上的任何内容。
  2. 读取 SYSTEM 令牌。 从定位到的 EPROCESS 中读取 Token 字段(EPROC_TOKEN)。
  3. 定位我们的进程。 以相同方式扫描物理内存,查找 PoC 自身的 EPROCESS,将映像名称作为 8 字节模式进行匹配,并用其 PID 进行确认。
  4. 交换令牌。 将 SYSTEM 令牌值写入我们自己的 Token 槽位。该令牌是一个 _EX_FAST_REF,因此默认会屏蔽低位的引用计数位(--mask 可选择此行为)。
  5. 证明。 生成 cmd.exe;whoami 返回 NT AUTHORITY\SYSTEM。

偏移量(EPROC_TOKEN、EPROC_PID、EPROC_IMG_NAME 等)针对特定构建版本,必须在目标 Windows 版本上通过 dt nt!_EPROCESS 进行确认。

可执行文件名称很重要。第 3 步通过在物理内存中匹配 ImageFileName 来定位我们自己的进程,而该字段上限为 15 个字符,扫描时匹配前 8 个字节。请保持编译后的名称简短且独特;如果重命名了二进制文件,请勿超出该限制,否则自扫描将无法找到该进程。

设备名可由攻击者控制

该驱动不使用固定的设备名。它根据注册时所使用的服务名称派生设备对象名称;磁盘上的文件名无关紧要。无论磁盘上的文件叫什么,只要将二进制文件注册为服务 TRIXX,就会产生 \\.\TRIXX。

因此,任何基于 \Device\ThrottleStop 或 ThrottleStop.sys 的检测都可以轻易绕过。检测必须基于文件哈希或签名证书:

root@kitploit:~
SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

源码中的 DEVICE_NAMES 列表仅用于探测已知的产品安装。通过参数传入设备名即可指向你自己注册的服务。

相关的 TechPowerUp 驱动

CVE驱动
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys(本仓库)

不包含驱动

此处不提供该二进制文件。请对照上面的 SHA256 校验任何副本。该样本已收录于 LOLDrivers。

构建

root@kitploit:~
cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

用法

仅供实验室使用。请在带有快照的隔离虚拟机中运行,以便回滚。

root@kitploit:~
sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

该二进制无需任何参数。它会打印物理内存映射,扫描 SYSTEM 和本地 EPROCESS,交换令牌,并以 NT AUTHORITY\SYSTEM 身份生成 cmd.exe。

演示

myLittleLpe.exe 运行截图:物理内存映射、EPROCESS 扫描、令牌交换与 SYSTEM shell

其他 PoC 与先前工作

针对同一驱动的其他公开工作,供对比:

  • Demoo1337/ThrottleStop — 同一 IOCTL 的早期 PoC
  • xM0kht4r/CVE-2025-7771 — 物理读写,以及通过 Superfetch 的 VA 到 PA 转换
  • AmrHuss/throttlestop-exploit-rw — 带 Superfetch 地址转换的物理读写
  • v31l0x1/ThrottleStopPPL — PPL 保护绕过
  • Yuri08loveElaina/CVE-2025-7771 — 另一个实现

致谢

  • LOLDrivers — 易受攻击驱动收录

免责声明

发布目的为防御研究与检测工程。该漏洞已以 CVE-2025-7771 公开。此处所有内容均在作者自有系统上测试。请勿在非您所有或未经授权测试的系统上运行。

下载工具