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?

  1. Enumeración de directorios 📂: Identificar rutas ocultas en un servidor web.

  2. Descubrimiento de parámetros 🧩: Encontrar parámetros GET o POST vulnerables.

  3. Fuzzing avanzado 🎯: Probar valores para detectar comportamientos inesperados.

  4. 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:

  1. Instalar con Go:

    go install github.com/ffuf/ffuf/v2@latest
    
  2. 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, donde FUZZ 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 donde FUZZ 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

  1. Usa diccionarios actualizados: Descarga listas completas desde SecLists.

  2. Controla la velocidad: Evita saturar el servidor con rate 100 (100 peticiones por segundo).

  3. 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?