CVE-2026-24291-Windows权限提升漏洞“RegPwn”复现分析
字数 3655
更新时间 2026-03-21 12:28:03

CVE-2026-24291 “RegPwn” Windows权限提升漏洞分析与复现教学文档

一、 漏洞概述

漏洞标识:CVE-2026-24291
漏洞名称:Windows权限提升漏洞“RegPwn”
发现者:英国MDSecLabs的Filip Dragovic
状态:该漏洞已被微软在2026年3月的“补丁星期二”修复。据发现者描述,其自2025年1月起已在红队评估中使用。

二、 漏洞复现目标与准备

核心目标:并非直接获取SYSTEM权限的Shell,而是劫持高权限注册表项,通常作为权限提升与权限维持链中的一环。
复现准备:由于Microsoft Defender会检测相关行为,需在复现前临时关闭Microsoft Defender。

复现步骤简述:

  1. 伪造特定的用户可写注册表项。
  2. 利用系统机制,诱导高权限进程(如ATbroker.exe)在特定时机(如进入安全桌面时)将伪造的项及数据同步到高权限注册表位置。
  3. 在同步过程中,通过删除原项并创建注册表符号链接,将同步目标重定向到攻击者意图控制的高权限注册表项(如HKLM\SYSTEM\ControlSet001\Services\msiserver),从而修改其键值。

代码资源:整理后的PoC代码位于 https://github.com/ybdt/evasion-hub/tree/master/11-Privilege-Escalation/0x13-CVE-2026-24291-RegPwn

三、 前置知识详解

理解本漏洞需掌握以下Windows安全机制。

3.1 IL、UIPI与UI Access

三者共同构成用户界面特权隔离 的核心,旨在防止低权限程序操控高权限程序。

  1. 完整性级别 :Windows强制访问控制的核心,为进程和对象分配“可信度”标签。

    • 级别:Untrusted (不信任) < Low (低) < Medium (中,标准用户) < High (高,管理员) < System (系统)。
    • 核心原则:进程不能向比自己IL更高的进程发送写入请求。
  2. 用户界面特权隔离 :基于IL的安全机制,限制进程间的窗口消息传递,旨在防御“粉碎攻击”。

    • 限制:低IL进程无法查看、向高IL进程发送消息或对其进行界面挂钩。
  3. UI自动化访问 :为辅助工具等设计的“特许通行证”,允许其跨越IL限制控制高权限窗口。

    • 严格条件:程序需数字签名、位于安全目录(如C:\Windows\System32)并在清单文件中声明uiAccess="true"

3.2 安全桌面与用户桌面

Windows通过物理隔离的桌面来保护高权限操作。

  • 用户桌面:用户日常工作的界面,运行explorer.exe及各类应用程序,进程间可通过窗口消息交互。
  • 安全桌面:在触发UAC、按Ctrl+Alt+Del或锁屏时出现的变暗界面,仅运行受信任的系统进程(如Consent.exe)。
    • 完全隔离:用户桌面上的进程无法向安全桌面发送任何输入指令。用户此时看到的用户桌面只是一张“快照”。
    • 目的:确保关键安全确认(如UAC授权)只能由用户物理操作完成,防止恶意软件模拟点击。

3.3 机会锁

机会锁 最初是用于优化网络文件访问的缓存机制,在本地提权漏洞中常被用作制造“竞争条件”的“时间停止器”。

  • 工作原理:客户端锁定文件后可在本地缓存数据。当第二个进程尝试访问该文件时,服务器会通知第一个客户端释放锁并同步数据。
  • 漏洞利用中的用法
    1. 攻击者程序以独占机会锁 锁定一个高权限进程(如Winlogon)必然会访问的文件(如oskmenu.xml)。
    2. 触发高权限动作(如调用LockWorkStation()锁屏)。
    3. 当高权限进程运行到一半尝试访问被锁文件时,内核会挂起该进程,等待攻击者释放锁。
    4. 攻击者利用这个“时间窗口”进行恶意操作(如文件替换)。

3.4 注册表符号链接

注册表内的“快捷方式”,在内核级别实现重定向,对应用程序透明。

  • 功能:它是一个特殊的注册表项,不存储数据,而是指向另一个注册表项。
  • 系统用例:例如,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet 就是一个指向实际控制集(如ControlSet001)的符号链接,为软件提供统一访问接口。

四、 漏洞详细分析

测试环境:Windows 11 25H2 26200.7840

4.1 漏洞触发的系统机制梳理

漏洞利用链条涉及屏幕键盘(osk.exe)及其相关辅助技术代理(ATbroker.exe)的注册表同步行为。

  1. 初始创建(用户权限)
    当启动屏幕键盘(osk.exe)时,系统会创建注册表项:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
    此路径在启动前不存在,且创建后完全由当前用户控制

  2. 首次同步(用户桌面)
    随后,两个ATbroker.exe进程(一个普通用户权限,一个SYSTEM权限)会进行同步。

    • 普通用户权限的ATbroker进程会将上述用户可写的osk项,拷贝到:
      HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session1\ATConfig\Osk
    • 注意:目标父路径HKLM..\ATConfig的权限特殊——普通用户不能完全控制,但可以删除其子项、创建新的子项或创建符号链接
  3. 二次同步(安全桌面)
    当系统进入安全桌面(通过锁屏、Ctrl+Alt+Delete或“以管理员身份运行”触发)后,SYSTEM权限的ATbroker进程会执行同步:

    • HKLM..\Session1\ATConfig\Osk 项,拷贝到安全桌面的用户配置单元:
      HKUDEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
    • (注:HKUDEFAULT对应安全桌面中的默认用户注册表配置单元)
  4. 最终同步(安全桌面)
    最后,在安全桌面中运行的SYSTEM权限osk.exe会执行最后一次同步:

    • HKUDEFAULT..\ATConfig\osk 项,拷贝回
      HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session1\ATConfig\Osk

4.2 漏洞利用原理

攻击者利用上述多步、跨权限的注册表同步机制,通过“时间竞争”和“符号链接”进行劫持。

利用步骤

  1. 伪造数据:在用户完全控制的HKCU..\ATConfig\osk项下,添加一个意图覆盖高权限目标(例如HKLM\SYSTEM\ControlSet001\Services\msiserver下某个值)的恶意数据。
  2. 竞争与替换:在普通用户权限的ATbroker进程将HKCU..\osk项拷贝到HKLM..\Session1\ATConfig\Osk过程中,发起攻击:
    • 利用HKLM..\ATConfig项“可被子用户删除子项/创建链接”的特殊权限。
    • 删除刚被创建或即将被覆盖的HKLM..\Session1\ATConfig\osk子项。
    • 在原位置创建一个注册表符号链接,该链接指向攻击者想要篡改的高权限注册表项(如上述的msiserver服务项)。
  3. 达成目的:后续的SYSTEM权限进程(安全桌面中的ATbrokerosk.exe)在不知情的情况下,会将其认为是“屏幕键盘配置”的数据,通过符号链接写入到被链接的高权限目标项中,从而完成对系统关键配置的篡改。

五、 总结与拓展

本漏洞本质上是利用了一个多步、跨桌面、跨权限的注册表同步流程中的对象生命周期管理问题。攻击者通过精准的时序竞争,在同步间隙将普通的配置项替换为指向高价值目标的符号链接,诱使高权限进程“帮助”其完成写入。

防御与检测启示

  • 补丁:及时安装微软2026年3月及之后的安全更新。
  • 监控:加强对HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\路径下注册表项创建、删除,特别是符号链接创建行为的监控。
  • 原理拓展:可通过进程监视工具(如ProcMon)详细追踪osk.exe及相关进程的注册表、文件操作,并逆向分析相关模块,以挖掘同类逻辑的漏洞。
相似文章
相似文章
 全屏