ffuf
ffuf sustituye la palabra FUZZ de la URL, una cabecera o el cuerpo por cada línea del diccionario. Lo importante no es lanzarlo sino filtrar bien: por código (-mc/-fc), tamaño (-fs), palabras (-fw) o líneas (-fl) para quedarte solo con lo que es distinto.
- Plataforma
- Linux · Windows · macOS (Go)
- Web oficial
- github.com/ffuf/ffuf
- En HTB
- 17 máquinas
Instalación
sudo apt install ffuf
- T1595.003 Escaneo con diccionario
- Fuerza bruta de directorios
- Fuzzing de vhosts y subdominios
- Enumeración de APIs
Chuleta de ffuf
Tus datos
Se guardan en este navegador y se aplican a todas las chuletas.
Filtros y trucos
Quitar respuestas de un tamaño concreto (falsos positivos)
ffuf -u http://box.htb/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -fs 1234
Solo ciertos códigos de estado
ffuf -u http://box.htb/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -mc 200,204,301,302,403
Recursivo
ffuf -u http://box.htb/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -recursion -recursion-depth 2
A partir de una petición guardada en Burp
ffuf -request peticion.txt -request-proto http -w /usr/share/seclists/Fuzzing/special-chars.txt
Pon FUZZ donde quieras probar dentro de peticion.txt.
Más despacio (si la web se cae o te bloquea)
ffuf -u http://box.htb/FUZZ -w lista.txt -rate 50 -t 10
En nuestras chuletas
Enumeración web › Fuzzing
Directorios con ffuf
ffuf -u http://box.htb/FUZZ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -ic -t 100
Ficheros con extensiones
ffuf -u http://box.htb/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-words.txt -e .php,.txt,.bak,.zip -ic -t 100
Vhosts con ffuf
ffuf -u http://10.10.11.20 -H 'Host: FUZZ.box.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -fs 0
Lanza una vez, mira el tamaño de la respuesta por defecto y fíltralo con -fs.
Nombres de parámetros GET
ffuf -u 'http://box.htb/index.php?FUZZ=test' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -fs 0
Valores en POST
ffuf -u http://box.htb/api/user -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d 'id=FUZZ' -w ids.txt -fs 0
Ningún comando coincide.
Máquinas de HTB donde se usa ffuf
Sacadas de los capítulos de los vídeos de IppSec en los que aparece ffuf. El enlace ▶ salta al minuto de esa parte.
- Fuerza bruta de directorios
- Fuzzing de vhosts y subdominios
- Repositorio .git expuesto
- Cross-Site Scripting (XSS)
- CSRF
- Explotación de CVE público
- Server-Side Template Injection
- Escape de contenedores
- Credenciales en ficheros
- Servicios internos y port forwarding
- Cracking de hashes
- Backups y archivos comprimidos
- Abuso de sudo
- Fuzzing de vhosts y subdominios
- Credenciales por defecto
- Deserialización insegura
- Inyección de comandos
- Password spraying y usuarios válidos
- Credenciales en ficheros
- Servicios internos y port forwarding
- Criptografía débil o casera
- Backups y archivos comprimidos
- Credenciales guardadas / DPAPI
- AppLocker y Constrained Language Mode
Guías que usan ffuf
- Fuzzing web: directorios, extensiones, subdominios y vhosts con ffuf, gobuster y feroxbuster 3 min de lectura Descubrir rutas ocultas, copias de seguridad, vhosts y repositorios .git expuestos con ffuf y gobuster: qué diccionario usar y cómo filtrar falsos positivos.
- IDOR, mass assignment y APIs: fallos de control de acceso que los escáneres no ven 3 min de lectura Enumerar una API (Swagger, rutas ocultas, versiones), encontrar IDOR cambiando identificadores y hacerte administrador con mass assignment.
- LFI: de leer /etc/passwd a ejecutar comandos 4 min de lectura Inclusión local de ficheros paso a paso: path traversal y sus bypasses, wrappers de PHP, qué ficheros leer en Linux y Windows, y las vías para convertir una LFI en RCE.
- SSRF: cómo usar el servidor para llegar a servicios internos y a la nube 4 min de lectura SSRF paso a paso: detectarla, escanear puertos internos, saltarse los filtros de localhost con redirecciones, leer metadatos de AWS y atacar Redis con gopher.