Skip to content
Home

Hydra: login brute-forcing across protocols

Fast credential brute-forcer for SSH, FTP, HTTP forms, SMB, RDP and dozens of other services.

bash·1 min read··INE Certification

When enumeration turns up a service but no known vulnerability, brute-forcing the login is usually the next move. Hydra is the standard tool for it, with one consistent syntax across nearly every protocol you’ll run into.

Usage

# Single user, password list — SSH
hydra -l <username> -P passwords.txt <target_ip> ssh

# User list + password list — FTP
hydra -L users.txt -P passwords.txt <target_ip> ftp

# HTTP GET-based auth (Basic auth)
hydra -L users.txt -P passwords.txt <target_ip> http-get /admin/

# HTTP POST login form
hydra -l admin -P passwords.txt <target_IP> http-post-form "/login.php:user=^USER^&pass=^PASS^:Invalid credentials"

# SMB
hydra -l admin -P /usr/share/wordlists/rockyou.txt <target_ip> smb

Flags

FlagMeaning
-l / -pSingle username/password
-L / -PUsername/password wordlist file
-s <port>Non-default port
-t <n>Parallel connections — lower this if there’s a risk of crashing a fragile service or triggering a lockout
-fStop on first valid hit
-o <file>Save results

Supported services include ssh, ftp, smb, rdp, mysql, mssql, smtp, snmp, vnc, telnet and more. Run hydra -U <service> for module-specific options.