CVE-2025-64669:揭示Windows管理中心中的本地权限提升漏洞

admin 2025-12-22 04:16:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CymulateResearchLabs发现WindowsAdminCenter2.4.2.1及更早版本存在本地权限提升漏洞CVE-2025-64669,根本原因是目录权限不安全,允许所有用户写入特定文件夹。攻击者可通过滥用扩展卸载机制或更新程序DLL劫持提升至SYSTEM权限。微软已确认此问题并计划在12月10日的补丁星期二发布修复程序。建议使用WAC的组织尽快更新至最新版本以防范此风险。 综合评分: 93 文章分类: 漏洞分析,渗透测试,漏洞预警,安全建设,漏洞POC


cover_image

CVE-2025-64669:揭示 Windows 管理中心中的本地权限提升漏洞

Ots安全

2025年12月16日 13:26 广东

威胁简报

恶意软件

漏洞攻击

执行摘要

Cymulate Research Labs 发现  微软 Windows Admin Center (WAC) 2.4.2.1 版本 存在本地权限提升漏洞。根本原因在于目录权限不安全, 所有标准用户均可写入C   :\ProgramData\WindowsAdminCenter 文件夹。此漏洞影响所有运行 WAC 2.4.2.1 及更早版本的环境,并广泛适用于任何使用 WAC 进行服务器或基础架构管理的组织。

此次风险暴露影响的是技术层面,而非特定领域。任何依赖 WAC 网关、集成扩展、特权管理工作流或安装了 WAC 的 Windows Server 主机的部署都将面临此风险。拥有底层文件系统访问权限的普通用户可以利用此配置错误来提升权限。

这种配置错误使我们能够将多种技术串联起来,形成有效的漏洞利用程序:

滥用扩展卸载机制 ——劫持卸载过程以运行具有提升权限的已签名 PowerShell 脚本。

更新程序 DLL 劫持 – 将恶意 DLL 放入更新程序文件夹,然后由具有特权的 WAC 更新程序进程自动加载。

这两种攻击途径都允许低权限用户提升  至 SYSTEM 权限,从而有效突破 Windows 安全边界。微软已确认此问题,并将其编号为 CVE-2025-64669,同时向我们支付了 5000 美元的赏金。

2025年12月15日,我们更新了Cymulate漏洞暴露验证工具,新增了攻击场景 WindowsAdminCenter – CVE-2025-64669本地权限提升漏洞, 用于测试和验证SIEM和终端安全中的威胁检测能力。希望验证自身是否受此CVE影响的Cymulate客户,可以针对其Windows Admin Center网关运行此场景来评估风险暴露情况。

背景:Windows 管理中心

Windows Admin Center (WAC) 是微软面向 Windows Server 和客户端计算机的 基于 Web 的管理工具 。它为传统的 MMC 控制台提供了现代化的替代方案,使管理员能够通过浏览器管理服务器、集群、超融合基础架构和 Windows 10/11 终端。

Windows Admin Center (WAC) 是一款 被广泛采用的产品,全球 IT 管理员都高度依赖它来大规模管理服务器和终端。其普及程度意味着,在 WAC 中发现的任何漏洞都可能对各种规模的企业造成巨大影响。从运行少量服务器的小型企业到管理混合云环境的全球性企业,WAC 都扮演着核心工具的角色。

Cymulate 研究团队深知,如果我们能在如此核心的基础设施中发现严重的安全漏洞,那绝不仅仅是理论上的漏洞,而是会对成千上万的 IT 团队造成实际的影响。正是这种认识促使我们深入研究,重点关注开发人员如何实现诸如安装、更新和卸载等敏感操作。

鉴于企业环境中 WAC 命令的复杂性和信任度,我们的直觉是,即使在这些领域出现一个小小的失误,也可能被利用来创造一个重大的攻击机会。

发现:可写入的 WAC 目录

我们的起点是注意到 所有用户都可以写入C:\ProgramData\WindowsAdminCenter文件夹 。乍一看,这似乎只是一个不太严重的配置错误,因为我们最初并没有意识到该文件夹内还有一个以 SYSTEM 权限运行的服务可执行文件。这彻底改变了局面。突然间,这不再仅仅是一个可写的目录,而是通往一个高权限进程的直接入口。

我们想看看能否滥用这种信任,在深入研究 WAC 如何管理更新和扩展后,我们确认了几个特权进程直接从该文件夹加载内容。

这开辟了两条截然不同的利用途径:

1.滥用扩展程序卸载机制

2.更新程序 DLL 劫持

利用途径一:滥用扩展程序卸载机制

我们首先问自己:“哪些操作既能保证以管理员权限运行,又能触及用户可访问的内容?” 安装和卸载逻辑通常是这方面的宝库。这些 操作的设计 初衷就是希望管理员执行,如果安全措施不到位,就可能被滥用。

因此,我们转而使用 dnSpy 反编译了 Windows 管理中心二进制文件(由于它是 .NET 进程,这都要“感谢”微软)。这使得逆向工程变得更加轻松透明。在探索了命名空间之后,我们很快找到了负责卸载扩展程序的代码。

相关部分非常清晰。它构建了一个指向卸载文件夹的路径,枚举了其中的所有 .ps1 文件,并使用 PowerShell 和 AllSigned 执行策略执行了这些文件。

string uninstallPath = Path.Join(uiDir, "uninstall");

if (Directory.Exists(uninstallPath))

{

    foreach (string script in Directory.EnumerateFiles(uninstallPath, "*.ps1"))

    {

        ProcessStartInfo psi = new ProcessStartInfo

        {

            FileName = "cmd.exe",

            Arguments = "/c PowerShell -ExecutionPolicy AllSigned -File \"" + script + "\"",

            UseShellExecute = false,

            WindowStyle = ProcessWindowStyle.Hidden

        };

        Process.Start(psi);

    }

}

这段代码片段清晰地展示了 WAC 如何信任卸载文件夹中存在的任何 PowerShell 脚本。由于父文件夹对所有人可写,这带来了一个危险的漏洞。也就是说,直接插入一个已签名的 PowerShell 有效负载并非易事,你需要找到一个现成的、可以被滥用的已签名脚本,或者自己编写并签名一个。

当然,对自己的脚本进行签名是一项高权限操作,但我们这样做纯粹是为了演示目的。虽然可以在网上找到各种已签名的 PowerShell 脚本供使用,但为了演示方便,我们创建并签名了自己的简单脚本。该脚本执行了“whoami”命令,并将输出结果写入 C:\Users\Public 目录,清晰地显示了提升的执行权限。

我们如何利用它:

  • 我们在 C:\ProgramData\WindowsAdminCenter\Extensions\<扩展名> 下创建了一个自定义卸载文件夹。
  • 在里面植入了一个恶意签名脚本。
  • 通过 WAC 的 UI/API 触发卸载过程。
  • 我们的有效载荷以 NETWORK SERVICE 甚至 SYSTEM 的身份运行。

概念验证演示:

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

Ots安全已关注

分享视频

,时长01:43

0/0

00:00/01:43

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

01:43

01:43

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

CVE-2025-64669:揭示 Windows 管理中心中的本地权限提升漏洞

观看更多

转载

,

CVE-2025-64669:揭示 Windows 管理中心中的本地权限提升漏洞

Ots安全已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

利用途径二:更新程序 DLL 劫持

接下来,我们将重点转向更新机制。更新是另一个 活跃进程,通常意味着文件会被复制、验证或动态加载。dnSpy 再次发挥了重要作用。我们查看了更新组件(WindowsAdminCenterUpdater.exe),并追踪了其 DLL 加载行为。

我们发现更新程序显式地从路径 C:\ProgramData\WindowsAdminCenter\Updater 加载了 DLL 文件。

由于所有用户都可写入此文件夹,我们立即发现了一个典型的攻击面——DLL 劫持。我们查看了反编译后的代码,以了解更新是如何触发的,并找到了一个API端点:/api/update。最初,在测试中,我们的DLL确实加载了一瞬间,但并未执行。检查事件查看器后发现,该DLL被拒绝,因为它未签名——因为有一个验证步骤会检查签名。

我们几乎要放弃了,但后来注意到了一些有趣的事情。验证过程发生在 WindowsAdminCenter 进程内部,验证完成后,它会调用并打开 WindowsAdminCenterUpdater.exe。这让我们想到利用经典的“ 检查时间使用时间 ”(TOCTOU)机制。我们编写了一个简单的 PowerShell 脚本,监听 WindowsAdminCenterUpdater.exe 的启动,然后立即将恶意 user32.dll 文件复制到更新程序文件夹中,使其在未经验证的情况下加载。

Register-WmiEvent -Query "SELECT&nbsp;*&nbsp;FROM&nbsp;__InstanceCreationEvent&nbsp;WITHIN0.1

WHERE&nbsp;TargetInstance ISA&nbsp;'Win32_Process'AND&nbsp;TargetInstance.Name =&nbsp;'WindowsAdminCenterUpdater.exe'" -Action {

&nbsp; &nbsp; Copy-Item "C:\Users\Public\user32.dll" "C:\ProgramData\WindowsAdminCenter\Updater\user32.dll" -Force

}

一切运行完美。DLL 文件以 SYSTEM 权限执行,更重要的是,该脚本可以完全以普通用户身份运行,无需任何提升的权限。

这表明更新程序信任位于其工作目录中的 DLL,而不是强制使用系统路径。

概念验证方法:

  • 我们创建了一个自定义的 user32.dll,它只是简单地将数据写入 C:\Users\Public\test.txt,以用于概念验证。
  • 使用低权限帐户通过 Register-WmiEvent 监控更新程序活动。
  • 将 DLL 文件放入 C:\ProgramData\WindowsAdminCenter\Updater 文件夹。
  • 使用 /api/update 端点触发了更新。
  • 我们的 DLL 以 SYSTEM 身份执行。

概念验证演示:

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

视频加载失败,请刷新页面再试

刷新

视频详情

披露时间表

  • 漏洞已于 2025 年 8 月 5 日通过 MSRC 报告给微软。
  • 微软于 2025 年 8 月 29 日承认存在安全问题。
  • 微软于 2025 年 9 月 3 日奖励我们 5000 美元。
  • 2025 年 11 月 12 日,微软表示将分配一个严重级别为“重要”的 CVE,并将在 12 月 10 日的“补丁星期二”发布修复程序。

END

公众号内容都来自国外平台-所有文章可通过点击阅读原文到达原文地址或参考地址

排版 编辑 | Ots 小安

采集 翻译 | Ots Ai牛马

公众号 | AnQuan7 (Ots安全)


查看原文:《CVE-2025-64669:揭示 Windows 管理中心中的本地权限提升漏洞》

评论:0   参与:  1