
Exploit automatisé pour CVE-2026-27944 dans Nginx UI : télécharge et déchiffre les sauvegardes, extrait les secrets et crée des comptes administrateur malveillants pour une prise de contrôle complète du tableau de bord.
Ce dépôt contient un Proof of Concept (POC) amélioré pour CVE-2026-27944, une vulnérabilité critique dans Nginx UI.
La vulnérabilité permet à un attaquant non authentifié de télécharger les sauvegardes système via le point de terminaison /api/backup. De plus, l'application divulgue la clé de chiffrement AES-256 et l'IV dans l'en-tête de réponse HTTP X-Backup-Security, permettant à l'attaquant de déchiffrer facilement la sauvegarde téléchargée.
Ce POC amélioré automatise toute la chaîne d'attaque : téléchargement de la sauvegarde, déchiffrement de son contenu, extraction des secrets de configuration (tels que le Node Secret et le JWT Secret), et exploitation de ces secrets pour contourner l'authentification et créer un compte administrateur frauduleux pour une prise de contrôle complète du tableau de bord.
Cet outil est destiné à des fins éducatives et à des tests d'intrusion autorisés uniquement. N'utilisez pas cet outil contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester. L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par ce script.
X-Backup-Security pour extraire la clé AES et l'IV encodés en Base64, puis déchiffre la sauvegarde (AES-256-CBC).app.ini déchiffré pour extraire les informations sensibles :
X-Node-Secret) pour interagir avec l'API et créer un nouvel utilisateur administrateur.pycryptodome (requise pour le déchiffrement AES)Clonez le dépôt :
git clone https://github.com/Skynoxk/CVE-2026-27944-POC.git
cd CVE-2026-27944-POC
Installez les dépendances requises :
pip install pycryptodome
python exploit_enhanced.py --target <URL> [OPTIONS]
1. Télécharger et déchiffrer la sauvegarde uniquement :
python exploit_enhanced.py --target http://127.0.0.1:9000 --out backup.bin --decrypt
2. Télécharger, déchiffrer et extraire les secrets de configuration :
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --show-secrets
3. Chaîne d'exploitation complète (téléchargement, déchiffrement, extraction des secrets et création d'administrateur) :
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --create-user hacker --password Pwned@123!
Si l'indicateur --create-user est utilisé avec succès, le script affichera des méthodes détaillées pour accéder au tableau de bord Nginx UI, notamment :
authorization à l'aide du jeton JWT récupéré.curl utilisant l'en-tête X-Node-Secret pour contourner les mécanismes d'authentification.| Argument | Description | Défaut |
|---|
--target | (Obligatoire) URL de base de l'instance Nginx UI (par exemple, http://127.0.0.1:9000) | |
--out | Chemin du fichier pour enregistrer la sauvegarde chiffrée | backup.bin |
--decrypt | Déchiffrer la sauvegarde téléchargée | False |
--extract-dir | Répertoire pour extraire les fichiers déchiffrés | backup_extracted |
--show-secrets | Extraire et afficher les secrets sensibles de app.ini | False |
--create-user | Créer un utilisateur administrateur pour l'accès au tableau de bord (spécifier le nom d'utilisateur) | |
--password | Mot de passe pour le nouvel utilisateur administrateur | Admin@123456 |