
brutus v1.11.0
Быстрый инструмент для тестирования учетных данных с нулевыми зависимостями на Go. Брутфорс SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB и 20+ протоколов. Альтернатива Hydra с нативной интеграцией конвейера nerva/naabu.
Brutus
"Et tu, Brute?" — Последние слова перед падением учётных данных.
Современный инструмент для тестирования учётных данных на чистом Go
Установка • Быстрый старт • Конвейер • Протоколы • Перебор • Прокси • Библиотека
Обзор
Brutus — это многопротокольный инструмент для тестирования аутентификации, созданный для устранения критического пробела в инструментарии атакующей безопасности: эффективной проверки учётных данных через разнообразные сетевые сервисы. В то время как инструментов, ориентированных на HTTP, предостаточно, специалисты по пентестам и операторы красных команд часто сталкиваются с базами данных, SSH, SMB и другими сетевыми сервисами, требующими специализированных возможностей тестирования аутентификации.
Написанный на Go как единый бинарный файл без внешних зависимостей, Brutus бесшовно интегрируется с Nerva для автоматического обнаружения сервисов, позволяя операторам быстро выявлять и тестировать векторы аутентификации во всём диапазоне сети.
Ключевые возможности:
- Ноль зависимостей: Единый бинарный файл, кроссплатформенность (Linux, Windows, macOS)
- 27 протоколов: SSH, RDP, MySQL, PostgreSQL, MSSQL, Oracle, Redis, SMB, LDAP, WinRM, SNMP, HTTP Basic Auth и другие
- Поддержка прокси SOCKS5: Маршрутизация всего трафика через прокси SOCKS5 с опцией
--proxy - Режимы агрессивности:
--mode cautious|default|aggressiveдля настройки покрытия и безопасности - Интеграция с конвейером: Нативная поддержка рабочих процессов Nerva, naabu, nmap и masscan
- Встроенные плохие ключи: Встроенная коллекция известных 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-ключи (Vagrant, F5 BIG-IP, ExaGrid и т.д.) скомпилированы в бинарный файл. Используйте
brutus badkeysдля их тестирования на SSH-целях. -
Проект, ориентированный на библиотеку: Импортируйте Brutus напрямую в свои инструменты безопасности на Go. Создавайте собственную автоматизацию без вызова внешних процессов.```bash
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
- Быстрая проверка учетных данных после утечек паролей или фишинговых кампаний
- Тестирование возможностей бокового перемещения по сетевым службам
- Проверка скомпрометированных учетных данных в гетерогенных средах
### Распыление закрытых ключей
Нашли закрытый ключ на скомпрометированной системе? Распылите его по сети, чтобы узнать, где еще он предоставляет доступ:```bash
# 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-сервисы и проверьте учётные данные с помощью обнаружения на основе ИИ или вручную заданных списков учётных данных:```bash
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](https://github.com/praetorian-inc/brutus/releases):```bash
# 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/
Установка через APT-репозитории
В системах на базе Debian Nmap также можно установить с помощью пакетного менеджера APT, хотя рекомендуется загрузить последнюю версию напрямую из официального репозитория. Внимание: Версия в репозитории APT может быть устаревшей. Используйте официальный репозиторий, чтобы получить самые актуальные инструменты.
Пошаговая инструкция
Предварительные требования
-
Убедитесь, что установлены пакеты curl и gnupg:
sudo apt install curl gnupg -y -
Если эти инструменты уже установлены, этот шаг можно пропустить.
Добавление официального репозитория Nmap
-
Сначала импортируйте GPG-ключ:
curl -fsSL https://nmap.org/dist/nmap-gpg-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/nmap-archive-keyring.gpg -
Затем добавьте репозиторий: