Fuerza bruta de aplicaciones web con Wfuzz
Fuerza bruta de aplicaciones web con Wfuzz
Wfuzz es una de las herramientas de pruebas de penetración más populares en Kali Linux. Se utiliza principalmente para la fuerza bruta de aplicaciones web, lo que te permite descubrir recursos ocultos como directorios, archivos, subdominios o parámetros de formularios que no están a la vista.
Básicamente, funciona reemplazando la palabra clave FUZZ en una URL o petición por las palabras de un diccionario (wordlist).
🚀 Comandos Esenciales (Cheat Sheet)
Aquí tienes los comandos más utilizados explicados en español para que los puedas aplicar directamente en tu terminal de Kali:
1. Descubrimiento Básico de Directorios
Para buscar carpetas ocultas en un sitio web usando el diccionario por defecto de Kali:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --hc 404 http://target.com/FUZZ
-c: Muestra el resultado en colores (más fácil de leer).-z file,...: Define el tipo de "payload" (en este caso, un archivo de texto) y la ruta del diccionario.--hc 404: Oculta (Hide Code) las respuestas con código de estado 404. Así solo ves lo que realmente existe.FUZZ: Es el punto exacto donde Wfuzz irá probando cada palabra del diccionario.
2. Buscar Archivos con Extensiones Específicas
Si quieres buscar archivos específicos (como respaldos de bases de datos o scripts), puedes añadir la extensión después del marcador:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --hc 404 http://target.com/FUZZ.php
3. Fuzzing de Parámetros (Fuerza Bruta GET)
Ideal para encontrar vulnerabilidades como inyecciones SQL o LFI descubriendo parámetros ocultos:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --hc 404 http://target.com/index.php?FUZZ=test
4. Enumeración de Subdominios
Para encontrar subdominios ocultos (ej. admin.target.com, dev.target.com), colocas el marcador FUZZ en el Host:
wfuzz -c -z file,/usr/share/wordlists/dns/subdomains-top1million-5000.txt -H "Host: FUZZ.target.com" --hc 404 http://target.com
-H "Host: ...": Modifica la cabecera HTTP Host para apuntar al subdominio en cada intento.
🎛️ Filtros Clave: Limpiando el Ruido
Cuando haces fuzzing, muchas páginas devuelven códigos 200 (OK) pero con el mismo tamaño o contenido falsos. Para que tu pantalla no se llene de basura, usa estos filtros:
| Filtro | Significado | Ejemplo de Uso |
--hc | Hide Code: Oculta códigos de estado HTTP. | --hc 404,500 |
--sc | Show Code: Muestra solo esos códigos. | --sc 200,301 |
--hw | Hide Words: Oculta respuestas con ese número de palabras. | --hw 120 |
--hl | Hide Lines: Oculta respuestas con ese número de líneas. | --hl 15 |
--hh | Hide Chars: Oculta respuestas con ese número de caracteres. | --hh 4232 |
💡 Consejo Pro: Si lanzas Wfuzz y ves miles de resultados con
Words: 23, cancela el comando conCtrl + Cy vuelve a lanzarlo añadiendo--hw 23. Santo remedio.
📂 ¿Dónde están los diccionarios en Kali?
No tienes que inventar las palabras. Kali Linux ya viene con miles de diccionarios listos en la ruta:
📁 /usr/share/wordlists/
Los más recomendados para usar con Wfuzz son:
dirb/common.txt(Para directorios web comunes)dirbuster/directory-list-2.3-medium.txt(Más extenso y completo)seclists/(Si tienes instalado SecLists, aquí tienes la mina de oro para subdominios, payloads de inyección, etc.)