Fuzzing de Directorios con ffuf

Ahora que ya entendemos qué es el Web Fuzzing y tenemos nuestra lista de palabras, podemos comenzar a usar ffuf para descubrir directorios ocultos en aplicaciones web.


⚙️ Ffuf — Instalación y ayuda básica

En PwnBox, ffuf ya está instalado.
En una máquina propia, puedes instalarlo así:

apt install ffuf -y

O descargarlo desde su repositorio oficial de GitHub.

Antes de usarlo, revisamos la ayuda:

ffuf -h

📌 Opciones relevantes

🔧 HTTP OPTIONS

{A9328D05-288A-44E0-B416-76C3BECD761D}.png

🎯 MATCHER OPTIONS

-mc Códigos HTTP a hacer ‘match’ -ms Match por tamaño de respuesta


🚫 FILTER OPTIONS

-fc Filtrar códigos HTTP -fs Filtrar por tamaño


📂 INPUT OPTIONS

-w Wordlist y palabra clave (ej: /path/lista.txt:FUZZ)


📤 OUTPUT OPTIONS

-o Guardar salida en un archivo


📘 Ejemplo oficial

ffuf -w wordlist.txt -u https://example.org/FUZZ -mc all -fs 42 -c -v

📁 Fuzzing de Directorios

Las dos opciones principales para fuzzear directorios son:

🧩 Asignar palabra clave FUZZ

Podemos asignar la palabra clave FUZZ a nuestra wordlist:

ffuf -w /opt/useful/seclists/Discovery/Web-Content/directory-list-2.3-small.txt:FUZZ

Luego colocamos FUZZ en la URL donde debe ir el directorio:

ffuf -w <SNIP> -u http://SERVER_IP:PORT/FUZZ

🚀 Ejecutando el fuzzing real

Ejecutamos el comando final:

ffuf -w /opt/useful/seclists/Discovery/Web-Content/directory-list-2.3-small.txt:FUZZ \
     -u http://SERVER_IP:PORT/FUZZ

📟 Salida típica:

Pasted image 20251129114543.png

⚡ Rendimiento

Ffuf probó casi 90.000 URLs en menos de 10 segundos, lo cual es extremadamente rápido.

Puedes usar más hilos si deseas más velocidad:

-t 200

⚠️ Advertencia: Puede provocar DoS o saturación de red. Úsalo con precaución en objetivos remotos.


🔍 Revisando directorios descubiertos

En el ejemplo anterior se encontró:

/blog y ``/forum`

Al visitarlo en el navegador:

http://SERVER_IP:PORT/blog
{7F72F1BF-9FB6-4C6C-881F-82D148DABFE4}.png
La página aparece vacía, pero es accesible, lo que significa que:

✔ No devuelve 404 (no existe)
✔ No devuelve 403 (acceso denegado)

Este directorio podría contener archivos o páginas internas ocultas.


⏭️ ¿Qué sigue?

En la siguiente sección realizaremos fuzzing dentro del directorio descubierto para encontrar:

📄 Archivos
📂 Subdirectorios
🔐 Páginas ocultas