Hydra is a powerful tool for performing brute-force attacks on various services. It supports a wide range of protocols and can be used to test the security of your systems by identifying weak passwords.
- Introduction
- Installation
- Usage
- Examples
- Example 1: SSH Brute Force
- Example 2: FTP Brute Force
- Example 3: Web Form Brute Force
- Example 4: SMTP Brute Force
- Example 5: MySQL Brute Force
- Example 6: RDP Brute Force
- Example 7: Telnet Brute Force
- Example 8: HTTP Basic Authentication Brute Force
- Example 9: VNC Brute Force
- Example 10: SNMP Brute Force
- Best Practices
- Contributing
- Credits
- License
To install Hydra, follow these steps:
- Clone the repository:
git clone https://github.com/vanhauser-thc/thc-hydra
- Change to the Hydra directory:
cd thc-hydra
- Compile Hydra:
./configure make make install
Hydra can be used to perform brute-force attacks on various services. Here is a basic usage example:
hydra -L username_list.txt -P password_list.txt target_ip ssh
Here are some pseudocode examples to illustrate how Hydra can be used:
// Define the target IP and the protocol
target_ip = "192.168.1.1"
protocol = "ssh"
// Define the username and password lists
username_list = ["admin", "user", "test"]
password_list = ["password123", "admin", "123456"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target IP and the protocol
target_ip = "192.168.1.2"
protocol = "ftp"
// Define the username and password lists
username_list = ["ftpuser", "anonymous"]
password_list = ["ftp123", "anonymous"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target URL and the protocol
target_url = "http://example.com/login"
protocol = "http-post-form"
// Define the username and password lists
username_list = ["admin", "user"]
password_list = ["admin123", "password"]
// Define the login form parameters
form_parameters = "/login:username=^USER^&password=^PASS^:Invalid username or password"
// Execute the brute force attack
hydra -L username_list -P password_list target_url protocol form_parameters
// Define the target IP and the protocol
target_ip = "192.168.1.3"
protocol = "smtp"
// Define the username and password lists
username_list = ["admin@example.com", "user@example.com"]
password_list = ["admin123", "password"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target IP and the protocol
target_ip = "192.168.1.4"
protocol = "mysql"
// Define the username and password lists
username_list = ["root", "admin"]
password_list = ["rootpass", "adminpass"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target IP and the protocol
target_ip = "192.168.1.5"
protocol = "rdp"
// Define the username and password lists
username_list = ["Administrator", "User"]
password_list = ["admin123", "password"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target IP and the protocol
target_ip = "192.168.1.6"
protocol = "telnet"
// Define the username and password lists
username_list = ["root", "admin"]
password_list = ["toor", "admin123"]
// Execute the brute force attack
hydra -L username_list -P password_list target_ip protocol
// Define the target URL and the protocol
target_url = "http://example.com/protected"
protocol = "http-get"
// Define the username and password lists
username_list = ["admin", "user"]
password_list = ["admin123", "password"]
// Execute the brute force attack
hydra -L username_list -P password_list target_url protocol
// Define the target IP and the protocol
target_ip = "192.168.1.7"
protocol = "vnc"
// Define the password list (VNC typically only uses a password)
password_list = ["password", "vncpass"]
// Execute the brute force attack
hydra -P password_list target_ip protocol
- Always ensure you have permission before performing any brute-force attacks.
- Use strong and unique passwords to protect your own systems.
- Regularly update Hydra to benefit from the latest features and security updates.
Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.
Hydra is developed by van Hauser and other contributors. See Link
Hydra is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE.