
Автоматизирует обнаружение веб-контента и брутфорс директорий с многопоточным выполнением ffuf, wordlist'ами с учётом технологий, фильтрацией эндпоинтов, исключением WAF и скриншотами gowitness для пентеста.
go install github.com/puzzlepeaches/ffufw@latest
ffufw — это обёртка вокруг ffuf, которая делает перебор директорий проще и интеллектуальнее. Инструмент обладает следующими возможностями:
Для этого проекта требуется установленный Go. Инструкции по установке можно найти здесь. Кроме того, можно быстро установить Go с помощью следующей команды и репозитория:
wget -q -O - https://git.io/vQhTU | bash
Установите инструмент следующей командой:
go install github.com/puzzlepeaches/ffufw@latest
Для работы инструмента требуются следующие программы:
Установите зависимости с помощью следующих команд:
go install github.com/Damian89/ffufPostprocessing@latest
go install github.com/ffuf/ffuf/v2@latest
Словари, если они ещё не присутствуют в вашей системе, будут загружены при первом запуске в каталог ~/.ffufw/wordlists/. Список всех загружаемых словарей приведён в cmd/wordlists/storage.go. Также поддерживается один пользовательский словарь, который можно указать с помощью флага -w.
Справка по инструменту выглядит следующим образом:
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.
Базовое использование инструмента с пользовательским файлом конфигурации ffuf и подробным выводом:
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -v
Базовое использование с отправкой результатов в gowitness:
ffufw -o /tmp/output/ -i /tmp/targets.txt -g http://127.0.0.1:9999
Использование с пользовательскими бинарными файлами ffuf и ffufPostprocessing:
ffufw --ffuf /usr/local/bin/ffuf --ffufPostprocessing /usr/local/bin/ffufPostprocessing -o /tmp/output/ -i /tmp/targets.txt
Использование с настраиваемой степенью параллелизма (количество URL, сканируемых одновременно):
ffufw -o /tmp/output/ -i /tmp/targets.txt -c /opt/.ffufrc -t 5
Базовое использование с gowitness, подробным выводом и исключением WAF:
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -v -e -g http://127.0.0.1:9000
Базовое использование с 5 потоками и отправкой в replay-прокси (Burp, Zap и т. д.):
ffufw -o /tmp/output/ -i /tmp/urls.txt -c /opt/.ffufrc -t 5 -r http://127.0.0.1:8080