ffuf & gobuster
ffuf y gobuster son fuzzers web: descubren contenido oculto (directorios, ficheros), parámetros, subdominios y hosts virtuales probando palabras de un diccionario contra el objetivo. Son básicos en la enumeración web (ver recon, Automatización del recon, ctf).
ffuf (Fuzz Faster U Fool)
Sección titulada «ffuf (Fuzz Faster U Fool)»# descubrir directorios/ficheros (FUZZ marca dónde inyectar)ffuf -u https://host/FUZZ -w wordlist.txtffuf -u https://host/FUZZ -w wl.txt -e .php,.txt,.bak # extensiones# filtrar por tamaño/código/palabras (quitar ruido de 404 personalizados)ffuf -u https://host/FUZZ -w wl.txt -fc 404 -fs 1234# fuzzing de parámetros GETffuf -u 'https://host/page?FUZZ=x' -w params.txt -fs 0# virtual hosts (vhost) por cabecera Hostffuf -u https://host/ -H 'Host: FUZZ.host' -w subs.txt -fs <baseline>gobuster
Sección titulada «gobuster»gobuster dir -u https://host -w wl.txt -x php,txt # directorios/ficherosgobuster dns -d target.com -w subs.txt # subdominios (DNS)gobuster vhost -u https://host -w subs.txt # virtual hosts# más simple que ffuf; ffuf es más flexible y rápido para casos complejosFiltrado (la clave para no ahogarse)
Sección titulada «Filtrado (la clave para no ahogarse)»-mc / -fc match/filter por CÓDIGO de estado (p. ej. -fc 404)-ms / -fs match/filter por TAMAÑO de respuesta (quitar páginas de error de tamaño fijo)-mw / -fw match/filter por número de PALABRAS-ac auto-calibración (ffuf detecta el patrón de "no encontrado" solo)# un 404 personalizado devuelve 200: hay que filtrar por tamaño/palabras, no solo por códigoDiccionarios
Sección titulada «Diccionarios»SecLists la colección estándar (Discovery/Web-Content/raft-*, common.txt, directory-list)- elegir el diccionario según contexto (tecnología, idioma, tamaño)- empezar por listas medianas (raft-medium) y afinar; no lanzar la lista gigante de entradaBlue Team / uso
Sección titulada «Blue Team / uso»- El filtrado es lo que hace útil el fuzzing: usar -fs/-fw/-ac contra 404 personalizados.
- SecLists es el estándar de diccionarios; elegir según tecnología y contexto.
- ffuf para casos complejos (parámetros, vhost, rápido); gobuster para lo simple.
- Parte central de la enumeración web (recon, Automatización del recon) y de los CTF web (Categorías (pwn, web, cripto, forense)).
Trucos y errores comunes
Sección titulada «Trucos y errores comunes»- Filtra por tamaño/código/palabras (
-fc,-fs,-fw) o te ahogarás en falsos positivos; calibra con una ruta inexistente primero. - Error típico: no fijar la extensión (
-e .php,.bak) ni elegir el diccionario adecuado (SecLists por caso de uso). - Para VHosts usa
-H "Host: FUZZ.dominio"y filtra la respuesta base; recursividad con-recursionpero con cabeza. - Ajusta
-t(hilos) y-rate: ir a tope tumba el objetivo y dispara baneos o WAF.
Checklist de prueba
Sección titulada «Checklist de prueba»- Fuzzing de directorios/ficheros con extensiones
- Filtrar ruido (fc/fs/fw o -ac) contra 404 personalizados
- Fuzzing de parámetros GET/POST ocultos
- Descubrir subdominios (DNS) y virtual hosts (Host header)
- Elegir diccionario SecLists adecuado al contexto
- Empezar con listas medianas y afinar
- Trabajar dentro del scope autorizado (Leer el scope & reglas)