
brutus v1.15.0
Outil de test d'identifiants rapide et sans dépendances en Go. Force brute sur SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB et plus de 20 protocoles. Alternative à Hydra avec intégration native du pipeline nerva/naabu.
Brutus
« Et toi, Brutus ? » — Les derniers mots avant que les identifiants ne tombent.
Outil moderne de test d'identifiants en Go pur
Installation • Démarrage rapide • Pipeline • Protocoles • Énumération • Proxy • Bibliothèque
Aperçu
Brutus est un outil de test d'authentification multi-protocoles conçu pour combler une lacune critique dans l'outillage de sécurité offensive : la validation efficace des identifiants sur divers services réseau. Alors que les outils axés sur HTTP sont nombreux, les testeurs d'intrusion et les opérateurs red team rencontrent fréquemment des bases de données, SSH, SMB et d'autres services réseau qui nécessitent des capacités de test d'authentification spécialement conçues.
Développé en Go sous forme de binaire unique sans dépendances externes, Brutus s'intègre parfaitement avec Nerva pour la découverte automatisée de services, permettant aux opérateurs d'identifier et de tester rapidement les vecteurs d'authentification sur des plages réseau entières.
Fonctionnalités clés :
- Zéro dépendance : Binaire unique, multiplateforme (Linux, Windows, macOS)
- 43 protocoles : SSH, RDP, MySQL, PostgreSQL, MSSQL, Oracle, Redis, SMB, LDAP, WinRM, SNMP, HTTP Basic Auth, MQTT, et plus encore
- Prise en charge du proxy SOCKS5 : Acheminez tout le trafic via un proxy SOCKS5 avec
--proxy - Modes d'agressivité :
--mode cautious|default|aggressivepour ajuster la couverture par rapport à la sécurité - Intégration pipeline : Prise en charge native des workflows Nerva, naabu, nmap et masscan
- Clés compromises intégrées : Collection intégrée de clés SSH connues (Vagrant, F5, ExaGrid, etc.)
- Énumération de comptes : énumération par oracle d'existence de compte, énumération d'utilisateurs Kerberos, génération d'e-mails, authentification par code d'appareil Microsoft Teams/Entra ID
- Bibliothèque Go : Importez directement dans vos outils d'automatisation de sécurité
- Prêt pour la production : Limitation de débit, mise en pool des connexions et gestion complète des erreurs
Pourquoi Brutus ?
Les outils traditionnels comme THC Hydra ont bien servi la communauté de la sécurité, mais ils s'accompagnent de frictions importantes : chaînes de dépendances complexes, problèmes de compilation spécifiques à chaque plateforme et aucune intégration native avec les workflows de reconnaissance modernes.
Brutus est spécialement conçu pour la sécurité offensive moderne :
-
Déploiement véritablement sans dépendance : Téléchargez un binaire unique et exécutez-le. Pas de
libssh-dev, pas delibmysqlclient-dev, pas d'erreurs de compilation. Fonctionne de manière identique sur Linux, macOS et Windows. -
Intégration pipeline native : Brutus parle JSON et s'intègre directement avec Nerva, naabu, nmap et masscan. Acheminez les services découverts directement vers le test d'identifiants sans conversion de format ni script.
-
Renseignement intégré : Les clés SSH compromises connues (Vagrant, F5 BIG-IP, ExaGrid, etc.) sont compilées dans le binaire. Utilisez
brutus badkeyspour les tester contre des cibles SSH. -
Conception axée bibliothèque : Importez Brutus directement dans vos outils de sécurité Go. Créez une automatisation personnalisée sans recourir à des processus externes.
# 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
Cas d'utilisation
Tests d'intrusion
- Valider les identifiants découverts sur plusieurs services lors d'évaluations internes
- Tester les schémas de réutilisation de mots de passe sur les services de bases de données et de partage de fichiers
- Identifier les identifiants par défaut sur les infrastructures nouvellement déployées
Opérations Red Team
- Validation rapide des identifiants après des fuites de mots de passe ou des campagnes de phishing
- Tester les opportunités de déplacement latéral sur les services réseau
- Valider les identifiants compromis dans des environnements hétérogènes
Pulvérisation de clés privées
Vous avez trouvé une clé privée sur un système compromis ? Pulvérisez-la sur le réseau pour découvrir où elle accorde également l'accès :
# 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
Ce pipeline découvre tous les services SSH, les identifie avec Nerva et teste la clé compromise contre des noms d'utilisateur courants—révélant des opportunités de mouvement latéral en quelques secondes.
Test des panneaux d'administration web
Découvrez les services HTTP et testez les identifiants à l'aide d'une détection assistée par IA ou de listes d'identifiants manuelles :
# 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
Validation de sécurité
- Tester les identifiants par défaut sur les services nouvellement déployés
- Valider l'application de la politique de mots de passe sur toutes les plateformes
- Générer des pistes d'audit pour la conformité et les évaluations de sécurité
Installation
Binaires précompilés (recommandé)
Téléchargez depuis 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
Installation via Go
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
Démarrage rapide
Sous-commandes
Brutus organise ses fonctionnalités en ces sous-commandes ciblées :