
Automatiza a descoberta de conteúdo web e o brute force de diretórios com execução multithread do ffuf, wordlists cientes da tecnologia, filtragem de endpoints, exclusão de WAF e capturas de tela do gowitness para pentest.
go install github.com/puzzlepeaches/ffufw@latest
O ffufw é um wrapper em torno do ffuf para tornar o bruteforce de diretórios mais fácil e inteligente. A ferramenta possui os seguintes recursos:
Este projeto requer que o Go esteja instalado. As instruções de instalação podem ser encontradas aqui. Alternativamente, você pode instalar o Go rapidamente usando o seguinte comando e repositório:
wget -q -O - https://git.io/vQhTU | bash
Instale a ferramenta usando o seguinte comando:
go install github.com/puzzlepeaches/ffufw@latest
As seguintes ferramentas são necessárias para que a ferramenta funcione:
Instale os requisitos usando os seguintes comandos:
go install github.com/Damian89/ffufPostprocessing@latest
go install github.com/ffuf/ffuf/v2@latest
As wordlists, se ainda não estiverem presentes no seu sistema, serão baixadas na primeira execução para o diretório ~/.ffufw/wordlists/. Para uma lista de todas as wordlists baixadas, consulte cmd/wordlists/storage.go. Uma única wordlist personalizada também é suportada e pode ser especificada usando a flag -w.
O menu de ajuda da ferramenta é o seguinte:
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 muito básico da ferramenta com um arquivo de configuração personalizado do ffuf e saída verbosa:
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -v
Uso básico com a saída sendo enviada para o gowitness:
ffufw -o /tmp/output/ -i /tmp/targets.txt -g http://127.0.0.1:9999
Uso com binários personalizados do ffuf e ffufPostprocessing:
ffufw --ffuf /usr/local/bin/ffuf --ffufPostprocessing /usr/local/bin/ffufPostprocessing -o /tmp/output/ -i /tmp/targets.txt
Uso com concorrência personalizada (número de URLs para escanear de uma vez):
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -t 5
Uso básico com gowitness, saída verbosa e exclusão 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 com 5 threads e envio para um replay proxy (Burp, Zap, etc.):
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -t 5 -r http://127.0.0.1:8080