| name | hydra |
| description | Auth/lab ref: Online brute-force and password spraying tool supporting 50+ protocols (SSH, HTTP, FTP, SMB, RDP, WinRM, and more). |
| license | AGPL-3.0 |
| compatibility | Linux, Windows, macOS. |
| metadata | {"author":"AeonDave","version":"1.1"} |
Hydra
Fast, parallelized online password cracker for 50+ protocols.
Quick Start
hydra -l admin -P passwords.txt ssh://192.168.1.10
hydra -l admin -P passwords.txt 192.168.1.10 http-post-form "/login:user=^USER^&pass=^PASS^:Invalid"
hydra -L users.txt -P passwords.txt ssh://192.168.1.10
Core Flags
| Flag | Description |
|---|
-l <user> | Single username |
-L <file> | Username list |
-p <pass> | Single password |
-P <file> | Password list |
-u | Loop users before passwords (default: passwords first) |
-C <file> | Colon-delimited user:pass list |
-t <n> | Threads per host (default 16) |
-T <n> | Total parallel targets |
-s <port> | Custom port |
-S | Use SSL/TLS |
-o <file> | Output found credentials |
-f | Stop after first valid pair (per host) |
-F | Stop after first valid pair (all hosts) |
-v | Verbose |
-V | Very verbose (show each attempt) |
-d | Debug |
-R | Restore previous session |
-I | Ignore existing restore file (start fresh) |
-e nsr | Try: n=empty pass, s=user as pass, r=reversed user |
-w <sec> | Wait time for server response (default 32s) |
-W <sec> | Wait between connect attempts per thread (rate throttle) |
-x proto | SOCKS5/HTTP proxy: -x socks5://127.0.0.1:1080 |
Supported Modules (Common)
ssh, ftp, http-get, http-post-form, https-post-form, smb, rdp, winrm, imap, pop3, smtp, mysql, postgres, mssql, telnet, vnc, ldap2, redis
Common Workflows
hydra -L users.txt -P rockyou.txt ssh://10.10.10.10 -t 4
hydra -l admin -P passwords.txt 10.10.10.10 http-post-form \
"/admin/login.php:username=^USER^&password=^PASS^:Wrong password"
hydra -l administrator -P passwords.txt rdp://10.10.10.10
hydra -l ftp -P passwords.txt ftp://10.10.10.10
hydra -L users.txt -p "Summer2024!" smb://10.10.10.10
hydra -l administrator -P passwords.txt winrm://10.10.10.10
hydra -l admin -P passwords.txt ssh://10.10.10.10 -t 1 -W 3
Proxy / Evasion
hydra -l admin -P passwords.txt -x socks5://127.0.0.1:1080 ssh://10.10.10.10
hydra -l admin -P passwords.txt -x http://127.0.0.1:8080 http-post-form \
"/login:user=^USER^&pass=^PASS^:Invalid"
Tips
- Use
-e nsr for quick wins (null, same as user, reversed)
- Set
-t 1-4 for protocols with lockout policies (RDP, SMB, WinRM)
-W 3 adds 3s between connect attempts per thread — avoids fail2ban bans
-w controls response timeout; increase for slow targets (e.g., -w 10)
- For HTTP forms: identify
failure_message from the response body
- Use
-I to ignore leftover restore files from previous interrupted runs
Resources
| File | When to load |
|---|
references/protocols.md | Module syntax for each protocol, POST form detection, HTTPS handling |