
Automatise la découverte de contenu web et le bruteforce de répertoires avec une exécution multithread de ffuf, des wordlists adaptées aux technologies, le filtrage des endpoints, l'exclusion des WAF et des captures d'écran gowitness pour les tests d'intrusion.
go install github.com/puzzlepeaches/ffufw@latest
ffufw est un wrapper autour de ffuf pour rendre le bruteforce de répertoires plus facile et plus intelligent. L'outil dispose des fonctionnalités suivantes :
Ce projet nécessite que Go soit installé. Les instructions d'installation se trouvent ici. Vous pouvez également installer Go rapidement à l'aide de la commande suivante et du dépôt :
wget -q -O - https://git.io/vQhTU | bash
Installez l'outil à l'aide de la commande suivante :
go install github.com/puzzlepeaches/ffufw@latest
Les outils suivants sont requis pour que l'outil fonctionne :
Installez les dépendances à l'aide des commandes suivantes :
go install github.com/Damian89/ffufPostprocessing@latest
go install github.com/ffuf/ffuf/v2@latest
Les wordlists, si elles ne sont pas déjà présentes sur votre système, seront téléchargées lors de la première exécution dans le répertoire ~/.ffufw/wordlists/. Pour voir la liste de toutes les wordlists téléchargées, consultez cmd/wordlists/storage.go. Une wordlist personnalisée unique est également prise en charge et peut être spécifiée à l'aide du flag -w.
Le menu d'aide de l'outil est le suivant :
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.
Utilisation très basique de l'outil avec un fichier de configuration ffuf personnalisé et une sortie verbeuse :
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -v
Utilisation basique avec la sortie envoyée à gowitness :
ffufw -o /tmp/output/ -i /tmp/targets.txt -g http://127.0.0.1:9999
Utilisation avec des binaires ffuf et ffufPostprocessing personnalisés :
ffufw --ffuf /usr/local/bin/ffuf --ffufPostprocessing /usr/local/bin/ffufPostprocessing -o /tmp/output/ -i /tmp/targets.txt
Utilisation avec une concurrence personnalisée (nombre d'URLs à scanner simultanément) :
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -t 5
Utilisation basique avec gowitness, sortie verbeuse et exclusion des WAF :
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -v -e -g http://127.0.0.1:9000
Utilisation basique avec 5 threads et envoi vers un proxy de rejeu (Burp, Zap, etc.) :
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -t 5 -r http://127.0.0.1:8080