首页
社区
课程
招聘
[翻译]Office 365高级威胁防御针对近期利用Office漏洞攻击企业网络的分析及防御措施
2018-4-23 20:24 3380

[翻译]Office 365高级威胁防御针对近期利用Office漏洞攻击企业网络的分析及防御措施

2018-4-23 20:24
3380

近几个月来,Office 365 威胁研究团队就不同行业遭受的Office漏洞攻击及利用方面有了新的研究成果。在本篇博文中,我们将回顾其中的几个漏洞,包括一组被攻击者在攻击目标中利用的Office漏洞,与恶意软件的攻击类似。我们还将提供相关漏洞的Payload,并强调对某个特别复杂的恶意软件的研究。最后我们将演示 Office 365 Advanced Threat Protection, Windows Defender Advanced Threat Protection, 以及Windows Defender Exploit Guard 是如何保护用户不受这些漏洞攻击的。

2017年秋季的漏洞利用攻击

在过去六个月中,我们的团队发现并公布了一些Office漏洞,导致它们在恶意软件和有相似目标的攻击者中流行起来。当一些恶意软件攻击者坚持研究如ransomware和info stealers等漏洞的payload来获取经济收益及窃取信息时,更精明的攻击者会通过使用高级的多级注入来使他们脱颖而出。

 

Office 365威胁研究团队一直在密切监视这些攻击。微软威胁情报中心(MSTIC)使用高级威胁情报服务来支持我们的威胁研究,我们用它来关联和追踪攻击及其背后的攻击者。

CVE-2017-0199

CVE-2017-0199是Microsoft Office中的远程代码执行(RCE)漏洞,即如果用户忽略了受保护视图的警告消息,远程攻击者便有机会控制这台易受攻击的电脑。这是一个通过URL moniker的htafile OLE对象来执行HTA文件的逻辑漏洞,并在2017年4月的安全更新中被修复。

 


图1.CVE-2017-0199 Exp

 

自从FireEye发布了关于此漏洞的博文以来,我们已经发现了许多利用这个漏洞的攻击方式。原始的Exp仅限于目标攻击,但不久之后,商业化的恶意软件就开始从公开可用的漏洞生成工具包中选择不同的攻击方式。如图2所示,创建者和lastModifiedBy属性可帮助识别在生成漏洞利用文件时是否使用了此类工具包。

 


图2.Exp工具包识别器

 

这一次script moniker的一个小变化也被发布了。被激活后,此漏洞可以启动托管在远程服务器上的scriptlet(由HTML代码和脚本组成)。PoC公开后,使用Microsoft PowerPoint幻灯片(PPSX)文件激活script moniker并执行远程代码为公众可用,如图3所示。

 


图3.script moniker激活PPSX

CVE-2017-8570

Microsoft 2017年7月的安全更新中也包括了CVE-2017-0199的另一种变体漏洞的修复,即CVE-2017-8570,被发现于URL moniker中,类似于HTA文件,可以启动托管在远程服务器上的scriptlet。虽然这个漏洞不是0day,但公开可用的漏洞利用工具包也创造了一些恶意的PPSX文件。

CVE-2017-8759

2017年9月,FireEye发现了另外一个用作目标攻击的0day利用。CVE-2017-8759漏洞利用是当使用SOAP moniker解析WSDL definition元素时,其.NET框架中便能轻松进行代码注入。此漏洞在2017年9月的安全更新中被修复。原始漏洞利用类似于CVE-2017-0199的HTA文件在易受攻击的机器中执行攻击者的代码。这种利用方式激起了我们的兴趣,因为它提供了最复杂和多个VM分层的恶意软件之一——FinFisher,我们将在后面的章节讨论它的技术。

 

CVE-2017-8759漏洞很快就被移植到了PPSX文件中。下图4就是这个漏洞的一个例子。

 


图4.CVE-2017-8759 Exp

CVE-2017-11826

最后,在2017年9月28日,奇虎360发现了一个RTF文件,其目标攻击利用了Microsoft Office中的内存损坏漏洞。该漏洞是由于使用了office嵌套标签来解析参数造成的,并在2017年10月安全更新中修复。强制地址空间布局随机化(ASLR)能防止了漏洞在Office 2013及更高版本中运行。图5是可以导致该bug的嵌套标签。

 


图5.CVE-2017-11826 Exp

Payloads

除了内存损坏漏洞CVE-2017-11826外,本篇文章中讨论的其他漏洞利用都是从远程主机上提取payload,这使杀毒软件和沙盒很难检测出它们。并且,生成利用模板的脚本的公开可用性让应急响应变得非常具挑战性。

 

如前文所说,这些exp被用于商业和目标攻击。攻击者试图使用不同的混淆技术绕过AV引擎的防御,下面有一些我们最近分析的在攻击中使用的混淆技术:

  • 攻击者使用“HLFL”作为恶意RTF附件的元素类型。RTF官方说明中是不支持这种元素的,但在静态检测中起到了混淆作用。

  • 类似的,我们发现攻击者也会在恶意RTF文件中使用用“ATNREF”和“MEQARR”元素。

我们分析过的大多数攻击中,使用PowerShell来下载和执行恶意payload的exp,类似于犯罪软件,如勒索软件或信息窃取软件。

 


图6.HTA文件中的Powershell payload

 

然而,不时的,我们会偶然发现一个有趣的、引人注目的恶意软件。其中一个例子就是Wingbird,也被称为FinFisher,它是利用CVE-2017-8759 exp的目标攻击之一。

WingBird (即FinFisher)

Wingbird是一个高级的恶意软件,它与政府级的商业监控软FinFisher有共同特征。NEODYMIUM就是因使用这个恶意软件发起攻击而出名的组织。

 

正如我们在CVE-2017-8759的博文中提到过的,WingBird背后的团队已被证明能够利用0day漏洞来进行攻击。到目前为止,我们已经发现了该团队在攻击中使用了以下漏洞。它们大多与卡巴斯基实验室的研究结果一致,这些成果已经以文件形式发布在一个博客中:

  • CVE-2015-5119 (Adobe Flash)

  • CVE-2016-4117 (Adobe Flash)

  • CVE-2017-8759 (Microsoft Office)

  • CVE-2017-11292 (Adobe Flash)

这个恶意软件最有趣的是使用了spaghetti code,多虚拟机、大量的反debug和反分析技术。由于威胁具有复杂性,分析师大概要花些时间才能弄明白恶意软件的功能。以下是一些有趣的小总结,我们将在即将发布的Wingbird的详细报告中进行扩展。

 

Wingbird有多个执行阶段,并且至少有四台虚拟机保护其代码。前几个阶段是加载器,它能够检测出是否在虚拟或调试环境中运行。我们至少发现了12种不同的方法来避免恶意软件在这些环境中运行。最有效的方法是:

  • 沙盒环境检测

    • 检查恶意软件是否在驱动器的根文件夹下执行

    • 检查恶意软件的文件是否可从外部源读取,执行路径是否包含其自身内容的MD5

  • 指纹检测

    • 检查电脑的GUID、Windows产品ID、系统BIOS的源是否可靠
  • VM检测

    • 检查电脑硬件ID是否为VmBus(在HyperV下),或者为VEN_15AD (VMware下)。
  • 调试检测

    • 检测调试器并尝试使用非官方的API和Information类来结束(特别是ThreadHideFromDebugger,ProcessDebugPort,ProcessDebugObjectHandle)

后面的阶段类似于一个安装程序,将下列文件放在磁盘上,并根据前几个阶段收到的启动命令来安装恶意软件:

  • [randomName].cab- 加密的配置文件。

  • setup.cab setup模块中最后的PE代码部分; 内容仍未知。

  • d3d9.dll。 系统上使用的恶意软件loader的权限是受限制的; 该模块受VM保护。

  • aepic.dll(或其他名称) 管理特权系统上使用的恶意软件loader; 是从(并且被注入)伪造的服务中执行的; 受VM保护。

  • msvcr90.dll 注入 “explorer.exe” 或 “winlogon.exe”进程的loader DLL; 受VM保护

  • [randomName] .7z 加密网络插件,用于检测受害者网络通信

  • wsecedit.rar 主要恶意软件删除的可执行文件,受VM保护

在我们分析过的例子中,该命令为3,它使恶意软件创造一个全局事件,即0x0A7F1FFAB12BB2,并删除位于%ProgramData%或%APPDATA%文件夹下的文件夹目录中的恶意软件的组件。如果恶意软件以限制权限运行,则通过将RUN键设置为下面的值来实现其持久性。密钥的名称取自加密的配置文件。

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Value: “{Random value taken from config file}”
With data: “C:\WINDOWS\SYSTEM32\RUNDLL32.EXE C:\PROGRAMDATA\AUDITAPP\D3D9.DLL, CONTROL_RUN”

 

如果启动命令是2,本地安装目录中恶意软件的副本explorer.exe将重命名d3d9.dll为uxtheme.dll,并创建一个新的explorer.exe进程,该进程使用DLL sideloading技术在内存中加载恶意软件DLL。

 

所有的WingBird的插件都被存储在其资源部分,并未恶意软件提供多种功能,包括窃取敏感信息、监视互联网连接,甚至转移SSL连接。

 

鉴于威胁的复杂性,我们会在即将发布的博文中提供对Wingbird保护机制和功能的详细分析。

用office365APT和Windows Defender套件检测office利用攻击

Microsoft Office 365 Advanced Threat Protection通过检测恶意行为来拦截这些漏洞攻击。Office 365 ATP通过拦截不安全的附件、恶意链接和链接文件的电子邮件来保护邮件。SecOps的工作人员能够可以在Office 365的“Threat Explorer ”页面中看到如下所示的ATP行为检测结果:

 


图7.Office 365 ATP检测

 

使用Windows Defender Advanced Threat Protection的用户还可以看到因攻击者在受攻击的计算机上执行活动而产生的警告。Windows Defender Advanced ATP是攻击后的解决方案,可以向SecOps人员发出恶意活动的警告消息。Windows Defender ATP拥有丰富的安全数据,高级的行为分析师和机器学习来防御攻击。

 


图8.Windows Defender ATP警报

 

如果要测试Windows Defender ATP如何帮助您的组织检测,调查和响应高级攻击,请注册免费试用版。

 

除此之外,企业也可以使用Windows Defender Exploit Guard来拦截恶意文件,这属于Windows 10秋季创意者更新中深度防御保护的一部分。Windows Defender Exploit Guard中的ASR(Attack Surface Reduction)功能使用一系列内置的智能功能,这些功能可以阻止在恶意文档中检测到的恶意行为。SR规则可以在Microsoft Outlook或者 webmail(如Gmail, Hotmail, 及Yahoo!)中使用,以拦截恶意附件。

 


图9.Windows Defender Exploit Guard检测

 

犯罪软件和有针对性活动组织一直在寻找攻击媒介以渗透系统和网络,并部署从商品到高级植入物的不同种类的payload。这些攻击媒介包括Office漏洞利用,这我们已从大量的攻击活动中见证过了。开源和现成漏洞利用的可用性有助于推动这一趋势。

 

在微软,我们一直在为保护客户的邮箱而努力工作。我们的全球网络专家研究团队也在持续地监控新恶意软件的活动、漏洞利用和攻击方法所带来的威胁。端到端的防御软件包括Office 365 ATP,Windows Defender ATP和Windows Defender Exploit Guard等,它们共同为个人和企业提供全面的保护。

 

原文链接:https://cloudblogs.microsoft.com/microsoftsecure/2017/11/21/office-365-advanced-threat-protection-defense-for-corporate-networks-against-recent-office-exploit-attacks/

 

翻译:看雪翻译小组 Logdty

 

校对:看雪翻译小组 cherrir


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2019-2-2 10:29 被admin编辑 ,原因: 图片本地化
收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 19586
活跃值: (60153)
能力值: (RANK:125 )
在线值:
发帖
回帖
粉丝
Editor 2018-5-7 15:10
2
0
图片不见了......
游客
登录 | 注册 方可回帖
返回