
CVE-2026-27944 - Nginx UI Nicht authentifizierter Backup-Download & Entschlüsselung
CVE-2026-27944 - Nginx UI Nicht authentifizierter Backup-Download & Entschlüsselung
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
Ein Proof-of-Concept-Exploit (PoC) für CVE‑2026‑27944, eine kritische Schwachstelle in Nginx UI ≤ 2.3.2, die es jedem nicht authentifizierten Angreifer ermöglicht, das vollständige Backup-Archiv des Servers über den /api/backup-Endpunkt herunterzuladen und zu entschlüsseln.
Das Backup ist mit AES‑256 verschlüsselt, aber der Verschlüsselungsschlüssel und der Initialisierungsvektor (IV) werden im Klartext im HTTP-Response-Header X‑Backup‑Security offengelegt, was eine sofortige Entschlüsselung ermöglicht.
📦 Funktionen
info – Zeigt detaillierte Informationen über die Schwachstelle an (Beschreibung, Grundursache, Auswirkungen).
scan – Leichtgewichtige Prüfung, ob ein Ziel verwundbar ist (sendet eine HEAD-Anfrage und sucht nach dem X‑Backup‑Security-Header).
exploit – Lädt das verschlüsselte Backup herunter, extrahiert den Schlüssel/die IV aus dem Header, entschlüsselt die Daten und speichert sie in einer Datei.
🚨Auswirkungen
Im Falle einer Ausnutzung kann ein Angreifer Folgendes erlangen:
Benutzeranmeldeinformationen und Sitzungstokens (database.db)
Anwendungsgeheimnisse und API-Schlüssel (app.ini)
SSL-Private-Keys und Zertifikate (server.key, server.cert)
Vollständige Nginx-Konfiguration (nginx.conf)
TLS-Schlüssel für alle gehosteten Domains (ssl/-Verzeichnis)
Dies führt in der Regel zu einer vollständigen Kompromittierung des Servers und lateraler Bewegung innerhalb des Netzwerks.
⚙️ Voraussetzungen
Python 3.6+
requests-Bibliothek
pycryptodome (für die AES-Entschlüsselung)
Installieren Sie die Abhängigkeiten mit:
pip install requests pycryptodome
🔧 Verwendung
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
Beispiele
python3 CVE-2026-27944.py info
python3 CVE-2026-27944.py scan 192.168.1.100:9000
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
Die entschlüsselte Datei ist normalerweise ein ZIP-Archiv – benennen Sie sie in .zip um und prüfen Sie ihren Inhalt.
📚 So funktioniert's
Das Skript sendet eine HEAD-Anfrage an /api/backup, um das Vorhandensein des X‑Backup‑Security-Headers zu prüfen.
Wird dieser gefunden, fährt es mit einer GET-Anfrage fort, um das verschlüsselte Backup herunterzuladen.
Der Header-Wert enthält den Base64-kodierten AES‑256-Schlüssel und die IV, getrennt durch einen Doppelpunkt.
Das Skript dekodiert diese, verwendet pycryptodome zur Entschlüsselung der Daten (AES‑256-CBC-Modus) und entfernt das PKCS#7-Padding.
Die entschlüsselten Bytes werden in der angegebenen Ausgabedatei gespeichert.
⚠️ Haftungsausschluss
Dieses Tool wird ausschließlich für Bildungs- und Sicherheitsforschungszwecke bereitgestellt.
Das unbefugte Testen von Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung haben, ist illegal. Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Skript verursacht werden.
🛡️ Gegenmaßnahmen
Wenn Sie Nginx UI verwenden, aktualisieren Sie es sofort auf Version 2.3.3 oder höher.
Zusätzlich:
Rotieren Sie alle Anmeldeinformationen und Geheimnisse, die möglicherweise offengelegt wurden.
Generieren Sie SSL/TLS-Zertifikate neu.
Setzen Sie administrative Schnittstellen niemals dem öffentlichen Internet aus – verwenden Sie Firewalls oder VPNs.
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.
📬 Referenzen
MITRE CVE‑2026‑27944 (Platzhalter)
NVD-Eintrag (Platzhalter)
Nginx UI Offizielle Website