Schnelles, abhängigkeitsfreies Credential-Testing-Tool in Go. Brute Force für SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB und 20+ Protokolle. Hydra-Alternative mit nativer nerva/naabu-Pipeline-Integration.
"Et tu, Brute?" — Die letzten Worte, bevor Zugangsdaten fallen.
Modernes Tool zum Testen von Zugangsdaten in reinem Go
Installation • Schnellstart • Pipeline • Protokolle • Enumeration • Proxy • Bibliothek
Brutus ist ein Multi-Protokoll-Tool zum Testen der Authentifizierung, das eine kritische Lücke in der Offensive-Security-Tooling schließen soll: die effiziente Validierung von Zugangsdaten über verschiedene Netzwerkdienste hinweg. Während HTTP-fokussierte Tools reichlich vorhanden sind, stoßen Penetrationstester und Red-Team-Operatoren häufig auf Datenbanken, SSH, SMB und andere Netzwerkdienste, die speziell entwickelte Fähigkeiten zum Testen der Authentifizierung erfordern.
Brutus ist in Go als einzelne Binärdatei ohne externe Abhängigkeiten gebaut und integriert sich nahtlos mit Nerva für die automatisierte Diensterkennung, sodass Operatoren Authentifizierungsvektoren über ganze Netzwerkbereiche hinweg schnell identifizieren und testen können.
Hauptfunktionen:
--proxy durch einen SOCKS5-Proxy--mode cautious|default|aggressive zur Abstimmung von Abdeckung und SicherheitTraditionelle Tools wie THC Hydra haben der Security-Community gute Dienste geleistet, bringen aber erhebliche Reibung mit sich: komplexe Abhängigkeitsketten, plattformspezifische Kompilierungsprobleme und keine native Integration mit modernen Reconnaissance-Workflows.
Brutus ist speziell für moderne Offensive Security entwickelt:
Echte Zero-Dependency-Bereitstellung: Laden Sie eine einzelne Binärdatei herunter und führen Sie sie aus. Kein libssh-dev, kein libmysqlclient-dev, keine Kompilierungsfehler. Funktioniert identisch unter Linux, macOS und Windows.
Native Pipeline-Integration: Brutus spricht JSON und integriert sich direkt mit Nerva, naabu, nmap und masscan. Leiten Sie entdeckte Dienste direkt in das Testen von Zugangsdaten ein, ohne Formatkonvertierung oder Skripting.
Eingebettete Intelligenz: Bekannte SSH-Bad-Keys (Vagrant, F5 BIG-IP, ExaGrid usw.) sind in die Binärdatei kompiliert. Verwenden Sie brutus badkeys, um sie gegen SSH-Ziele zu testen.
Library-First-Design: Importieren Sie Brutus direkt in Ihre Go-Security-Tools. Erstellen Sie benutzerdefinierte Automatisierung, ohne externe Prozesse aufzurufen.
# 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
Haben Sie einen privaten Schlüssel auf einem kompromittierten System gefunden? Verteilen Sie ihn im Netzwerk, um herauszufinden, wo er sonst noch Zugriff gewährt:
# 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
Diese Pipeline entdeckt alle SSH-Dienste, identifiziert sie mit Nerva und testet den kompromittierten Schlüssel gegen gängige Benutzernamen – und deckt so in Sekundenschnelle Möglichkeiten für laterale Bewegung auf.
HTTP-Dienste entdecken und Anmeldedaten mithilfe KI-gestützter Erkennung oder manueller Anmeldedatenlisten testen:
# 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
Download von 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 organisiert seine Funktionalität in diese fokussierten Unterbefehle: