CVE-2025-3464:针对 ASUS AsIO3.sys 的非特权 LPE 漏洞利用程序 - TOCTOU 认证绕过 + PreviousMode 递减
此漏洞利用程序仅适用于 Windows 11 22H2 或更早版本。Microsoft 已修复 PreviousMode 相关的把戏。
针对 ASUS AsIO3.sys 驱动的本地权限提升漏洞利用程序,可获得 NT AUTHORITY\SYSTEM 权限
此漏洞利用程序将一个认证绕过(CVE-2025-3464)与一个递减原语相结合,从而将任意本地用户的权限提升至 SYSTEM。
| 属性 | 值 |
|---|---|
| CVE | CVE-2025-3464 |
| 类型 | 本地权限提升 |
| 驱动 | AsIO3.sys(ASUS) |
| 已验证 | Windows 11 22H2(Build 22621) |
AsIO3.sys 驱动通过检查调用进程的可执行文件路径是否包含 AsusCertService 并验证 SHA256 哈希,来校验调用进程。此检查容易受到利用 NTFS 硬链接的检查时间-使用时间(TOCTOU)竞态条件的影响。
攻击流程:
AsusCertService 的路径处创建指向漏洞利用程序可执行文件的硬链接AsusCertService.exe注意: 驱动仅通过子字符串匹配检查路径是否包含 AsusCertService。任何用户可写的路径都可用(例如 C:\Users\Public\AsusCertService\),这使得无需管理员权限即可利用此漏洞。
该驱动暴露了一个 IOCTL,它会对用户控制的指针调用 ObfDereferenceObject。这会在 (ObjectPtr - 0x30) 处执行一次 8 字节的原子递减,从而提供一个任意递减原语。
通过 PreviousMode 进行利用:
NtQuerySystemInformation(SystemHandleInformationEx) 泄露 KTHREAD 地址KTHREAD + 0x232(PreviousMode 字段)NtReadVirtualMemory/NtWriteVirtualMemory 可访问内核内存# Compile (Linux cross-compile)
x86_64-w64-mingw32-gcc -O2 -o AsIO3_FullExploit.exe AsIO3_FullExploit.c -lntdll -lshlwapi
AsIO3_FullExploit.exe
前置条件:
结构偏移量(Windows 11 22H2)
KTHREAD + 0x232 = PreviousMode KTHREAD + 0x220 = Process (EPROCESS pointer) EPROCESS + 0x440 = UniqueProcessId EPROCESS + 0x448 = ActiveProcessLinks EPROCESS + 0x4B8 = Token
注意:偏移量因版本而异。请针对你的目标 Windows 版本进行验证。Windows 23H2 会触发 PREVIOUS_MODE_MISMATCH(0x1f9),这是针对这些 PreviousMode 技巧的一种缓解措施。
技术说明
参考资料
免责声明
此代码仅用于授权的安全研究和教育目的。请仅在你所拥有或获得明确测试许可的系统上使用。未经授权访问计算机系统属于违法行为。