Strumento veloce per test delle credenziali senza dipendenze in Go. Esegui brute force su SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB e oltre 20 protocolli. Alternativa a Hydra con integrazione nativa della pipeline nerva/naabu.
"Et tu, Brute?" — Le ultime parole prima che le credenziali cadano.
Strumento moderno per il test delle credenziali in puro Go
Installazione • Avvio rapido • Pipeline • Protocolli • Enumerazione • Proxy • Libreria
Brutus è uno strumento multi-protocollo per il test dell'autenticazione progettato per colmare una lacuna critica negli strumenti di sicurezza offensiva: la validazione efficiente delle credenziali su servizi di rete eterogenei. Mentre gli strumenti orientati all'HTTP sono abbondanti, i penetration tester e gli operatori red team incontrano frequentemente database, SSH, SMB e altri servizi di rete che richiedono capacità di test dell'autenticazione dedicate.
Costruito in Go come singolo binario senza dipendenze esterne, Brutus si integra perfettamente con Nerva per il rilevamento automatico dei servizi, consentendo agli operatori di identificare e testare rapidamente i vettori di autenticazione su intere porzioni di rete.
Caratteristiche principali:
--proxy--mode cautious|default|aggressive per calibrare copertura e sicurezzaStrumenti tradizionali come THC Hydra hanno servito bene la comunità della sicurezza, ma presentano attriti significativi: catene di dipendenze complesse, problemi di compilazione specifici per piattaforma e nessuna integrazione nativa con i moderni flussi di lavoro di ricognizione.
Brutus è progettato su misura per la sicurezza offensiva moderna:
Distribuzione a dipendenze davvero zero: Scarica un singolo binario ed eseguilo. Niente libssh-dev, niente libmysqlclient-dev, niente errori di compilazione. Funziona in modo identico su Linux, macOS e Windows.
Integrazione nativa con pipeline: Brutus parla JSON e si integra direttamente con Nerva, naabu, nmap e masscan. Invia i servizi rilevati direttamente al test delle credenziali senza conversione di formato o scripting.
Intelligenza integrata: Le chiavi SSH compromesse note (Vagrant, F5 BIG-IP, ExaGrid, ecc.) sono compilate nel binario. Usa brutus badkeys per testarle contro target SSH.
Design library-first: Importa Brutus direttamente nei tuoi strumenti di sicurezza Go. Crea automazioni personalizzate senza ricorrere a processi esterni.
# 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
Hai trovato una chiave privata su un sistema compromesso? Diffondila sulla rete per scoprire dove altro concede l'accesso:
# 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
Questa pipeline individua tutti i servizi SSH, li identifica con Nerva e verifica la chiave compromessa rispetto a nomi utente comuni, rivelando in pochi secondi le opportunità di movimento laterale.
Individua i servizi HTTP e verifica le credenziali utilizzando il rilevamento basato sull'IA o elenchi di credenziali manuali:
# 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
Scarica da 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 organizza le sue funzionalità in questi sottocomandi mirati: