找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3761

积分

0

好友

499

主题
发表于 3 小时前 | 查看: 4| 回复: 0

Milan0day 2026 演示详解

Windows 内核安全攻防 领域,BYOVD(Bring Your Own Vulnerable Driver) 技术近年来已成为攻击者绕过内核保护、实现本地权限提升的重要手段。2026 年 Milan0day 大会上,安全研究员 Rossario Matteo Grammatico(zer0matt)展示了如何利用一款合法签名的驱动程序 ThrottleStop.sys(CVE-2025-7771),从用户模式(Ring 3)直接获得内核模式(Ring 0)执行权限。

漏洞核心:未验证的 MmMapIoSpace 调用

ThrottleStop.sys 是 TechPowerUp 公司开发的 ThrottleStop 工具附带的合法驱动程序,主要用于监控和解决 CPU 节流问题。该驱动被签名且被 Windows 信任,但存在严重安全缺陷:驱动程序通过两个 IOCTL 接口暴露了物理内存的任意读写能力,核心问题是它直接调用 MmMapIoSpace 函数时没有对传入的物理地址进行有效验证。这使得任何用户模式进程都能将内核物理内存映射到自身地址空间,从而实现对内核内存的直接读写。

CVE-2025-7771 的 CVSS 分数高达 8.7,被评为高危漏洞。该漏洞影响 ThrottleStop.sys 3.0.0.0 及可能的其他版本。

PoC 攻击流程详解

zer0matt 的演示 PoC 展示了完整的利用链,步骤清晰且高效:

1. 定位内核函数地址

通过用户模式下可直接访问的 ntdll.dll,获取 NtAddAtom 函数的内核虚拟地址。这是一个巧妙的选择,因为 NtAddAtom 在用户态和内核态的地址关系相对容易处理。

2. 虚拟地址转物理地址

将内核虚拟地址转换为对应的物理地址,为后续映射做准备。

3. 通过 IOCTL 覆写内核代码

使用 IOCTL 码 0x8000649C(写操作),将 NtAddAtom 函数开头的指令替换为精心构造的 shellcode。

通过这种方式,攻击者可以在不加载任何未签名驱动的情况下,临时获得 Ring 0 执行能力。演示中进一步利用该能力调用内核函数(如 PsLookupProcessByProcessId 获取 EPROCESS 指针、PsTerminateProcess 终止 AV/EDR 进程),实现“AV Killer”效果,并在操作后恢复原始字节以规避 PatchGuard 检测。

CVE-2025-7771 漏洞详情页面截图,显示 CVSS v4.0 评分 8.7 及 ThrottleStop.sys 漏洞信息




上一篇:Kubernetes RBAC 权限设计实战:多团队场景下的最小权限落地指南
下一篇:Windows RPC新提权手法PhantomRPC:原理、利用与缓解建议
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-6-17 05:00 , Processed in 1.330738 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表