在 Microsoft Word 的图像链接中进行 UNC 路径注入
翻译:360代码卫士团队
微软 Word 是渗透测试中的一个绝佳攻击向量。从网络应用渗透测试到红队渗透,都可通过 Word 文档抓取 NetNTLM 哈希或在网络中证明出口过滤不足。迄今为止已经存在大量高质量的 Word 攻击向量研究。此前netblosX说明了通过框架集抓取 NetNTLM哈希。本文也通过这个相同的核心理念说明一种稍有不同的方法:通过一个链接插入一个图像。
有用的工具:
Brup Suite Pro(collaborator客户端)
Inveigh 或
Responder (哈希抓取)
7zip(打开文档)
链接一个图像
要链接一个图像,首先打开“插入”页签并点击“图片”图表,随后explorer窗口打开。在文件名称字段输入恶意URL,点击“插入”下拉列表选择“链接到文件”。这个Burp Collaborator链接是为了更容易地进行演示。
链接后,破损的图像大小就可被压缩成0。如果你的恶意文档用于红队或者社工活动,这就是一个优势了。
记得将更改保存到文档中。现在不管何时打开文档,微软 Word 都会尝试在文档中解析这个链接图像。这些请求记录在 Burp Collaborator 客户端上。
通过 UNC 路径注入捕获 NetNTLM 哈希
再次说明一下,这里讨论的方法跟 netbioX博客中说明的方法十分相似。通过 7zip 提取Word 文档中包含的文件。我们想要修改的文件是位于\your_word_doc.docx\word\_rels\下的 document.xml.rels。这个文件包含一个关系及其相关目标的列表。这里说的“关系”将成为“图像”类型。将“Target”的值设为侦听主机的 UNC 路径。
保存文件并通过 7zip 将其复制到 word 文档中。
用户打开 Word 文档时,inveigh 或 Responder 将会抓取收到的认证请求。
这种方法的一个主要优势是,终端用户无法获知 Word 试图连接到一个恶意 URL 或 UNC 路径。文档打开时就会提出请求,而且启动时不会显示 URL 或 UNC 路径。
通过 PowerShell 枚举关系目标
以上方法虽然简单但非常强大,因为它利用的是微软 Office 中受信任的内在功能。以下将说明如何在不使用 7zip 的情况下通过两种极其简单的方法枚举关系列表。很多取证工具集能更加有效地实现这个目标如Yara,而这并非是一种全面的取证方法。
可使用 Word.Application COM 对象访问 Word 文档的内容。仅需一些简单的命令就可实现这个目标。 WordOpenXML 属性包含文档中的 Relationships。
如此就能成功地枚举文档中的所有 Relationships 及其相应的目标。问题就在于,当使用 Word.Application COM对象时,就会启动一个 Word 进程而且 URL/UNC 路径会被解析。
为避免这个问题,我们可使用 DocumentFormat.OpenXML 库枚举文档中所有的 External Relationship。在测试中这种方法不会抓取到任何 collaborator 请求或认证请求。
再进一步, DeleteExternalRelationship 方法会通过提供 relationship id $doc.MainDocumentPart.DeleteExternalRelationship("rId4")来删除带有外部 URL 的关系。
参考资料:
https://pentestlab.blog/2017/12/18/microsoft-office-ntlm-hashes-via-frameset/
关联阅读
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。
原文链接:
https://blog.netspi.com/microsoft-word-unc-path-injection-image-linking/