FFUF
🛠️ FFUF (Fuzz Faster U Fool): Descubrimiento y Fuzzing
FFUF es una herramienta rápida y flexible para realizar pruebas de fuerza bruta (fuzzing) en aplicaciones web. Puedes usarla para buscar directorios, archivos, parámetros ocultos y más. Su velocidad y capacidad de personalización la convierten en una de las favoritas en el pentesting.
🕵️♂️ ¿Cuándo usar FFUF?
Enumeración de directorios 📂: Identificar rutas ocultas en un servidor web.
Descubrimiento de parámetros 🧩: Encontrar parámetros GET o POST vulnerables.
Fuzzing avanzado 🎯: Probar valores para detectar comportamientos inesperados.
Enumeración de subdominios 🌐: Encontrar subdominios activos de un dominio objetivo.
🚀 Instalación
FFUF es fácil de instalar y funciona en cualquier sistema compatible con Go:
Instalar con Go:
go install github.com/ffuf/ffuf/v2@latest
Verifica la instalación:
ffuf --version
📌 Ejemplos Prácticos con Código
1️⃣ Enumeración de Directorios
Busca directorios ocultos en un servidor web.
ffuf -u <http://example.com/FUZZ> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
✅ Explicación:
u
: URL objetivo, dondeFUZZ
es el marcador para las pruebas.w
: Ruta del diccionario.
✅ Salida esperada:
admin [Status: 200, Size: 1234, Words: 56]
login [Status: 200, Size: 2345, Words: 78]
hidden [Status: 403, Size: 0, Words: 0]
2️⃣ Enumeración de Parámetros GET
Encuentra parámetros ocultos que puedan ser vulnerables.
ffuf -u <http://example.com/page.php?FUZZ=value> -w /usr/share/wordlists/params.txt
✅ Explicación:
FUZZ
sustituye el parámetro en la URL.Usa un diccionario de parámetros comunes.
3️⃣ Enumeración de Subdominios
Descubre subdominios activos de un dominio.
ffuf -u <https://FUZZ.example.com> -w /usr/share/wordlists/subdomains.txt -H "Host: FUZZ.example.com"
✅ Salida esperada:
api [Status: 200, Size: 1024, Words: 50]
admin [Status: 403, Size: 0, Words: 0]
test [Status: 200, Size: 2048, Words: 100]
4️⃣ Fuzzing de Cuerpo POST
Realiza fuzzing en un cuerpo de petición POST.
ffuf -u <http://example.com/login> -X POST -d "username=admin&password=FUZZ" -w /usr/share/wordlists/passwords.txt
✅ Explicación:
X POST
: Define el método HTTP.d
: Cuerpo de la petición dondeFUZZ
se sustituye por valores del diccionario.
5️⃣ Personalización con Cabeceras HTTP
Incluye cabeceras específicas en las peticiones.
ffuf -u <http://example.com/FUZZ> -H "Authorization: Bearer YOUR_TOKEN" -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
✅ Explicación:
H
: Especifica cabeceras HTTP.
⚙️ Opciones Útiles
Resultados silenciosos:
ffuf -u <http://example.com/FUZZ> -w wordlist.txt -s
Guardar resultados:
ffuf -u <http://example.com/FUZZ> -w wordlist.txt -o resultados.json -of json
Filtrar resultados específicos:
Filtrar por tamaño:
ffuf -u <http://example.com/FUZZ> -w wordlist.txt -fs 0
Filtrar por códigos de estado HTTP:
ffuf -u <http://example.com/FUZZ> -w wordlist.txt -fc 404
🌟 Mejores Prácticas
Usa diccionarios actualizados: Descarga listas completas desde SecLists.
Controla la velocidad: Evita saturar el servidor con
rate 100
(100 peticiones por segundo).Complementa con otras herramientas: Usa los resultados de FFUF con Nmap o Burp Suite para un análisis más profundo.
🚨 Advertencia
El uso de FFUF en servidores sin autorización es ilegal. Úsalo únicamente en auditorías éticas y con permisos explícitos.
🤓 Conclusión
FFUF es una herramienta rápida, poderosa y altamente personalizable para enumeración y fuzzing en aplicaciones web. Su velocidad y facilidad de uso la convierten en una de las favoritas de los pentesters. 🎯
Última actualización
¿Te fue útil?