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.
« 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
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 :
--proxy--mode cautious|default|aggressive pour ajuster la couverture par rapport à la sécurité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 de libmysqlclient-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 badkeys pour 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
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.
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
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
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
Brutus organise ses fonctionnalités en ces sous-commandes ciblées :