研究人员已将他们正在跟踪的弱点标记为 CVE-2024-6769,并将其称为 Windows 中的组合用户访问控制 (UAC) 绕过/权限提升漏洞。他们警告说,它可能允许经过身份验证的攻击者获得完整的系统权限。
这是根据 Fortra 的说法,Fortra 在通用漏洞评分系统 (CVSS) 量表上为该问题分配了 6.7 分(满分 10 分)的中等严重性评分。它的概念验证漏洞表明“您有能力关闭系统,”Fortra 安全研发副总监 Tyler Reguly 强调说。“驱动器上的某些位置可以写入和删除以前无法写入和删除的文件。”这包括 C:\Windows,因此攻击者可以获得 SYSTEM 拥有的文件的所有权。
就其本身而言,Microsoft 承认了这项研究,但表示它不认为这是一个实际的漏洞,因为它属于其可接受性的概念,即拥有“不健壮”的安全边界。
了解 Windows 中的完整性级别
要了解 Fortra 的发现,我们必须回到 Windows Vista,当时 Microsoft 引入了强制完整性控制 (MIC) 模型。简而言之,MIC 为每个用户、进程和资源分配了一个访问级别,称为完整性级别。所有人都享有低完整性级别,经过身份验证的用户为中等,管理员为高完整性级别,而系统则只为最敏感和最强大的用户提供。
除了这些完整性级别之外,还有 UAC,这是一种安全机制,默认情况下,它在中等级别运行大多数进程和应用程序,并且需要显式权限才能执行任何需要更高权限的操作。通常,管理员级别的用户只需右键单击命令提示符并选择“以管理员身份运行”即可升级。
通过结合两种漏洞利用技术,Fortra 研究人员在他们的概念验证中展示了已经授权的用户如何通过该系统,跳过对中等完整性级别施加的安全边界以获得完整的管理权限,所有这些都不会触发 UAC。
使用 CVE-2024-6769 跨越用户边界
要利用 CVE-2024-6769,攻击者首先必须在目标系统中立足。这需要普通用户的中等完整性级别权限,并且触发攻击的帐户必须属于系统的管理组(如果不是因为 UAC 挡路,该帐户类型可以升级到管理员权限)。
攻击的第一步涉及将目标系统的根驱动器(例如“C:”)重新映射到其控制下的位置。这也将移动 “system32” 文件夹,许多服务都依赖该文件夹来加载关键系统文件。
其中一种服务是 CTF Loader ctfmon.exe,它在没有管理员权限的情况下以高完整性级别运行。如果攻击者在 copycat system32 文件夹中放置了一个特制的山寨 DLL,ctfmon.exe将加载它并以该高完整性级别执行攻击者的代码。
接下来,如果攻击者希望获得完全管理权限,他们可以毒害激活上下文缓存,Windows 使用该缓存加载特定版本的库。为此,他们在缓存中创建一个条目,指向攻击者生成的文件夹中的合法系统 DLL 的恶意版本。通过向客户端/服务器运行时子系统 (CSRSS) 服务器发送特制消息,伪造文件由具有管理员权限的进程加载,从而授予攻击者对系统的完全控制权。
Microsoft:不是漏洞
尽管存在权限提升的可能性,但 Microsoft 拒绝将此问题视为漏洞。在 Fortra 报告后,该公司通过指出 Microsoft Windows 安全服务标准的“非边界”部分作为回应,该部分概述了“某些 Windows 组件和配置明确不旨在提供强大的安全边界”。在相关的“Administrator to Kernel”部分下,它写道:
管理进程和用户被视为 Windows 可信计算基础 (TCB) 的一部分,因此与内核边界没有严格隔离。管理员可以控制设备的安全性,并可以禁用安全功能、卸载安全更新以及执行其他使内核隔离无效的操作。
文章原文链接:https://www.anquanke.com/post/id/300536