几乎所有人都会使用 Microsoft Office 文档。我们在许多地方都能用到 Office 文档,包括工作文档、电子收据和新公寓的租赁合同等等,因此在收到的电子邮件中如果有 Office 文档的附件时,我们很有可能会直接打开。网络攻击者知道,即使并非来自信任的来源,人们仍然会打开绝大部分的文档,因此攻击者通常会将这些文件用于侵害系统的攻击中。
在本威胁简报中,我们将展示五种不同的破坏和滥用方法,是如何利用 Office 文档发动攻击和侵害 Windows 端点的,其中一些方法已经发布过,另外一些方法则是首次介绍。
宏
宏是攻击者将 Office 文档作为攻击手段的最直接方式。Office 应用具有一个可运行 VBA (Visual Basic for Applications) 脚本的内置脚本引擎。这些脚本可以在文档打开时立即执行而无需任何用户交互(假设用户先前已启用宏),并在系统上运行恶意代码。如果用户未启用宏,则会出现一个弹出窗口,要求用户单击以启用宏。该弹出窗口是 Microsoft 添加的几种安全机制之一,用于降低宏所造成的安全风险。Microsoft 还将强制使用不同的文件扩展名(包含宏的新文档扩展名为 .docm 而不是 .docx)。虽然采取了这些措施,但是用户仍会选择打开这些文件并启用文件内容,从而使宏一直成为常见的攻击媒介(无论是大范围攻击还是简单的攻击),以传输诸如 Emotet 这样的勒索软件,或发动 Sofacy 这样的复杂攻击活动。
图 1. 启用内容之前和之后的 Sofacy 文档
如图所示,攻击者利用社交工程试图说服用户禁用由 Microsoft 添加的安全机制,并说服用户启用内容以便查看完整文档。在 Sofacy 示例中,攻击者只是将字体颜色设置为白色,因此文本在用户启用宏之前就已存在,只是未清晰显示出来。
嵌入式 Flash 文件
除内置功能(如宏)外,还可在 Office 文档中嵌入外部对象,例如 Adobe Flash 文件。由于这些对象将被传递到相应软件进行处理,因此也可以通过将软件漏洞嵌入 Office 文档的 Adobe Flash 内容中来达到利用这些漏洞的目的。攻击者利用此攻击媒介的一个例子是 CVE-2018-4878,这是通过在 Excel 文档中嵌入 SWF 文件,对 Adobe Flash Player 进行的零日漏洞利用。在这些类型的攻击中,恶意 Excel 文档中包含的 Adobe Flash 内容会触发 Flash 漏洞并执行嵌入的 shellcode。
Microsoft 公式编辑器
与将 Adobe Flash 文件嵌入 Office 文档的方式类似,您还可以在文档中嵌入由 Microsoft 公式编辑器(通过此程序可轻松编写数学公式)解析的公式:
图 2.Microsoft 公式编辑器
与前面的示例一样,攻击者可通过恶意 Office 文档来利用公式编辑器中的漏洞。据我们最近了解到,当 CVE-2017-11882 遭到利用时,如 CVE-2018-0802 之类的漏洞也会遭到利用,这两种存在于公式编辑器的漏洞能够让攻击者在用户打开 Office 文档时远程执行代码。虽然尚未找到实际的使用案例,但 Unit 42 的研究人员发现一些 Microsoft 公式编辑器中存在的类似漏洞利用,如 CVE-2018-0807 和 CVE-2018-0798。
请注意,由于 Microsoft 公式编辑器作为单独的进程 (eqnedt32.exe) 运行,针对 Microsoft Office 的防护手段(如 EMET 和 Windows Defender Exploit Guard)并不能起到防护作用,因为它们仅会保护 Microsoft Office 进程(如 winword.exe)。
OLE 对象和 HTA 处理程序
OLE 对象和 HTA 处理程序是 Office 文档用于进行参考以在其内容中包含其他文档的机制。攻击者可通过以下方式借助这些机制来入侵端点:
- 在 Microsoft Word 文档中嵌入 OLE2 嵌入式链接对象
- 在打开文档后,Word 进程 (winword.exe) 会向远程服务器发送 HTTP 请求以检索包含恶意脚本的 HTA 文件
- 然后,winword.exe 将通过 COM 对象查找应用/hta 的文件处理程序,这会导致 Microsoft HTA 应用 (mshta.exe) 加载并执行恶意脚本
通过利用 Microsoft 在 2017 年 9 月修复的 CVE-2017-0199(Microsoft Office/WordPad 远程代码执行 (RCE) 漏洞),便可使用该功能进行多种攻击活动,例如 OilRig 攻击活动。
图 3.RTF 文件外观与常规 Word 文档完全相同
除之前所述的 OLE 和 HTA 漏洞利用外,攻击者发现 RTF 文件还能使用 MSHTML 执行“text/html”mime 类型的 OLE 对象。这意味着 RTF 文档暴露出的攻击范围与 Internet Explorer 相同!
利用此逻辑漏洞 (CVE-2018-8174),攻击者可以执行任意 HTML/JavaScript/VBScript。虽然通过这种方法执行的代码处于沙箱模式(无法运行新进程或向文件系统中写入内容等),但与 Internet Explorer 中运行的其他代码一样,可以通过此缺陷实现对其他漏洞的利用(如 VBScript 引擎中的内存损坏 UAF 漏洞),获得在 Word 应用 (winword.exe) 中执行任意代码的权限并获取系统的控制权。
结语
虽然十多年来基于文档的攻击一直是常见的攻击载体,但我们发现最近此类攻击的流行程度和复杂程度都处于上升趋势。这种上升可能是因为浏览器开发人员对产品的强化,导致利用浏览器漏洞的难度不断增大。无论原因如何,组织都必须掌握如何防御这些常见技术。
防御
为防御这些威胁,Palo Alto Networks Traps advanced endpoint protection 提供了多种恶意软件和漏洞利用的防护手段:
- 宏检查 - Traps 利用基于 WildFire 威胁情报云和本地机器学习的功能检测每个 Office 文档中的恶意宏,以防止用户打开这些恶意文件。
- 漏洞利用防护 - Traps 广泛的漏洞利用防护功能可以防止此类漏洞利用尝试在受攻击端点上成功运行恶意 shellcode。
- Traps 会持续监控 Office 应用,确保合法内置进程不会被用来执行恶意流量。