
The Outlook HTML Leak Test Project
可在 Windows 中生效的 URI 方案列表。这些方案/协议在类似的研究中可能有助于发现新漏洞或绕过现有防护。其他产品也可能受到类似影响,但此处未对此进行研究。
有意思的是,使用 MS Office 打开此文件所需时间比平时更长,这可能表明 Excel 正在对其中的一些方案进行某些处理。这是发现 Bug/功能的好迹象!
HTML 标签列表,这些标签可能自动或通过用户交互向其他资源发送请求。 此文件基于以下来源生成:
在一次评估工作中,我在 Outlook 2010 中收到了一封包含类似以下图片标签的 HTML 电子邮件:
<img src="https://raw.githubusercontent.com/nccgroup/outlookleaktest/HEAD/example.com/test/image.jpg" >
我注意到 Outlook 在打开该邮件后似乎在查找某些内容,并且完全打开它所需的时间比平时更长。我很快意识到,Outlook 实际上将该 URL 当作 \\example.com\test\image.jpg 使用,并向 example.com 发送了一个 SMB 请求。
尽管即使在所提供的 SMB 路径有效时它也没有加载图片,但它可以将我的 SMB 哈希发送到任意位置。这种攻击在 Outlook 2016 上无效,不过它促使我开始了一个小型研究项目,尝试不同的、接受带有不同 URI 方案和特殊有效载荷的 URI 的 HTML 标签。
我设计了一个快速(且粗糙)的 ASP.NET 应用程序,使用 ASPOSE.Email (https://downloads.aspose.com/email/net) 和 Microsoft Office Interop 库,从而得以针对不同目标测试一系列已知的 URI 方案。该应用程序生成与 Outlook 中接收或发送的电子邮件类似的只读 MSG 文件。 cure53 HTTPLeaks 项目 (https://github.com/cure53/HTTPLeaks) 经过少量修改后被用作生成电子邮件的 HTML 模板。本研究中使用的粗糙 C# 代码、URI 方案、公式和 HTML 模板均可在此仓库中找到。
为减少复杂性,使用了 Wireshark 和 Sysinternals 套件中的 Process Monitor 来检测远程和本地文件系统调用。
Outlook 在打开精心构造的 HTML 电子邮件时会发送外部 SMB/WebDAV 请求。此问题可能被滥用以劫持受害者的 SMB 哈希,或判断收件人是否已查看某条消息。 该问题是在 Outlook 默认设置(阻止加载图片等外部资源)下被利用的。 这些请求在打开电子邮件后立即发送。当 SMB 端口被阻止时,会发送端口 80 上的 WebDAV 请求。有关更多详情和修复方案,请参阅 https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2018/may/smb-hash-hijacking-and-user-tracking-in-ms-outlook/
尽管 \\ 模式被 Outlook 阻止,但仍发现了许多其他模式和 URI 方案,可迫使 Outlook 向远程服务器发送请求。
下表显示了已识别的攻击向量:

以下 URI 方案也可用于针对本地文件系统,可能会很有用:

OutlookLeakTest 项目版权所有(Copyright)2018,NCC Group,并根据 Apache 许可证授权(见 LICENSE)。