CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用

漏洞简介

该漏洞是去年四月FireEye公布的一个OFFICE 0day,在无需用户交互的情况下,打开word文档就可以通过hta脚本执行任意代码。经过研究发现,此漏洞的成因主要是word在处理内嵌OLE2LINK对象时,通过网络更新对象时没有正确处理的Content-Type所导致的一个逻辑漏洞。

受影响的版本
Microsoft Office 2016
Microsoft Office 2013
Microsoft Office 2010
Microsoft Office 2007

复现过程

首先,创建一个正常的word文档,作为将要链接的rtf对象,就叫做test.docx吧。

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第1张图片
test.docx

然后,将 test.docx重命名为 test.rtf后放到 Apache服务器上面,并创建另一个文档,选择插入->对象->由文件创建,输入rtf文件路径后选择 链接到文件。然后将该文件另存为rtf文件,就叫他 exp.rtf吧。

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第2张图片
exp.rtf

此时,打开exp.rtf可以看到刚刚链接的test.rtf是以一个整体的格式显示。

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第3张图片
exp.rtf

这时,我们在服务器端修改test.rtf文件为Visual Script Script代码需要注意反斜杠的转义,这段代码将弹出本地计算器。

test.rtf

当然,需要改一下Apache的配置,该代码会将该目录下的文件识别为hta脚本,然后重启服务器。


    Header set Content-Type "application/hta"

点击“是”即可弹出计算器,此时用010Editor打开该文档,将\object\objautlink\rsltpict替换为\object\objautlink\objupdate\rsltpict,虽然仍然会有提示,但不需与用户交互,计算器便会自行弹出。

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第4张图片
修改前1

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第5张图片
修改前2

CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第6张图片
修改后

利用过程

由上述部分,我们已经可以成功在打开exp.rtf的电脑上执行VBS代码,现在思路为将服务端的后门下载到本地运行,在远程监听,即可实现利用。

  • 后门准备
    利用最metasploit生成喜闻乐见的meterpreter后门,放在与test.rtf相同目录下。

    后门准备

  • 修改代码
    由于前面漏洞复现的时候已经有了VBS运行程序的代码,只需再找一条下载文件的代码就行了,代码如下。


  • 服务器监听
    metasploit配置监听本地端口。

    CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第7张图片
    服务器监听

  • 反弹shell
    在靶机上打开exp.rtf,进程中出现下载到本地的后门aaa.exe。返回服务器查看,shell反弹成功。

    CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第8张图片
    执行成功

    CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用_第9张图片
    反弹成功

参考文章

Tuuu's Blog
嘶吼的一篇文章

你可能感兴趣的:(CVE-2017-0199 Microsoft Office 逻辑漏洞复现和利用)