
Exploit automatizado para CVE-2026-27944 en Nginx UI: descarga y descifra copias de seguridad, extrae secretos y crea cuentas de administrador fraudulentas para tomar el control total del panel.
Este repositorio contiene un Proof of Concept (POC) mejorado para CVE-2026-27944, una vulnerabilidad crítica en Nginx UI.
La vulnerabilidad permite a un atacante no autenticado descargar copias de seguridad del sistema a través del endpoint /api/backup. Además, la aplicación filtra la clave de cifrado AES-256 y el IV dentro de la cabecera de respuesta HTTP X-Backup-Security, lo que permite al atacante descifrar fácilmente la copia de seguridad descargada.
Este POC mejorado automatiza toda la cadena de ataque: descargar la copia de seguridad, descifrar su contenido, extraer secretos de configuración (como el Node Secret y el JWT Secret), y aprovechar esos secretos para omitir la autenticación y crear una cuenta de administrador rogue para la toma completa del panel.
Esta herramienta es solo para fines educativos y pruebas de penetración autorizadas. No utilice esta herramienta contra sistemas que no le pertenezcan o para los cuales no tenga permiso explícito de prueba. El autor no es responsable de ningún uso indebido o daño causado por este script.
X-Backup-Security para extraer la clave AES y el IV codificados en Base64, y descifra la copia de seguridad (AES-256-CBC).app.ini descifrado para extraer información sensible:
X-Node-Secret) para interactuar con la API y crear un nuevo usuario administrador.pycryptodome (requerida para el descifrado AES)Clone el repositorio:
git clone https://github.com/Skynoxk/CVE-2026-27944-POC.git
cd CVE-2026-27944-POC
Instale las dependencias requeridas:
pip install pycryptodome
python exploit_enhanced.py --target <URL> [OPCIONES]
1. Descargar y descifrar solo la copia de seguridad:
python exploit_enhanced.py --target http://127.0.0.1:9000 --out backup.bin --decrypt
2. Descargar, descifrar y extraer secretos de configuración:
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --show-secrets
3. Cadena de Explotación Completa (Descargar, Descifrar, Extraer Secretos y Crear Administrador):
python exploit_enhanced.py --target http://127.0.0.1:9000 --decrypt --create-user hacker --password Pwned@123!
Si el flag --create-user se utiliza con éxito, el script mostrará métodos detallados para acceder al panel de Nginx UI, incluyendo:
authorization utilizando el token JWT recuperado.curl utilizando la cabecera X-Node-Secret para omitir los mecanismos de autenticación.| Argumento | Descripción | Valor por Defecto |
|---|
--target | (Requerido) URL base de la instancia de Nginx UI (ej., http://127.0.0.1:9000) | |
--out | Ruta del archivo para guardar la copia de seguridad cifrada | backup.bin |
--decrypt | Descifrar la copia de seguridad descargada | False |
--extract-dir | Directorio para extraer los archivos descifrados | backup_extracted |
--show-secrets | Extraer y mostrar secretos sensibles de app.ini | False |
--create-user | Crear un usuario administrador para acceso al panel (especificar nombre de usuario) | |
--password | Contraseña para el nuevo usuario administrador | Admin@123456 |