
Automatizza la scoperta di contenuti web e il brute-forcing delle directory con esecuzione multithread di ffuf, wordlist consapevoli delle tecnologie, filtraggio degli endpoint, esclusione WAF e screenshot gowitness per il pentesting.
go install github.com/puzzlepeaches/ffufw@latest
ffufw è un wrapper attorno a ffuf per rendere il brute-forcing delle directory più semplice e intelligente. Lo strumento ha le seguenti funzionalità:
Questo progetto richiede che Go sia installato. Le istruzioni di installazione sono disponibili qui. In alternativa, puoi installare rapidamente Go utilizzando il seguente comando e repo:
wget -q -O - https://git.io/vQhTU | bash
Installa lo strumento utilizzando il seguente comando:
go install github.com/puzzlepeaches/ffufw@latest
I seguenti strumenti sono necessari affinché lo strumento funzioni:
Installa i requisiti utilizzando i seguenti comandi:
go install github.com/Damian89/ffufPostprocessing@latest
go install github.com/ffuf/ffuf/v2@latest
Le wordlist, se non già presenti sul tuo sistema, verranno scaricate al primo avvio nella directory ~/.ffufw/wordlists/. Per un elenco di tutte le wordlist scaricate, consulta cmd/wordlists/storage.go. È supportata anche una singola wordlist personalizzata, che può essere specificata tramite il flag -w.
Il menu di aiuto dello strumento è il seguente:
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.
Utilizzo molto basilare dello strumento con un file di configurazione ffuf personalizzato e output verboso:
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -v
Utilizzo basilare con output inviato a gowitness:
ffufw -o /tmp/output/ -i /tmp/targets.txt -g http://127.0.0.1:9999
Utilizzo con binari ffuf e ffufPostprocessing personalizzati:
ffufw --ffuf /usr/local/bin/ffuf --ffufPostprocessing /usr/local/bin/ffufPostprocessing -o /tmp/output/ -i /tmp/targets.txt
Utilizzo con concorrenza personalizzata (numero di URL da scansionare contemporaneamente):
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -t 5
Utilizzo basilare con gowitness, output verboso ed esclusione WAF:
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -v -e -g http://127.0.0.1:9000
Utilizzo basilare con 5 thread e invio a un proxy di replay (Burp, Zap, ecc.):
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -t 5 -r http://127.0.0.1:8080