摘要: 本文深入剖析编号为 CVE-2026-24291 的 Windows 本地提权漏洞(代号 RegPwn)。该漏洞潜伏于 Windows 辅助功能的注册表配置迁移机制中,攻击者可通过注册表符号链接劫持 ATBroker 进程的数据流,最终在安全桌面环境下实现 SYSTEM 权限的任意注册表写入。漏洞影响 Windows 10/11 及多个 Server 版本,已于 2026 年 3 月补丁日修复。
一、漏洞背景与影响面
在红队演练中,权限提升漏洞的价值往往不在于其技术复杂度,而在于能否在真实环境里稳定触发。MDSec 研究团队近期披露了一个他们内部使用已久的漏洞——RegPwn。这个漏洞的巧妙之处在于,它并非依赖某个冷门驱动或内核缺陷,而是扎根于 Windows 辅助功能(Accessibility)这一几乎每个系统都会启用的基础组件。
该漏洞影响范围相当广泛,涵盖:
-
Windows 10、Windows 11(全版本)
-
Windows Server 2012、2016、2019、2022、2025
微软已在 2026 年 3 月的"补丁星期二"中推送修复,安全社区将其编号为 CVE-2026-24291。对于尚未及时更新系统补丁的企业环境,该漏洞构成了切实的本地攻击面。

二、辅助功能背后的注册表逻辑
Windows 辅助功能的设计初衷是为残障用户提供替代交互方式,包括屏幕键盘(osk.exe)、讲述人、放大镜等。这些功能的可用性列表存储在系统注册表的固定位置:
plain
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs
当用户实际调用某项辅助功能时,系统会在当前用户配置下创建对应的配置节点。以屏幕键盘为例,注册表路径为:
plain
复制
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
这里存在一个关键的安全设计缺陷:上述 ATConfig\osk 项对低权限用户开放了完全控制权限。这意味着任何标准用户都能随意修改屏幕键盘的配置参数,而系统后续会信任这些配置并将其迁移到更高权限的上下文。

三、从用户态到 SYSTEM 的配置迁移链
漏洞的核心利用路径,建立在 Windows 登录过程中一系列注册表复制操作之上。整个数据流涉及三个关键阶段:
阶段一:用户配置写入 HKLM
winlogon.exe 在登录阶段会创建会话级别的注册表节点:
plain
复制
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session<<session_id>\ATConfig
该节点对当前已登录用户赋予了写入权限。系统随后会将 HKEY_CURRENT_USER 下的辅助功能配置复制至此。由于源数据完全受用户控制,这一步实际上已经完成了"污染"——攻击者可以事先篡改 ATConfig\osk 中的各项值。
阶段二:安全桌面与双 ATBroker 机制
安全桌面(Secure Desktop)是 Windows 的一种特殊会话隔离机制,仅允许 SYSTEM 权限的受信任进程执行。用户触发安全桌面的常见场景包括:锁定工作站、UAC 提权弹窗等。
此时系统会启动两个 ATBroker.exe 实例:
-
一个在当前用户上下文中运行
-
另一个以 SYSTEM 账户运行
用户态的 ATBroker.exe 会再次将配置从 HKEY_CURRENT_USER 复制到 HKLM\...\Session<<sid>\ATConfig\osk。
而 SYSTEM 态的 ATBroker.exe 则继续将数据从上述 HKLM 位置复制到默认用户配置:
plain
复制
HKU\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
阶段三:osk.exe 的最终回写
最后,以 SYSTEM 权限启动的 osk.exe 会将 HKU\.DEFAULT 下的配置再次回写到 HKLM 的会话节点:
plain
复制
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session<<session_id>\ATConfig\osk
问题就出在这一步:HKLM 下的目标注册表项对当前用户是可写的,而写入的数据又源自用户可控的位置。如果攻击者在这一瞬间将目标注册表项替换为指向其他位置的注册表符号链接,SYSTEM 权限的 osk.exe 就会将数据写入攻击者指定的任意注册表位置。


四、时间窗口的争夺:OpLock 的妙用
理论上,上述利用链存在一个极短的时间竞态窗口——从 osk.exe 启动到执行注册表写入之间只有一瞬。要稳定利用这个窗口,研究者采用了一个经典的文件同步技巧:机会锁(Opportunistic Lock,简称 OpLock)。
具体而言,攻击者对以下文件施加 OpLock:
plain
复制
C:\Program Files\Common Files\microsoft shared\ink\fsdefinitions\oskmenu.xml
当 SYSTEM 进程在启动 osk.exe 的过程中尝试访问该 XML 文件时,OpLock 被触发,攻击者代码获得执行时机。此时迅速将 HKLM\...\ATConfig\osk 替换为指向任意目标注册表项的符号链接。由于后续写入操作在 SYSTEM 上下文中完成,攻击者便实现了任意注册表项的 SYSTEM 权限写入。


五、从注册表劫持到完整权限提升
获得任意注册表写入能力后,权限提升的后续步骤变得顺理成章。在公开的 PoC 中,研究者选择重写 msiserver 服务的 ImagePath 值,将其指向攻击者控制的恶意可执行文件。随后通过创建 MSI COM 对象的实例来触发服务启动,恶意代码便得以在 SYSTEM 权限下运行。
整个攻击流程可以归纳为:
-
从当前访问令牌中提取会话 ID
-
后台启动隐藏的
osk.exe进程并休眠 5 秒,确保 OpLock 能被后续系统操作触发 -
修改当前用户下的
ATConfig\osk节点,植入预设配置值 -
对
oskmenu.xml设置 OpLock -
调用
LockWorkstation()API 创建安全桌面会话,触发漏洞 -
OpLock 触发后,立即将目标注册表项替换为符号链接
-
等待 5 秒确保 SYSTEM 写入完成
-
清理符号链接,利用已篡改的服务配置实现 SYSTEM 权限代码执行


六、防御建议与修复方案
对于企业安全团队和系统管理员,针对此类注册表层面的权限提升漏洞,建议采取以下缓解措施:
1. 及时安装补丁 微软已在 2026 年 3 月补丁日修复该漏洞,首要措施是确保所有受影响的 Windows 10/11 及 Server 系统已安装最新累积更新。
2. 限制辅助功能的非必要调用 在不需要辅助功能支持的服务器环境中,可通过组策略限制 ATBroker.exe 及相关辅助功能进程的执行,减少攻击面。
3. 注册表权限审计 定期审计 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility 及其子项的 ACL 配置,排查异常权限授予。
4. 监控可疑的注册表符号链接创建 安全软件可加强对注册表符号链接(Registry Symbolic Link)创建行为的监控,特别是在涉及系统服务和辅助功能配置的路径下。
5. 最小权限原则 严格执行标准用户日常操作制度,避免用户拥有不必要的本地管理员权限,即使 RegPwn 本身允许标准用户提权,也能降低攻击者横向移动后的整体危害。
974

被折叠的 条评论
为什么被折叠?



