
Exploit CVE-2015-3224 - RCE en Rails Web Console
Una implementación en JavaScript (Node.js) del exploit para CVE-2015-3224. Esta herramienta apunta a aplicaciones Ruby on Rails que ejecuten versiones vulnerables de la gema web-console, permitiendo Ejecución Remota de Código (RCE) no autenticada.
CVE-2015-3224 permite a un atacante eludir la protección de lista blanca de IP de la gema web-console de Rails.
web-console es una herramienta de depuración destinada a ser utilizada solo durante el desarrollo. Por defecto, restringe el acceso a la dirección IP 127.0.0.1 (localhost). Sin embargo, las versiones vulnerables verifican la dirección IP del cliente basándose en la cabecera HTTP X-Forwarded-For sin la validación adecuada.
Al elaborar una solicitud con una IP falsificada específica (por ejemplo, 0000::1), un atacante puede engañar a la aplicación para que crea que la solicitud proviene de una fuente local de confianza. Dado que la consola evalúa código Ruby, esto conduce a una Ejecución Remota de Código (RCE) inmediata.
Este script automatiza el proceso de explotación en dos pasos principales:
Reconocimiento y Extracción de Ruta:
data-remote-path oculto, que es un ID de sesión único necesario para interactuar con la consola.Inyección de Carga Útil:
X-Forwarded-For: 0000::1 para eludir la verificación de IP.input (formateado correctamente como un cuerpo codificado en form-url-encoded).fetch).Clone el repositorio y ejecute el script directamente con Node.js:
# Sintaxis
node exploit.js [TARGET_URL] [COMMAND]
# Ejemplo
node exploit.js http://vulnerable-site.com "uname -a"
[*] Objetivo: http://vulnerable-site.com
[*] Comando: whoami
[+] Ruta de consola encontrada: console/repl_sessions/cd984a0d............
[+] Salida del Comando:
---------------------------------------------------
webrick
---------------------------------------------------
Para corregir esta vulnerabilidad, actualice la gema web-console a la versión 2.1.3 o superior en su Gemfile:
gem 'web-console', '>= 2.1.3'
Alternativamente, asegúrese de que la consola web esté estrictamente deshabilitada en entornos de producción.
Distribuido bajo la Licencia MIT.