
Nginxpwner es una herramienta sencilla para buscar malas configuraciones y vulnerabilidades comunes de Nginx.

Nginxpwner es una herramienta simple para buscar configuraciones incorrectas y vulnerabilidades comunes de Nginx.
cd /opt
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
chmod +x install.sh
./install.sh
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .
Ejecutar la imagen
sudo docker run -it nginxpwner:latest /bin/bash
Target tab in Burp, select host, right click, copy all URLs in this host, copy to a file
cat urllist | unfurl paths | cut -d"/" -f2-3 | sort -u > /tmp/pathlist
Or get the list of paths you already discovered in the application in some other way. Note: the paths should not start with /
Finally:
python3 nginxpwner.py https://example.com /tmp/pathlist
En realidad verifica:
-Obtiene la versión de Nginx y busca sus posibles exploits usando searchsploit e indica si está desactualizada
-Lanza una lista de palabras específica para Nginx mediante gobuster
-Verifica si es vulnerable a CRLF a través de una configuración incorrecta común que usa $uri en redirecciones
-Verifica CRLF en todas las rutas proporcionadas
-Verifica si el método HTTP PURGE está disponible desde el exterior
-Verifica la fuga de variables por configuración incorrecta
-Verifica vulnerabilidades de path traversal mediante merge_slashes desactivado
-Prueba diferencias en la longitud de las respuestas al usar cabeceras hop-by-hop (ej: X-Forwarded-Host)
-Usa Kyubi para probar vulnerabilidades de path traversal mediante alias mal configurado
-Prueba bypass de 401/403 usando X-Accel-Redirect
-Muestra el payload para verificar la configuración incorrecta de lectura de respuesta del backend en bruto
-Verifica si el sitio usa PHP y sugiere algunas pruebas específicas de Nginx para sitios PHP
-Prueba la vulnerabilidad común de desbordamiento de enteros en el módulo de filtro de rangos de Nginx (CVE-2017-7529)
La herramienta utiliza la cabecera Server en la respuesta para realizar algunas de las pruebas. Hay otros CMS y similares que están construidos sobre Nginx como Centminmod, OpenResty, Pantheon o Tengine, por ejemplo, que no devuelven esa cabecera. En ese caso, use nginx-pwner-no-server-header.py con los mismos parámetros que el otro script.
Además, para que la búsqueda de exploits funcione correctamente, debe ejecutar: searchsploit -u en Kali de vez en cuando.
La herramienta no verifica vulnerabilidades de envenenamiento/engaño de caché web ni contrabando de solicitudes; debe probar eso con herramientas específicas para esas vulnerabilidades. NginxPwner se centra principalmente en configuraciones incorrectas que los desarrolladores pueden haber introducido en nginx.conf sin ser conscientes de ellas.
Créditos a shibli2700 por su increíble herramienta Kyubi https://github.com/shibli2700/Kyubi y a todos los contribuidores de gobuster. Créditos también a Detectify (que realmente descubrió muchas de estas configuraciones incorrectas en NGINX).