Быстрый инструмент для тестирования учетных данных с нулевыми зависимостями на Go. Брутфорс SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB и 20+ протоколов. Альтернатива Hydra с нативной интеграцией конвейера nerva/naabu.
"Et tu, Brute?" — последние слова перед тем, как учётные данные падут.
Современный инструмент тестирования учётных данных на чистом Go
Установка • Быстрый старт • Конвейер • Протоколы • Перечисление • Прокси • Библиотека
Brutus — это многопротокольный инструмент тестирования аутентификации, созданный для устранения критического пробела в инструментах наступательной безопасности: эффективной проверки учётных данных в разнообразных сетевых сервисах. В то время как инструментов, ориентированных на HTTP, предостаточно, пентестеры и операторы red team часто сталкиваются с базами данных, SSH, SMB и другими сетевыми сервисами, требующими специализированных возможностей тестирования аутентификации.
Написанный на Go в виде единого бинарного файла без внешних зависимостей, Brutus бесшовно интегрируется с Nerva для автоматизированного обнаружения сервисов, позволяя операторам быстро выявлять и тестировать векторы аутентификации по целым диапазонам сетей.
Ключевые возможности:
--proxy--mode cautious|default|aggressive для настройки соотношения покрытия и безопасностиТрадиционные инструменты, такие как THC Hydra, хорошо послужили сообществу безопасности, но они сопряжены со значительными трудностями: сложные цепочки зависимостей, проблемы компиляции под конкретные платформы и отсутствие нативной интеграции с современными рабочими процессами разведки.
Brutus создан специально для современной наступательной безопасности:
Развёртывание с истинным нулём зависимостей: скачайте единый бинарный файл и запускайте. Никаких libssh-dev, никаких libmysqlclient-dev, никаких ошибок компиляции. Работает одинаково на Linux, macOS и Windows.
Нативная интеграция с конвейером: Brutus говорит на JSON и напрямую интегрируется с Nerva, naabu, nmap и masscan. Передавайте обнаруженные сервисы прямо в тестирование учётных данных без преобразования форматов или написания скриптов.
Встроенная разведка: известные SSH bad keys (Vagrant, F5 BIG-IP, ExaGrid и др.) скомпилированы в бинарный файл. Используйте brutus badkeys для их проверки на SSH-целях.
Дизайн с приоритетом библиотеки: импортируйте Brutus напрямую в ваши инструменты безопасности на Go. Создавайте собственную автоматизацию без вызова внешних процессов.
# Full network credential audit in one pipeline (JSON mode)
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva --json | brutus creds --json
# Or use Nerva's default URI output — no --json flags needed
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva | brutus creds
Нашли приватный ключ на скомпрометированной системе? Распылите его по сети, чтобы выяснить, где ещё он предоставляет доступ:
# Discover SSH services and spray a found private key
naabu -host 10.0.0.0/24 -p 22 -silent | \
nerva --json | \
brutus creds -u root,admin,ubuntu,deploy -k /path/to/found_key --json
Этот конвейер обнаруживает все SSH-сервисы, идентифицирует их с помощью Nerva и проверяет скомпрометированный ключ на распространённых именах пользователей — выявляя возможности для бокового перемещения за считанные секунды.
Обнаружение HTTP-сервисов и проверка учётных данных с помощью ИИ-детекции или вручную заданных списков учётных данных:
# AI-powered: auto-detect devices and suggest default credentials
naabu -host 10.0.0.0/24 -p 80,443,3000,8080,9090 -silent | \
nerva --json | \
brutus web --experimental-ai --json
# Manual: test specific credentials against web panels
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | \
nerva --json | \
brutus web -c "admin:admin,root:password" --json
# Default wordlist: test common credentials without AI or -c
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | \
nerva --json | \
brutus web --json
Скачайте со страницы GitHub Releases:
# Linux (amd64)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-linux-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/
# macOS (Apple Silicon)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-arm64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/
# macOS (Intel)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/
# Windows (PowerShell)
Invoke-WebRequest -Uri https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-windows-amd64.zip -OutFile brutus.zip
Expand-Archive -Path brutus.zip -DestinationPath .
Remove-Item brutus.zip
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
Brutus организует свою функциональность в следующие специализированные подкоманды: