CVE-2017-0199——首个Microsoft Office RTF漏洞

简介: 本文讲的是CVE-2017-0199——首个Microsoft Office RTF漏洞,FireEye最近检测到使用CVE-2017-0199漏洞的恶意Microsoft Office RTF文档,这是以前从未发现的漏洞。
本文讲的是 CVE-2017-0199——首个Microsoft Office RTF漏洞

CVE-2017-0199首个Microsoft Office RTF漏洞

FireEye最近检测到使用CVE-2017-0199漏洞的恶意Microsoft Office RTF文档,这是以前从未发现的漏洞。CVE-2017-0199漏洞发布日期为2017年4月11号,受影响系统包括:

Microsoft Office 2016
Microsoft Office 2013
Microsoft Office 2010
Microsoft Office 2007

当用户打开包含嵌入式漏洞的文档时,此漏洞允许恶意攻击者下载并执行包含PowerShell命令的Visual Basic脚本。 FireEye已经观察到Office文档利用CVE-2017-0199下载并执行来自不同恶意软件家族的恶意程序有效载荷。

漏洞修复地址:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0199

建议大家赶紧升级,因为该漏洞会绕过目前已知的大多数缓解,不过根据我们的研究,目前CVE-2017-0199漏洞似乎还无法绕过然而FireEye的安全防护。

三阶段攻击过程还原

攻击者通过OLE2对象链接与嵌入技术把要嵌入恶意脚本的对象发送到目标用户的Microsoft Word文档中。当用户打开文档时,winword.exe会向远程服务器发出HTTP请求,以检索恶意HTA文件,服务器返回的文件是一个带有嵌入式恶意脚本的假RTF文件。

Winword.exe通过COM对象查找application / hta的文件处理程序,这会导致Microsoft HTA应用程序(mshta.exe)加载并执行恶意脚本。就在这个漏洞公布之前, FireEye已经在观察到的两个文档中,发现了以下恶意行为:

1.有恶意脚本终止winword.exe进程,
2.有恶意脚本下载了额外的有效载荷并加载了带有攻击诱饵的文件,
3.原来的winword.exe进程被终止以隐藏OLE2link生成的用户提示,如下图所示:

CVE-2017-0199首个Microsoft Office RTF漏洞

Visual Basic脚本隐藏了用户提示

恶意文件1 ——MD5:5ebfd13250dd0408e3de594e419f9e01

FireEye所确认的第一个含有CVE-2017-0199漏洞的恶意文件的攻击过程总共分三个阶段。OLE2通过winword.exe向目标URL发送已经嵌入恶意脚本的文档,以下载第一阶段的恶意HTA文件:

http[:]//46.102.152[.]129/template.doc

一旦下载,恶意的HTA文件由“application/hta”处理程序处理。下图中,突出显示的行显示了第一次下载,其次是附加的恶意有效载荷:

CVE-2017-0199首个Microsoft Office RTF漏洞

第一阶段攻击过程

一旦下载,模板文件就会被存储在用户的临时Internet文件中,名称为[?].hta,其中[?]在运行时就已被确定。

Mshta.exe负责处理Content-Type“application / hta”,解析内容和执行脚本,下图显示了winword.exe查询“application / hta”处理程序的CLSID的注册表值:

CVE-2017-0199首个Microsoft Office RTF漏洞

Winword查询注册表值

Winword.exe向DCOMLaunch服务发出请求,这又导致托管DCOMLaunch的svchost.exe进程执行mshta.exe。然后,Mshta.exe执行嵌入恶意HTA文档中的脚本,下图显示了第一阶段下载的VBScript:

CVE-2017-0199首个Microsoft Office RTF漏洞

第一个文件,第一阶段中VBScript

上图所示的脚本会执行以下恶意操作:

1.使用taskkill.exe终止winword.exe进程,以隐藏图1所示的提示,
2.从http[:]//www.modani[.]com/media/wysiwyg/ww.vbs下载一个VBScript文件,并将其保存到%appdata% Microsoft  Windows  maintenance.vbs,
3.从 http[:]//www.modani[.]com/media/wysiwyg/questions.doc下载诱饵文件,并将其保存到%temp% document.doc,
4.关闭microsoft 15.0和16.0的弹窗,以便保证Microsoft Word看似正常运行,
5.执行恶意阶段的两个VBScript:%appdata%MicrosoftWindowsmaintenance.vbs
6.打开诱饵文档%temp% document.doc,以隐藏用户的恶意活动

一旦执行,第二阶段下载的VBScript(ww.vbs/maintenance.vbs)将执行以下操作:

1.将嵌入式混淆的脚本写入%TMP%/ eoobvfwiglhiliqougukgm.js

2.执行脚本

混淆的eoobvfwiglhiliqougukgm.js脚本在执行时执行以下操作:

1.尝试从系统中删除自己

2.尝试下载http[:]//www.modani[.]com/media/wysiwyg/wood.exe(最多44次),并将文件保存到%TMP% dcihprianeeyirdeuceulx.exe

3.执行%TMP% dcihprianeeyirdeuceulx.exe

下图显示了进程中所发生的执行任务:

CVE-2017-0199首个Microsoft Office RTF漏洞

进程事件

在这种恶意软件中使用的最终有效载荷是LATENTBOT恶意软件家族中最新的一个版本:

CVE-2017-0199首个Microsoft Office RTF漏洞

第一个文档的文件元数据

LATENTBOT有效载荷

与第一个文档相关联的有效载荷是LATENTBOT恶意软件家族中最新的一个版本,LatentBot,从2013年年中就开始活跃。它有能力在不被察觉的情况下监视用户,可以破坏硬盘甚至破坏计算机,隐蔽是它的其中的一个特点,LATENTBOT的恶意代码在内存中的时间十分短暂,所以至今 LATENTBOT也不为安全专家所了解。

出LATENTBOT的一些主要特性如下:

1.多层混淆
2.内存中解密用的字符串用后即删
3.在不同的桌面影藏应用
4.主引导记录(MBR)清除功能
5.与赎金锁(Ransomlock)类似的锁定桌面功能
6.隐藏VNC连接
7.模块化设计,在受害者机器上可轻松进行更新
8.十分隐蔽的反弹通信量,APIs,注册表键值以及其他一些动态解密指示
9.将Pony恶意软件作为其中一个模块窃取信息

较新版本的LATENTBOT具有用于Windows XP(x86)和Windows 7操作系统的不同注入机制:

1.Attrib.exe修补:LATENTBOT木马会调用Attrib.exe,修补内存中的条目,并插入一个JMP指令将控件传输到映射部分。要在atrrib.exe的地址空间中映射该部分,就要使用ZwMapViewOfSection(),

2.Svchost代码注入:Attrib.exe以挂起模式启动svchost.exe进程,创建空间,并通过调用ZwMapViewOfSection()分配代码,

3.控制传输:然后使用SetThreadContext()修改主线程的OEP,这将在远程进程中执行以触发代码执行,

4.浏览器注入:在NtMapVIewOfSection()的帮助下将最终的有效载荷注入默认的Web浏览器。

在Windows 7或更高版本的操作系统中,LATENTBOT木马不使用attrib.exe。而是将代码注入到svchost.exe中,然后通过利用NtMapViewOfSection()启动具有恶意有效载荷的默认浏览器。然后连接到以下命令和控制(C2)服务器:

CVE-2017-0199首个Microsoft Office RTF漏洞

在与C2服务器成功连接后,LATENTBOT会生成一个信标。其中一个解密的信标如下,更新版本号为5015:

CVE-2017-0199首个Microsoft Office RTF漏洞

在分析时,C2服务器处于脱机状态,LATENTBOT具有高度模块化的插件架构。截至2017年4月10日, www.modani[.]com/media/wysiwyg/wood.exe上托管的恶意软件已更新,C2服务器已移至 217.12.203[.]100。

恶意文件2 – (MD5:C10DABB05A38EDD8A9A0DDDA1C9AF10E)

FireEye识别出的第二个恶意文件包括两个恶意攻击阶段,在第一个阶段中,恶意程序会到以下网址下载阶段一所需的恶意HTA文件:

http[:]//95.141.38[.]110/mo/dnr/tmp/template.doc

该文件会下载到用户的临时Internet文件目录中,名称为[?].hta,其中[?]在运行时已经被确定。一旦下载,winword.exe就会使用mshta.exe解析该文件。 mshta.exe通过文件查找<script> </ script>标签进行解析,并执行包含的脚本,如下图所示:

CVE-2017-0199首个Microsoft Office RTF漏洞

第二个文件,第一阶段中的VBScript

从上图中,我们可以看到以下6个恶意操作:

1.使用taskkill.exe终止winword.exe进程,以隐藏图1所示的提示,
2.从 http[:]//95.141.38[.]110/mo/dnr/copy.jpg下载可执行文件,将其保存到%appdata%MicrosoftWindowsStart MenuProgramsStartupwinword.exe
3.从http[:]//95.141.38[.]110/mo/dnr/docu.doc下载文档,将其保存到%temp% document.doc
4.清理Word版本15.0和16.0的Word Resiliency key,以便Microsoft Word将正常重新启动
5.在%appdata%MicrosoftWindowsStart MenuProgramsStartupwinword.exe中执行恶意的负载
6.打开诱饵文档%temp%document.doc,以隐藏用户的恶意活动

检查恶意的有效载荷显示,它是被它是被微软称为WingBird的注入器的一个变体,它具有与FinFisher类似的特性。这个恶意软件在经过复杂的混淆处理后,已经具有了多种反分析措施,包括自定义虚拟机以缓慢分析:

CVE-2017-0199首个Microsoft Office RTF漏洞

第二个文件元数据

具FireEye的观察到,CVE-2017-0199是Microsoft Word中的一个漏洞,允许攻击者执行恶意的Visual Basic脚本。由于 CVE-2017-0199漏洞是由一个逻辑错误引起的,可以绕过了大多安全产品的防护缓解。CVE-2017-0199漏洞在执行恶意脚本后,会下载并执行恶意的有效载荷,并向受害者发送诱饵文件。

以下这两个文件都可以实现其恶意有效载荷的执行,其中一个包含LATENTBOT,另一个包含WingBird/FinFisher。实际上,这个恶意文件中只含有一个指向攻击者控制的服务器的链接。




原文发布时间为:2017年4月13日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
3月前
|
安全 C# 开发者
.NET开源的一键自动化下载、安装、激活Microsoft Office利器
.NET开源的一键自动化下载、安装、激活Microsoft Office利器
|
测试技术
Win系统 - Microsoft Office 安装出现 1935 错误解决办法
Win系统 - Microsoft Office 安装出现 1935 错误解决办法
452 0
Win系统 - Microsoft Office 安装出现 1935 错误解决办法
|
数据库 开发者
软件工程高效学 | 实践工具:Microsoft Office Visio
软件工程是计算机领域的一门专业基础课,它对于培养开发者的软件素质、提高开发者的软件开发能力与软件项目管理能力具有重要意义。本篇介绍实践工具——Microsoft Office Visio。
390 0
软件工程高效学 | 实践工具:Microsoft Office Visio