
brutus v1.15.0
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.
Brutus
"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
Panoramica
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:
- Zero dipendenze: Singolo binario, multipiattaforma (Linux, Windows, macOS)
- 43 protocolli: SSH, RDP, MySQL, PostgreSQL, MSSQL, Oracle, Redis, SMB, LDAP, WinRM, SNMP, HTTP Basic Auth, MQTT e altri
- Supporto proxy SOCKS5: Instrada tutto il traffico attraverso un proxy SOCKS5 con
--proxy - Modalità di aggressività:
--mode cautious|default|aggressiveper calibrare copertura e sicurezza - Integrazione con pipeline: Supporto nativo per i flussi di lavoro Nerva, naabu, nmap e masscan
- Chiavi compromesse integrate: Raccolta integrata di chiavi SSH note (Vagrant, F5, ExaGrid, ecc.)
- Enumerazione account: enumerazione tramite oracolo di esistenza account, enumerazione utenti Kerberos, generazione email, autenticazione con device code di Microsoft Teams/Entra ID
- Libreria Go: Importabile direttamente nei tuoi strumenti di automazione della sicurezza
- Pronto per la produzione: Rate limiting, connection pooling e gestione completa degli errori
Perché Brutus?
Strumenti 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, nientelibmysqlclient-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 badkeysper 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
Casi d'uso
Penetration Testing
- Convalidare le credenziali scoperte su più servizi durante le valutazioni interne
- Testare i pattern di riutilizzo delle password su servizi di database e condivisione file
- Identificare le credenziali predefinite su infrastrutture appena distribuite
Operazioni Red Team
- Convalida rapida delle credenziali dopo dump di password o campagne di phishing
- Testare le opportunità di movimento laterale attraverso i servizi di rete
- Convalidare le credenziali compromesse in ambienti eterogenei
Private Key Spraying
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.
Test del pannello di amministrazione web
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
Validazione della Sicurezza
- Testare le credenziali predefinite sui servizi appena distribuiti
- Convalidare l'applicazione delle policy sulle password su tutte le piattaforme
- Generare tracce di audit per la conformità e le valutazioni di sicurezza
Installazione
Binari Precompilati (Consigliato)
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
Installazione tramite Go
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
Avvio Rapido
Sottocomandi
Brutus organizza le sue funzionalità in questi sottocomandi mirati: