
CVE-2026-27944 - Nginx UI Unauthenticated Backup Download & Decryption
CVE-2026-27944 - Неаутентифицированное скачивание и расшифровка резервной копии Nginx UI
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/PoC-Exploit-red
Эксплойт типа proof‑of‑concept (PoC) для CVE‑2026‑27944, критической уязвимости в Nginx UI ≤ 2.3.2, которая позволяет любому неаутентифицированному атакующему скачивать и расшифровывать полный архив резервной копии сервера через конечную точку /api/backup.
Резервная копия зашифрована с помощью AES‑256, но ключ шифрования и вектор инициализации (IV) передаются в открытом виде в HTTP-заголовке X‑Backup‑Security, что позволяет немедленно расшифровать данные.
📦 Возможности
info – отображает подробную информацию об уязвимости (описание, первопричина, воздействие).
scan – быстрая проверка, уязвима ли цель (отправляет HEAD-запрос, ищет заголовок X‑Backup‑Security).
exploit – скачивает зашифрованную резервную копию, извлекает ключ/IV из заголовка, расшифровывает данные и сохраняет их в файл.
🚨Воздействие
В случае эксплуатации атакующий может получить:
Учётные данные пользователей и токены сессий (database.db)
Секреты приложения и API-ключи (app.ini)
Приватные ключи SSL и сертификаты (server.key, server.cert)
Полная конфигурация Nginx (nginx.conf)
TLS-ключи для всех размещённых доменов (каталог ssl/)
Обычно это приводит к полной компрометации сервера и горизонтальному перемещению внутри сети.
⚙️ Требования
Python 3.6+
библиотека requests
pycryptodome (для расшифровки AES)
Установите зависимости с помощью:
bash
pip install requests pycryptodome
🔧 Использование
text
usage: CVE-2026-27944.py [-h] {info,scan,exploit} ...
CVE-2026-27944 - Nginx UI Backup Exposure Scanner & Exploit
positional arguments:
{info,scan,exploit} Subcommands
info Display detailed information about the CVE
scan Check if a target is vulnerable
exploit Download and decrypt the backup
optional arguments:
-h, --help show this help message and exit
Примеры
bash
python3 CVE-2026-27944.py info
bash
python3 CVE-2026-27944.py scan 192.168.1.100:9000
bash
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
Расшифрованный файл обычно представляет собой ZIP-архив — переименуйте его в .zip и изучите содержимое.
📚 Как это работает
Скрипт отправляет HEAD-запрос к /api/backup, чтобы проверить наличие заголовка X‑Backup‑Security.
Если заголовок найден, он выполняет GET-запрос для загрузки зашифрованной резервной копии.
Значение заголовка содержит ключ AES‑256 и IV в кодировке Base64, разделённые двоеточием.
Скрипт декодирует их, использует pycryptodome для расшифровки данных (режим AES‑256 CBC) и удаляет выравнивание PKCS#7.
Расшифрованные байты сохраняются в указанный выходной файл.
⚠️ Отказ от ответственности
Этот инструмент предоставляется только в образовательных целях и для исследований в области безопасности.
Несанкционированное тестирование систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, незаконно. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый данным скриптом.
🛡️ Устранение уязвимости
Если вы используете Nginx UI, немедленно обновитесь до версии 2.3.3 или более поздней.
Дополнительно:
Перевыпустите все учётные данные и секреты, которые могли быть раскрыты.
Пересоздайте SSL/TLS сертификаты.
Никогда не открывайте административные интерфейсы для публичного интернета — используйте межсетевые экраны или VPN.
📄 Лицензия
Этот проект лицензирован в соответствии с MIT License — подробности см. в файле LICENSE.
📬 Ссылки
MITRE CVE‑2026‑27944 (заполнитель)
Запись NVD (заполнитель)
Официальный сайт Nginx UI