
brutus v1.15.0
Быстрый инструмент для тестирования учетных данных с нулевыми зависимостями на Go. Брутфорс SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB и 20+ протоколов. Альтернатива Hydra с нативной интеграцией конвейера nerva/naabu.
Brutus
"Et tu, Brute?" — последние слова перед тем, как учётные данные падут.
Современный инструмент тестирования учётных данных на чистом Go
Установка • Быстрый старт • Конвейер • Протоколы • Перечисление • Прокси • Библиотека
Обзор
Brutus — это многопротокольный инструмент тестирования аутентификации, созданный для устранения критического пробела в инструментах наступательной безопасности: эффективной проверки учётных данных в разнообразных сетевых сервисах. В то время как инструментов, ориентированных на HTTP, предостаточно, пентестеры и операторы red team часто сталкиваются с базами данных, SSH, SMB и другими сетевыми сервисами, требующими специализированных возможностей тестирования аутентификации.
Написанный на Go в виде единого бинарного файла без внешних зависимостей, Brutus бесшовно интегрируется с Nerva для автоматизированного обнаружения сервисов, позволяя операторам быстро выявлять и тестировать векторы аутентификации по целым диапазонам сетей.
Ключевые возможности:
- Ноль зависимостей: единый бинарный файл, кроссплатформенный (Linux, Windows, macOS)
- 43 протокола: SSH, RDP, MySQL, PostgreSQL, MSSQL, Oracle, Redis, SMB, LDAP, WinRM, SNMP, HTTP Basic Auth, MQTT и другие
- Поддержка SOCKS5-прокси: маршрутизация всего трафика через SOCKS5-прокси с помощью
--proxy - Режимы агрессивности:
--mode cautious|default|aggressiveдля настройки соотношения покрытия и безопасности - Интеграция с конвейером: нативная поддержка рабочих процессов Nerva, naabu, nmap и masscan
- Встроенные bad keys: встроенная коллекция известных SSH-ключей (Vagrant, F5, ExaGrid и др.)
- Перечисление учётных записей: перечисление через оракул существования учётных записей, перечисление пользователей Kerberos, генерация email, аутентификация по коду устройства Microsoft Teams/Entra ID
- Библиотека Go: импорт непосредственно в ваши инструменты автоматизации безопасности
- Готовность к продакшену: ограничение скорости, пулинг соединений и комплексная обработка ошибок
Почему Brutus?
Традиционные инструменты, такие как 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
Сценарии использования
Тестирование на проникновение
- Проверка обнаруженных учётных данных на множестве сервисов в ходе внутренних оценок
- Тестирование шаблонов повторного использования паролей в сервисах баз данных и файловых ресурсов
- Выявление учётных данных по умолчанию на только что развёрнутой инфраструктуре
Операции Red Team
- Быстрая проверка учётных данных после утечек паролей или фишинговых кампаний
- Тестирование возможностей бокового перемещения по сетевым сервисам
- Проверка скомпрометированных учётных данных в разнородных средах
Распыление приватных ключей
Нашли приватный ключ на скомпрометированной системе? Распылите его по сети, чтобы выяснить, где ещё он предоставляет доступ:
# 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
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
Быстрый старт
Подкоманды
Brutus организует свою функциональность в следующие специализированные подкоманды: