“MagicDot”Windows 漏洞允许非特权 Rootkit 活动

“MagicDot”Windows 漏洞允许非特权 Rootkit 活动

“MagicDot”Windows 弱点允许非特权 Rootkit 活动 PlatoBlockchain 数据智能。垂直搜索。人工智能。

黑帽亚洲 – 新加坡 – 与 Windows 中 DOS 到 NT 路径转换过程相关的一个已知问题允许攻击者获得类似 rootkit 的后利用功能来隐藏和模拟文件、目录和进程,从而给企业带来重大风险。

SafeBreach 安全研究员 Or Yair 表示,他在本周的一次会议上概述了这个问题。他还详细介绍了与该问题相关的四个不同漏洞 被称为“魔点”” – 包括一个危险的远程代码执行错误,只需提取存档即可触发该错误。

DOS 到 NT 路径转换中的点和空格

MagicDot 组问题的存在要归功于 Windows 将 DOS 路径更改为 NT 路径的方式。

当用户在 PC 上打开文件或文件夹时,Windows 通过引用文件所在的路径来完成此操作;通常,这是一个遵循“C:UsersUserDocumentsexample.txt”格式的 DOS 路径。然而,实际执行打开文件的操作使用了一个名为 NtCreateFile 的不同底层函数,并且 NtCreateFile 要求 NT 路径而不是 DOS 路径。因此,Windows 在调用 NtCreateFile 来启用该操作之前,会将用户可见的熟悉的 DOS 路径转换为 ​​NT 路径。

之所以存在可利用的问题,是因为在转换过程中,Windows 会自动删除 DOS 路径中的任何句点以及末尾的任何额外空格。因此,DOS 路径如下:

  • C:示例示例。   

  • C: 例子例子… 

  • C:example例子    

全部转换为“??C:exampleexample”作为NT路径。

Yair 发现,这种自动删除错误字符的方法可能允许攻击者创建特制的 DOS 路径,这些路径将转换为他们选择的 NT 路径,然后可用于使文件不可用或隐藏恶意内容和活动。

模拟非特权 Rootkit

MagicDot 问题首先为许多后利用技术创造了机会,帮助机器上的攻击者保持隐秘性。

例如,可以锁定恶意内容并阻止用户(甚至管理员)检查它。 “通过在恶意文件名末尾放置一个简单的尾随点,或者仅使用点和/或空格命名文件或目录,我可以使所有使用普通 API 的用户空间程序无法访问……用户将无法读取、写入、删除或对它们执行任何其他操作,”Yair 在会议中解释道。

然后,在一次相关攻击中,Yair 发现该技术可用于隐藏存档文件中的文件或目录。

“我只是在存档中以点结尾文件名,以防止资源管理器列出或提取它,”Yair 说。 “结果,我能够将恶意文件放入一个无辜的 zip 中 - 无论谁使用资源管理器查看和提取存档内容,都无法看到该文件存在于其中。”

第三种攻击方法涉及通过冒充合法文件路径来掩盖恶意内容。

“如果有一个名为‘良性’的无害文件,我就能够[使用 DOS 到 NT 路径转换]在同一目录[也称为]良性文件中创建一个恶意文件,”他解释道,并补充道,同样的方法可用于模拟文件夹甚至更广泛的 Windows 进程。 “因此,当用户读取恶意文件时,原始无害文件的内容将被返回,”让受害者不知道他们实际上正在打开恶意内容。

Yair 解释说,总的来说,操纵 MagicDot 路径可以赋予对手类似 rootkit 的能力,而无需管理员权限。 详细的技术说明 与会议同时讨论攻击方法。

“我发现我可以隐藏文件和进程、隐藏档案中的文件、影响预取文件分析、使任务管理器和 Process Explorer 用户认为恶意软件文件是 Microsoft 发布的经过验证的可执行文件、通过拒绝服务 (DoS) 禁用 Process Explorer漏洞等等,”他说——所有这些都没有管理员权限或在内核中运行代码的能力,也没有干预检索信息的 API 调用链。

“网络安全社区必须认识到这种风险并考虑开发非特权 Rootkit 检测技术和规则,这一点很重要,”他警告说。

一系列“MagicDot”漏洞

在研究 MagicDot 路径的过程中,Yair 还成功发现了与根本问题相关的四个不同漏洞,其中三个已被 Microsoft 修补。

一个远程代码执行(RCE)漏洞(CVE-2023-36396,CVSS 7.8)在Windows针对所有新支持的存档类型的新提取逻辑中,允许攻击者制作恶意存档,一旦提取,该恶意存档将写入远程计算机上他们选择的任何位置,从而导致代码执行。

“基本上,假设您将存档上传到您的 GitHub存储库 宣传它是一个可供下载的很酷的工具,”Yair 告诉 Dark Reading。 “当用户下载它时,它不是可执行文件,您只需提取存档,这被认为是完全安全的操作,没有安全风险。但现在,提取本身就能够在你的计算机上运行代码,这是严重错误且非常危险的。”

第二个错误是特权提升 (EoP) 漏洞(CVE-2023-32054,CVSS 7.3),允许攻击者通过操纵卷影副本的先前版本的恢复过程来写入没有权限的文件。

第三个Bug是Process Explorer非特权DOS反分析Bug,已预留CVE-2023-42757,详情如下。第四个错误也是 EoP 问题,允许非特权攻击者删除文件。微软确认该缺陷导致了“意外行为”,但尚未发布 CVE 或修复方案。

“我在演示文件夹中创建了一个名为......在里面,我写了一个名为 c.txt 的文件,”Yair 解释道。 “然后当管理员尝试删除......文件夹,整个 demo 文件夹将被删除。”

“MagicDot”可能产生更广泛的影响

虽然 Microsoft 解决了 Yair 的特定漏洞,但 DOS 到 NT 路径转换中句点和空格的自动剥离仍然存在,尽管这是漏洞的根本原因。

“这意味着利用这个问题可能会发现更多潜在的漏洞和后利用技术,”研究人员告诉 Dark Reading。 “这个问题仍然存在,并可能导致更多的问题和漏洞,这可能比我们所知道的要危险得多。”

他补充说,这个问题的影响超出了微软的范围。

他警告说:“我们相信,这些影响不仅与世界上使用最广泛的桌面操作系统 Microsoft Windows 相关,而且与所有软件供应商相关,其中大多数供应商也允许已知问题在其软件版本之间持续存在。”在他的演讲中。

同时,他指出,软件开发人员可以利用 NT 路径而不是 DOS 路径,使他们的代码更安全地抵御这些类型的漏洞。

“Windows 中的大多数高级 API 调用都支持 NT 路径,”Yair 在演讲中说道。 “使用 NT 路径可以避免转换过程,并确保提供的路径与实际操作的路径相同。”

对于企业来说,安全团队应该创建检测来查找文件路径中的恶意周期和空格。

“您可以为此开发非常简单的检测,以查找其中带有尾随点或空格的文件或目录,因为如果您在计算机上找到这些内容,则意味着有人故意这样做,因为它不是故意的很容易做到,”Yair 告诉 Dark Reading。 “普通用户不能只创建以点或空格结尾的文件,微软将阻止这种情况发生。攻击者需要使用 较低的API 它更接近内核,并且需要一些专业知识来完成这一任务。”

时间戳记:

更多来自 暗读