mirror of
https://github.com/praetorian-inc/brutus.git
synced 2026-06-20 09:27:34 +00:00
Page:
Pipeline Integration
No results
1
Pipeline Integration
nsportsman edited this page 2026-02-12 14:17:42 -06:00
Pipeline Integration
Navigation: Home | Plugins | LLM Analyzers | Bad Keys | Wordlists and Defaults | Configuration | Architecture
Overview
Brutus is designed for seamless pipeline integration with fingerprintx (service identification) and naabu (port scanning). The --stdin flag reads fingerprintx JSON output and automatically maps services to protocol plugins.
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | fingerprintx | brutus --stdin --defaults --json
Pipeline Architecture
naabu (port scan) --> fingerprintx (service ID) --> brutus (credential testing)
host:port JSON stream JSON results
Input Format
Brutus accepts fingerprintx JSON, one object per line:
{"ip":"192.168.1.100","port":22,"service":"ssh","version":"OpenSSH_8.9p1"}
{"ip":"192.168.1.101","port":3306,"service":"mysql","version":"8.0.32"}
{"ip":"192.168.1.102","port":6379,"service":"redis","version":"7.0.5"}
Service-to-Protocol Mapping
| fingerprintx Service | Brutus Protocol |
|---|---|
ssh |
ssh |
ftp |
ftp |
telnet |
telnet |
vnc |
vnc |
http / https |
http / https |
smb |
smb |
ldap |
ldap |
rdp |
rdp |
mysql |
mysql |
postgresql / postgres |
postgresql |
mssql |
mssql |
mongodb |
mongodb |
redis |
redis |
neo4j |
neo4j |
cassandra |
cassandra |
couchdb |
couchdb |
elasticsearch |
elasticsearch |
influxdb |
influxdb |
smtp |
smtp |
imap |
imap |
pop3 |
pop3 |
snmp |
snmp |
Unsupported services are silently skipped.
Output Format
JSON (--json)
[
{"protocol":"ssh","target":"192.168.1.100:22","username":"root","password":"toor","success":true,"duration":"1.23s"},
{"protocol":"mysql","target":"192.168.1.101:3306","username":"root","password":"","success":true,"duration":"0.89s"}
]
| Field | Type | Description |
|---|---|---|
protocol |
string | Protocol tested |
target |
string | Target host:port |
username |
string | Username tested |
password |
string | Password tested |
success |
bool | Authentication succeeded |
error |
string | Error message (if any) |
duration |
string | Time taken |
banner |
string | Captured service banner |
llm_suggested |
bool | Credential was LLM-suggested |
Human-Readable (default)
[+] VALID: root:toor @ 192.168.1.100:22 (1.23s)
[-] ERROR: ubuntu:ubuntu @ 192.168.1.100:22 - connection reset
Results: 1 valid, 3 failed, 1 error (total: 5)
Real-World Scenarios
Corporate Network Audit
naabu -host 10.10.10.0/24 -p 22,23,21,3306,5432,6379,27017,445 -silent | \
fingerprintx | \
brutus --stdin --defaults --json -o results.json
cat results.json | jq '.[] | select(.success == true)'
Database Hunting
naabu -host 192.168.0.0/16 -p 3306,5432,1433,27017,6379,9042 -silent | \
fingerprintx | \
brutus --stdin --defaults -t 5 --json | tee database-findings.json
jq -r 'select(.success) | "\(.target) \(.username):\(.password)"' database-findings.json
SSH Key Spraying
naabu -host 10.0.0.0/24 -p 22 -silent | \
fingerprintx | \
brutus --stdin -u root,admin,ubuntu,deploy -k /path/to/found_key --json
Bad Keys Network Sweep
naabu -host 10.0.0.0/8 -p 22 -rate 1000 -silent | \
fingerprintx | \
brutus --stdin --badkeys --json -o ssh-key-findings.json
Web Admin Panel Discovery (LLM)
export DEEPSEEK_API_KEY="your-key"
naabu -host 10.0.0.0/24 -p 80,443,3000,8080,9090 -silent | \
fingerprintx | \
brutus --stdin --defaults --json
SNMP Community String Sweep
naabu -host 10.0.0.0/24 -p 161 -silent | \
fingerprintx | \
brutus --stdin --snmp-tier extended --json
Comparison with Legacy Workflows
Traditional (Hydra)
nmap -sV 10.0.0.0/24 -oG - | grep open > ports.txt
awk '{print $2":"$5}' ports.txt | cut -d'/' -f1 > targets.txt
grep ":22$" targets.txt | xargs -I{} hydra -L users.txt -P pass.txt ssh://{}
grep ":3306$" targets.txt | xargs -I{} hydra -L users.txt -P pass.txt mysql://{}
# ... repeat for each protocol
Praetorian (Brutus)
naabu -host 10.0.0.0/24 -silent | fingerprintx | brutus --stdin --defaults --json
Advantages: Single command, automatic protocol detection, native JSON, no scripting required.
Navigation: Home | Plugins | LLM Analyzers | Bad Keys | Wordlists and Defaults | Configuration | Architecture