
Automatiza el descubrimiento de contenido web y la fuerza bruta de directorios con ejecución de ffuf multihilo, wordlists adaptadas a la tecnología, filtrado de endpoints, exclusión de WAF y capturas de pantalla de gowitness para pentesting.
go install github.com/puzzlepeaches/ffufw@latest
ffufw es un envoltorio de ffuf que hace que el ataque de fuerza bruta a directorios sea más fácil e inteligente. La herramienta tiene las siguientes características:
Este proyecto requiere tener Go instalado. Las instrucciones de instalación se pueden encontrar aquí. Alternativamente, puedes instalar Go rápidamente usando el siguiente comando y repositorio:
wget -q -O - https://git.io/vQhTU | bash
Instala la herramienta con el siguiente comando:
go install github.com/puzzlepeaches/ffufw@latest
Las siguientes herramientas son necesarias para que la herramienta funcione:
Instala los requisitos con los siguientes comandos:
go install github.com/Damian89/ffufPostprocessing@latest
go install github.com/ffuf/ffuf/v2@latest
Las listas de palabras, si aún no están presentes en tu sistema, se descargarán en la primera ejecución al directorio ~/.ffufw/wordlists/. Para ver una lista de todas las listas de palabras descargadas, consulta cmd/wordlists/storage.go. También se admite una lista de palabras personalizada única, que se puede especificar con la bandera -w.
El menú de ayuda de la herramienta es el siguiente:
ffuf with that special sauce
Usage:
ffufw [flags] -i <input file> -o <output directory>
ffufw [command]
Available Commands:
help Help about any command
version Print the version number of generated code example
Flags:
-t, --concurrency int Set the concurrency level for scanning (default 3)
-c, --config string Specify the config file for FFUF (default "~/.ffufrc")
-w, --custom-wordlist string Specify a custom wordlist to use for scanning. This disable technology detection and pre-defined wordlists for all URLs.
-e, --exclude-waf Exclude WAFs from the scans.
--ffuf string Specify the path to the ffuf binary (default "ffuf")
--ffufPostprocessing string Specify the path to the ffufPostprocessing binary (default "ffufPostprocessing")
-g, --gowitness string Specify the address for the gowitness API. Ensure format is http://<ip>:<port>
-h, --help help for ffufw
-i, --input string Specify the list of URLs to scan
-o, --output string Specify the output directory for FFUF results
-q, --quiet Enable silent mode (no additional information printed)
-r, --replay-proxy string Specify the address for a replay proxy. Ensure format is http://<ip>:<port>
-v, --verbose Enable verbose mode (print additional information)
Use "ffufw [command] --help" for more information about a command.
Uso muy básico de la herramienta con un archivo de configuración ffuf personalizado y salida verbosa:
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -v
Uso básico con la salida enviada a gowitness:
ffufw -o /tmp/output/ -i /tmp/targets.txt -g http://127.0.0.1:9999
Uso con binarios personalizados de ffuf y ffufPostprocessing:
ffufw --ffuf /usr/local/bin/ffuf --ffufPostprocessing /usr/local/bin/ffufPostprocessing -o /tmp/output/ -i /tmp/targets.txt
Uso con concurrencia personalizada (número de URLs a escanear a la vez):
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -t 5
Uso básico con gowitness, salida verbosa y exclusión de WAF:
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -v -e -g http://127.0.0.1:9000
Uso básico con 5 hilos y envío a un proxy de replay (Burp, Zap, etc.):
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -t 5 -r http://127.0.0.1:8080