Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
brutus — Быстрый инструмент для тестирования учетных данных с нулевыми зависимостями на Go. Брутфорс SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB и 20+ протоколов. Альтернатива Hydra с нативной интеграцией конвейера nerva/naabu. | Kitploit
Инструменты/GitHubGitHub/praetorian-inc/brutus
Сканеры уязвимостейАтаки на ПаролиЭксплуатацияЛатеральное перемещениеСбор информацииСетевая безопасностьТестирование на ПроникновениеУтилиты и фреймворкиАутентификацияRed Teaming
GitHub
30741588 дней назадПроверено Kitploit
praetorian-inc/brutus

brutus

Быстрый инструмент для тестирования учетных данных с нулевыми зависимостями на Go. Брутфорс SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB и 20+ протоколов. Альтернатива Hydra с нативной интеграцией конвейера nerva/naabu.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
<img width="2752" height="1536" alt="Brutus - Social" src="https://assets.kitploit.com/production/public/readmes/11715/32309a4ca6e7282c8dcd718e2b275a392b73a81f51cbd5d1738464eb3933fd22.png" />
<h1 align="center">Brutus</h1>

<p align="center">
  <em>"Et tu, Brute?" — последние слова перед тем, как учётные данные падут.</em>
</p>

<p align="center">
  <strong>Современный инструмент тестирования учётных данных на чистом Go</strong>
</p>

<p align="center">
  <a href="#installation">Установка</a> •
  <a href="#quick-start">Быстрый старт</a> •
  <a href="#pipeline-integration">Конвейер</a> •
  <a href="#supported-protocols">Протоколы</a> •
  <a href="#account-enumeration">Перечисление</a> •
  <a href="#socks5-proxy-support">Прокси</a> •
  <a href="#library-integration">Библиотека</a>
</p>

---

## Обзор

Brutus — это многопротокольный инструмент тестирования аутентификации, созданный для устранения критического пробела в инструментах наступательной безопасности: эффективной проверки учётных данных в разнообразных сетевых сервисах. В то время как инструментов, ориентированных на HTTP, предостаточно, пентестеры и операторы red team часто сталкиваются с базами данных, SSH, SMB и другими сетевыми сервисами, требующими специализированных возможностей тестирования аутентификации.

Написанный на Go в виде единого бинарного файла без внешних зависимостей, Brutus бесшовно интегрируется с [Nerva](https://github.com/praetorian-inc/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](https://github.com/praetorian-inc/nerva), [naabu](https://github.com/projectdiscovery/naabu), [nmap](https://nmap.org) и [masscan](https://github.com/robertdavidgraham/masscan). Передавайте обнаруженные сервисы прямо в тестирование учётных данных без преобразования форматов или написания скриптов.

- **Встроенная разведка:** известные SSH bad keys (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/
```

```powershell
# 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

```bash
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
```

---

## Быстрый старт

### Подкоманды

<!-- BEGIN generated: cli-subcommands -->
Brutus организует свою функциональность в следующие специализированные подкоманды:

```bash
brutus badkeys    # Test known weak/compromised SSH keys against targets
brutus creds      # Test default credentials on non-HTTP services (SSH, databases, SMB, etc.)
brutus enum       # Enumerate accounts against account-existence oracles or Active Directory
brutus logon      # Detect Windows logon-screen backdoors (runs both sticky keys and utilman)
brutus snmp       # Test SNMP community strings against targets
brutus stickykeys # Detect the Windows sticky-keys (sethc.exe) logon backdoor only
brutus template   # Run product-specific default-credential templates
brutus utilman    # Detect the Windows utilman (Ease of Access) logon backdoor only
brutus web        # Audit HTTP/web panel credentials (AI-powered or credential list)
```
<!-- END generated: cli-subcommands -->

<!-- BEGIN generated: cli-aliases -->
Некоторые подкоманды имеют псевдонимы для удобства обнаружения:

| Подкоманда | Псевдонимы |
| --- | --- |
| `badkeys` | `keys`, `ssh-keys`, `badkey` |
| `creds` | `services`, `defaults`, `credentials` |
| `snmp` | `community` |
| `web` | `http`, `panels` |

Полный справочник — каждая подкоманда, псевдоним и флаг, включая скрытые от `--help` — генерируется в [docs/CLI.md](https://github.com/praetorian-inc/brutus/blob/main/docs/CLI.md).
<!-- END generated: cli-aliases -->

```bash
# Test SSH credentials
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

# Test HTTP web panel with AI credential detection
brutus web --target 192.168.1.1:80 --experimental-ai

# Test HTTP web panel with manual credentials
brutus web --target 192.168.1.1:80 -c "admin:admin,root:toor"

# Test SNMP community strings
brutus snmp --target 192.168.1.1:161 --mode aggressive

# Detect Windows logon-screen backdoors
brutus logon --target 10.0.0.50:3389

# Pipeline mode: creds skips HTTP/SNMP, web skips non-HTTP, snmp skips non-SNMP
naabu -host 10.0.0.0/24 -silent | nerva --json | brutus creds -P passwords.txt
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | nerva --json | brutus web --experimental-ai
naabu -host 10.0.0.0/24 -p 161 -silent | nerva --json | brutus snmp --mode aggressive
```

### Базовое использование

```bash
# Test SSH with default credentials
brutus creds --target 192.168.1.100:22 --protocol ssh

# Test with specific credentials
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

# Test with username and password lists
brutus creds --target 192.168.1.100:22 --protocol ssh -U users.txt -P passwords.txt

# Test MySQL database
brutus creds --target 192.168.1.100:3306 --protocol mysql -u root -p password

# Test SSH with a specific private key
brutus creds --target 192.168.1.100:22 --protocol ssh -u deploy -k /path/to/id_rsa

# Increase threads for faster testing
brutus creds --target 192.168.1.100:22 --protocol ssh -t 20

# JSON output for scripting
brutus creds --target 192.168.1.100:22 --protocol ssh --json
```

### Пример вывода

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root,admin -p toor,password,admin
[+] VALID: ssh root:toor @ 192.168.1.100:22 (1.23s)
```

С подробным режимом (`-v`):

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p password,toor -v
[-] FAILED: ssh root:password @ 192.168.1.100:22 (0.45s)
[+] VALID: ssh root:toor @ 192.168.1.100:22 (0.52s)
```

Вывод JSON для интеграции в конвейер (выводит только успешные учётные данные):

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor --json
{"protocol":"ssh","target":"192.168.1.100:22","username":"root","password":"toor","duration":"1.234567ms","banner":"SSH-2.0-OpenSSH_8.9p1"}
```

---

## Интеграция в конвейер

Brutus бесшовно интегрируется с **[Nerva](https://github.com/praetorian-inc/nerva)** и **[naabu](https://github.com/projectdiscovery/naabu)** для полной сетевой разведки.

### Реальные сценарии

#### Сценарий 1: Сканирование корпоративной сети /24

```bash
# Discover all open ports, identify services, test default credentials
naabu -host 10.10.10.0/24 -p 22,23,21,3306,5432,6379,27017,445 -silent | \
  nerva --json | \
  brutus creds --json -o results.json

# Same pipeline using Nerva's default URI output (no --json needed)
naabu -host 10.10.10.0/24 -p 22,23,21,3306,5432,6379,27017,445 -silent | \
  nerva | brutus creds -o results.json

# Review findings (all output is successful credentials)
cat results.json | jq '.'
```

#### Сценарий 2: Разведка для Bug Bounty на целевом домене

```bash
# Full pipeline against a single target
naabu -host target.example.com -top-ports 1000 -silent | \
  nerva --json | \
  brutus creds

# Or scan a list of subdomains
cat subdomains.txt | naabu -silent | nerva --json | brutus creds
```

#### Сценарий 3: Поиск баз данных при внутренней оценке

```bash
# Find and test all databases in a range
naabu -host 192.168.0.0/16 -p 3306,5432,1433,27017,6379,9042 -silent | \
  nerva --json | \
  brutus creds -t 5 --json | \
  tee database-findings.json

# Extract credentials in readable format
jq -r '"\(.target) \(.username):\(.password)"' database-findings.json
```

#### Сценарий 4: Тестирование SSH-ключей по всей инфраструктуре

```bash
# Test embedded bad keys (Vagrant, F5 BIG-IP, ExaGrid, etc.) across a range
naabu -host 10.0.0.0/8 -p 22 -rate 1000 -silent | \
  nerva --json | \
  brutus badkeys --json -o ssh-key-findings.json

# Find systems using compromised SSH keys (key field is true)
cat ssh-key-findings.json | jq 'select(.key == true)'
```

#### Сценарий 5: Целевое тестирование сервисов

```bash
# Test only Redis instances found in the network
naabu -host 172.16.0.0/12 -p 6379 -silent | \
  nerva --json | \
  brutus creds

# Test only MongoDB with custom credentials
naabu -host 10.0.0.0/24 -p 27017 -silent | \
  nerva --json | \
  brutus creds -u admin,root,mongodb -p admin,password,mongodb
```

### Импорт из сканеров (Nmap и Masscan)

Brutus может импортировать цели напрямую из файлов вывода сканеров **nmap** и **masscan**, избавляя от необходимости конвертации форматов или использования промежуточных инструментов.

#### Импорт Nmap XML (`--nmap-file`)

Импорт целей из XML-вывода nmap (`-oX`). Nmap выполняет фингерпринтинг сервисов, поэтому Brutus автоматически сопоставляет обнаруженные сервисы с правильным протоколом:

```bash
# Run an nmap service scan
nmap -sV -oX scan.xml 10.0.0.0/24 -p 22,3306,5432,6379,445,3389

# Feed nmap results directly to Brutus
brutus creds --nmap-file scan.xml -P passwords.txt

# Test web services from nmap scan
brutus web --nmap-file scan.xml -c "admin:admin,root:password"

# Test SNMP from nmap scan
brutus snmp --nmap-file scan.xml --mode aggressive

# JSON output for scripting
brutus creds --nmap-file scan.xml --json -o results.json
```

Имена сервисов Nmap автоматически сопоставляются с протоколами Brutus (например, `ms-wbt-server` → `rdp`, `microsoft-ds` → `smb`). TLS определяется по атрибуту `tunnel="ssl"` из nmap. Импортируются только открытые порты на активных хостах.

#### Импорт JSON из Masscan (`--masscan-file`)

Импорт целей из JSON-вывода masscan (`-oJ`). Поскольку masscan — это только сканер портов (без фингерпринтинга сервисов), необходимо либо указать `--protocol`, либо позволить Brutus автоматически определить протокол с помощью Nerva:

```bash
# Run a masscan port scan
masscan 10.0.0.0/24 -p 22,3306,5432,6379 -oJ scan.json --rate 10000

# Test all discovered ports as SSH (when you know what's running)
brutus creds --masscan-file scan.json --protocol ssh -u root -P passwords.txt

# Auto-fingerprint with Nerva (when services are unknown)
brutus creds --masscan-file scan.json -P passwords.txt
```

#### Комбинирование с другими рабочими процессами

Флаги `--nmap-file` и `--masscan-file` работают со всеми подкомандами и являются взаимоисключающими с `--target`, `--targets-file` и stdin:

```bash
# Scan for RDP backdoors from nmap results
brutus logon --nmap-file scan.xml

# Test SSH bad keys from nmap results
brutus badkeys --nmap-file scan.xml

# Override protocol for all masscan targets
brutus creds --masscan-file scan.json --protocol redis -p "redis,password"
```

### Формат входных данных конвейера

Brutus принимает несколько форматов входных данных из stdin:

**Nerva JSON** (`nerva --json`):
```bash
{"ip":"192.168.1.100","port":22,"protocol":"ssh","tls":false,"transport":"tcp","version":"OpenSSH_8.9p1"}
{"ip":"192.168.1.101","port":3306,"protocol":"mysql","tls":false,"transport":"tcp","version":"8.0.32"}
```

**Nerva URI** (вывод Nerva по умолчанию, `--json` не требуется):
```bash
# Nerva outputs URI-scheme lines by default
$ echo "github.com:22" | nerva
ssh://github.com:22 (20.205.243.166)

# Pipe directly to Brutus — protocol is extracted from the URI scheme
echo "10.0.0.1:22" | nerva | brutus creds
echo "10.0.0.0/24:3306" | naabu -silent | nerva | brutus creds
```

**Пустые цели** (автоматически фингерпринтятся с помощью Nerva):
```bash
echo "192.168.1.100:22" | brutus creds
```

Brutus автоматически:
- Разбирает форматы JSON, URI-схемы и простых целей
- Сопоставляет сервисы с протоколами
- Проверяет соответствующие учётные данные по умолчанию
- Выводит результаты в соответствующем формате JSON

### Формат вывода конвейера

Brutus выводит только успешные учётные данные в формате JSONL (один JSON-объект на строку):

```bash
# Brutus JSON output (with --json flag) - only successful authentications
{"protocol":"ssh","target":"192.168.1.100:22","username":"root","password":"toor","duration":"1.234567ms","banner":"SSH-2.0-OpenSSH_8.9p1"}
{"protocol":"mysql","target":"192.168.1.101:3306","username":"root","password":"","duration":"890.123µs"}
{"protocol":"ssh","target":"192.168.1.103:22","username":"vagrant","key":true,"duration":"2.345678ms","banner":"SSH-2.0-OpenSSH_9.6"}
```

**Примечание:** Неудачные попытки аутентификации не включаются в вывод JSON. Поле `key` появляется (как `true`), когда для аутентификации использовался SSH-ключ вместо пароля. Поле `llm_suggested` появляется (как `true`), когда учётные данные были предложены системой ИИ (`--experimental-ai`).

---

## Сравнение

| Функция | Hydra | Medusa | Ncrack | **Brutus** |
|---------|:-----:|:------:|:------:|:----------:|
| Единый бинарный файл | ❌ | ❌ | ❌ | ✅ |
| Ноль зависимостей | ❌ | ❌ | ❌ | ✅ |
| SOCKS5-прокси | ✅ | ❌ | ❌ | ✅ |
| Конвейер Nerva | ❌ | ❌ | ❌ | ✅ |
| Импорт Nmap/Masscan | ❌ | ❌ | ❌ | ✅ |
| Потоковая передача JSON | ⚠️ | ❌ | ❌ | ✅ |
| Кроссплатформенность | ⚠️ | ⚠️ | ⚠️ | ✅ |
| Согласованные ошибки | ⚠️ | ⚠️ | ⚠️ | ✅ |
| Активная разработка | ✅ | ⚠️ | ❌ | ✅ |
| Встроенные плохие ключи | ❌ | ❌ | ❌ | ✅ |
| Импорт как библиотеки Go | ❌ | ❌ | ❌ | ✅ |

---

## Поддерживаемые протоколы

Brutus поддерживает **43 протокола**:

### Сетевые службы
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| SSH | 22 | Пароль, приватные ключи | Серверы, сетевое оборудование |
| FTP | 21 | Пароль | Файловые серверы, NAS-устройства |
| rsync | 873 | Секреты модулей, анонимный доступ | Синхронизация файлов |
| Telnet | 23 | Пароль | Устаревшие системы, IoT-устройства |
| VNC | 5900 | Пароль | Удалённые рабочие столы |
| RDP | 3389 | NLA/CredSSP, пароль | Серверы Windows, рабочие станции |
| SNMP | 161 | Строка сообщества | Сетевые устройства, принтеры |
| IPMI | 623/udp | RMCP | BMC / удалённое управление |
| OPC UA | 4840 | Токен имени пользователя, анонимный доступ | ICS/SCADA |

### Веб-службы
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| HTTP | 80 | Basic Auth | Панели администратора (Grafana, Jenkins и т. д.) |
| HTTPS | 443 | Basic Auth | Защищённые панели администратора |
| Browser | 80/443 | Форма | Вход Microsoft/Entra через браузер |

### Корпоративная инфраструктура
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| SMB | 445 | Пароль, NTLM | Сети Windows, общие файловые ресурсы |
| LDAP | 389/636 | Bind DN | Active Directory, управление идентификацией |
| WinRM | 5985/5986 | NTLM | Удалённое управление Windows |

### Базы данных
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| MySQL | 3306 | Пароль | Веб-приложения |
| PostgreSQL | 5432 | Пароль | Современные приложения |
| MSSQL | 1433 | Пароль | Корпоративные приложения |
| MongoDB | 27017 | Пароль | NoSQL-бэкенды |
| Redis | 6379 | Пароль | Кэширование, сессии |
| Memcached | 11211 | SASL, анонимный доступ | Кэширование |
| Neo4j | 7687 | Пароль | Графовые базы данных |
| Cassandra | 9042 | Пароль | Распределённые базы данных |
| CouchDB | 5984 | HTTP Basic | Хранилища документов |
| Elasticsearch | 9200 | HTTP Basic | Поисковые системы |
| InfluxDB | 8086 | HTTP Basic | Данные временных рядов |
| Oracle | 1521 | Пароль | Корпоративные базы данных |
| DB2 | 50000 | Пароль | Корпоративные базы данных |
| Firebird | 3050 | Пароль | Встраиваемые базы данных |

### Контейнеры и оркестрация
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| Docker | 2375/2376 | Без аутентификации | Открытые демоны Docker |
| Kubernetes | 6443/10250 | Без аутентификации | Открытые API K8s/kubelet |

### Коммуникации
| Протокол | Порт | Методы аутентификации | Вариант использования |
|----------|------|--------------|----------|
| SMTP | 25/587 | Пароль | Почтовый релей |
| IMAP | 143/993 | Пароль | Доступ к почтовому ящику |
| POP3 | 110/995 | Пароль | Доступ к почтовому ящику |
| ActiveMQ | 61616 | Пароль | Брокеры OpenWire |
| SIP | 5060/5061 | Digest | VoIP |
| TURN | 3478 | Пароль | Релей TURN |
| ZooKeeper | 2181 | Digest, анонимный доступ | Координация |
| NATS | 4222 | Пароль, анонимный доступ | Обмен сообщениями |
| XMPP | 5222 | SASL PLAIN | Чат |
| MQTT | 1883/8883 | Пароль, анонимный доступ | Брокеры IoT |
| AMQP | 5672/5671 | SASL PLAIN | RabbitMQ |
| Kafka | 9092 | SASL/PLAIN | Брокеры |
| SOCKS5 | 1080 | Аутентификация прокси SOCKS5 | Прокси |

---

## Встроенные плохие SSH-ключи

Развёртывание одним бинарным файлом без необходимости во внешних файлах ключей. Каждый ключ сопоставлен со своим именем пользователя по умолчанию для умного сопоставления учётных данных, а отслеживание CVE позволяет выполнять запросы на соответствие требованиям.

Brutus содержит коллекции ключей **[rapid7/ssh-badkeys](https://github.com/rapid7/ssh-badkeys)** и **[Vagrant](https://github.com/hashicorp/vagrant)**, встроенные в бинарный файл:

```bash
# Test bad keys against a single target
brutus badkeys --target 192.168.1.100:22

# Pipeline mode: scan a range for compromised SSH keys
naabu -host 10.0.0.0/24 -p 22 -silent | nerva --json | brutus badkeys

# Test credentials (bad keys are NOT included in creds mode)
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p "password"
```

### Встроенный сбор ключей

| Продукт | CVE | Пользователь по умолчанию | Описание |
|---------|-----|--------------|-------------|
| Vagrant | - | vagrant, root | Небезопасный ключ HashiCorp Vagrant |
| F5 BIG-IP | CVE-2012-1493 | root | Статический ключ хоста SSH |
| ExaGrid | CVE-2016-1561 | root | Бэкдор устройства резервного копирования |
| Monroe DASDEC | CVE-2013-0137 | root | Системы экстренного оповещения |
| Barracuda | CVE-2014-8428 | cluster | Виртуальная машина балансировщика нагрузки |
| Ceragon FibeAir | CVE-2015-0936 | mateidu | Беспроводная транспортная сеть |
| Array Networks | - | sync | Устройства vAPV/vxAG |
| Quantum DXi | - | root | Устройства дедупликации |
| Loadbalancer.org | - | root | Корпоративные балансировщики нагрузки |

---

## Режимы агрессивности

Глобальный флаг `--mode` (`-m`) управляет агрессивностью во всех подкомандах. Он задаёт предустановки настройки производительности, которые балансируют покрытие и безопасность:

| Режим | Потоки | Таймаут | Ограничение скорости | Джиттер | Повторы | Сценарий использования |
|------|---------|---------|------------|--------|---------|----------|
| `cautious` | 5 | 15s | 2 req/s | 500ms | 1 | Производственные среды, избегать блокировок |
| `default` | 10 | 10s | Unlimited | None | 2 | Стандартное тестирование |
| `aggressive` | 20 | 10s | Unlimited | None | 3 | Лабораторные/CTF-среды, максимальное покрытие |

Предустановки режима применяются первыми, затем любые явные флаги CLI переопределяют их:

```bash
# Safe mode for production Active Directory (low concurrency, rate-limited)
brutus creds --target dc.corp.local:445 --protocol smb -m cautious -U users.txt -P passwords.txt

# Maximum coverage for a CTF
brutus creds --target 10.10.10.100:22 --protocol ssh -m aggressive -U users.txt -P rockyou.txt

# Cautious mode but override threads
brutus creds --target 192.168.1.100:22 --protocol ssh -m cautious --threads 20
```

Для SNMP режим также управляет глубиной встроенного списка слов (см. [Тестирование строк сообщества SNMP](#snmp-community-string-testing)).

---

## Поддержка прокси SOCKS5

---

[Read more](https://github.com/praetorian-inc/brutus)
Скачать инструмент