Saltar al contenido principal
FFUF: Fuzzing Web Ultrarrápido para Pentesting

FFUF: Fuzzing Web Ultrarrápido para Pentesting

Domina FFUF para directory fuzzing, parameter discovery y virtual host enumeration. Más rápido y flexible que Gobuster, con filtros avanzados y múltiples modos de ataque. Tutorial completo con ejemplos y laboratorios.

·Actualizado: 23 de julio de 20264 minCyberFlows Team
[Espacio publicitario — AdSense]
Respuesta rápida

FFUF (Fuzz Faster U Fool) es la herramienta de referencia para fuzzing web en pentesting. Reemplaza a Gobuster y Dirb con filtros avanzados por tamaño, palabras y líneas de respuesta, eliminando falsos positivos automáticamente.

¿Qué es FFUF?

FFUF (Fuzz Faster U Fool) es una herramienta de fuzzing web escrita en Go. Es la sucesora moderna de Gobuster y Dirb, con ventajas significativas:

  • Velocidad — Multithreaded en Go, mucho más rápido que Gobuster
  • Filtros avanzados — Filtra por tamaño, palabras, líneas, regex, código HTTP
  • Auto-calibrate — Detecta falsos positivos automáticamente
  • Múltiples modos — Directory, parameter, vhost, POST data, header fuzzing
  • Output flexible — JSON, CSV, HTML, Markdown

Importante: FFUF es una herramienta de auditoría de seguridad. Solo debe usarse con autorización explícita del propietario del sistema.

Instalación

# Kali Linux — preinstalado
ffuf -h

# Go install
go install github.com/ffuf/ffuf/v2@latest

# Docker
docker run -it ffuf/ffuf -h

# Archivo release
# https://github.com/ffuf/ffuf/releases

Directory Fuzzing

El uso más común: descubrir directorios y archivos ocultos en el servidor web.

# Fuzzing básico
ffuf -u https://target.com/FUZZ \
  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

# El marcador FUZZ se reemplaza por cada palabra de la wordlist

Eliminar falsos positivos

El mayor problema del fuzzing es el ruido. FFUF lo resuelve con filtros:

# Auto-calibrate (recomendado para empezar)
ffuf -u https://target.com/FUZZ -w wordlist.txt -ac

# Filtrar por tamaño de respuesta
# Primero ejecutar sin filtro para ver el tamaño de la página 404
ffuf -u https://target.com/FUZZ -w wordlist.txt
# Si la página 404 tiene size=4440, excluir:
ffuf -u https://target.com/FUZZ -w wordlist.txt -fs 4440

# Filtrar por número de palabras
ffuf -u https://target.com/FUZZ -w wordlist.txt -fw 128

# Filtrar por líneas
ffuf -u https://target.com/FUZZ -w wordlist.txt -fl 42

# Combinar filtros
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -mc 200,301,302,403 -fs 4440 -fw 128

Recursive fuzzing

# Fuzzing recursivo (descender en directorios encontrados)
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -recursion -recursion-depth 2

# Con filtro de exclude
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -recursion -fs 4440

Parameter Discovery

Descubrir parámetros ocultos en URLs y formularios:

# GET parameter fuzzing
ffuf -u "https://target.com/page?id=1&FUZZ=test" \
  -w /usr/share/wordlists/seclists/Discovery/Web-Content/burp-parameter-names.txt \
  -fc 400

# POST parameter fuzzing
ffuf -u https://target.com/api/login \
  -X POST -d "FUZZ=admin" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -w params.txt -fc 400

# POST value fuzzing (probar valores contra parámetro conocido)
ffuf -u https://target.com/api/search \
  -X POST -d "query=FUZZ" \
  -w payloads.txt -H "Content-Type: application/json" \
  -fs 0

Virtual Host Discovery

Encontrar virtual hosts ocultos en el mismo servidor:

# Vhost fuzzing
ffuf -u https://192.168.1.10/ \
  -H "Host: FUZZ.target.com" \
  -w subdomains.txt -fs 0

# Con auto-calibrate
ffuf -u https://192.168.1.10/ \
  -H "Host: FUZZ.target.com" \
  -w subdomains.txt -ac

Header Fuzzing

# Fuzzing de headers personalizados
ffuf -u https://target.com/admin \
  -H "FUZZ: admin" \
  -w /usr/share/wordlists/seclists/Discovery/Web-Content/burp-parameter-names.txt \
  -fs 4440

# Fuzzing de cookies
ffuf -u https://target.com/admin \
  -b "session=abc123; FUZZ=admin" \
  -w params.txt -fs 4440

# Fuzzing de User-Agent
ffuf -u https://target.com/ \
  -H "User-Agent: FUZZ" \
  -w user-agents.txt -fs 4440

Output y Exportación

# JSON output
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -o results.json -of json

# CSV output
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -o results.csv -of csv

# HTML report
ffuf -u https://target.com/FUZZ -w wordlist.txt \
  -o report.html -of html

# Todos los formatos disponibles
# json, ejson, html, md, csv, all

FFUF vs. Gobuster vs. Dirb

Característica FFUF Gobuster Dirb
Velocidad Muy rápida (Go) Rápida (Go) Lenta (C)
Filtros -fs, -fw, -fl, -ac -s (solo status) Limitados
Auto-calibrate No No
Modos dir, vhost, param, POST dir, dns, vhost Solo dir
Output JSON, CSV, HTML Solo texto Solo texto
Recursión No
Ideal para Pentest profesional Uso rápido Legacy

Recomendación: Usa FFUF para todo fuzzing web. Gobuster solo paraDNS brute-force rápido (gobuster dns).

Wordlists recomendadas

# Directorios comunes
/usr/share/wordlists/dirb/common.txt
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

# SecLists (mejor opción)
https://github.com/danielmiessler/SecLists
SecLists/Discovery/Web-Content/common.txt
SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt

# Parámetros
SecLists/Discovery/Web-Content/burp-parameter-names.txt

# Subdominios
SecLists/Discovery/DNS/subdomains-top1million-5000.txt

Errores Comunes

Demasiados resultados falsos → Usa -ac para auto-calibrate o -fs <tamaño> para excluir la página 404

Rate limiting / 429 Too Many Requests → Añade -p 0.1 (delay de 100ms) o reduce threads con -t 10

"FUZZ not found in wordlist" → El marcador debe ser exactamente FUZZ (mayúsculas)

Resultados vacíos → Verifica que la URL sea accesible y que la wordlist no esté vacía

Práctica en Laboratorios

# DVWA — Directory fuzzing
ffuf -u http://localhost/dvwa/FUZZ -w common.txt -fc 401

# Juice Shop — Parameter fuzzing
ffuf -u "http://localhost:3000/api/Products/1?FUZZ=test" \
  -w burp-parameter-names.txt -fc 400

# HackTheBox — máquinas con web fuzzing
# Probar en: Jerry, Arctic, Blue, Optimum

Preguntas Frecuentes

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.

[Espacio publicitario — AdSense]

Newsletter de Ciberseguridad

Resumen semanal con los mejores artículos, CVEs críticos y tendencias del mercado. Sin spam.

🔒 Tu email no se compartirá. Puedes darte de baja en cualquier momento.