如何快速上手 Hydra:从源码编译到完成一次网络密码爆破
【免费下载链接】thc-hydrahydra项目地址: https://gitcode.com/gh_mirrors/th/thc-hydra
如果你被委托评估一台 FTP、SSH 或 Web 登录页的口令强度,逐个手动试密码既慢又不可靠。Hydra(全称 "very fast network log-on cracker")就是为此设计的网络登录爆破工具:它内置 50 余种协议的模块,支持并行连接,能按账号列表或口令字典快速验证远程服务的弱口令。这篇文章带你从编译源码开始,跑通一次完整的测试任务,并介绍它的图形界面 xhydra。
先弄清 Hydra 在网络密码测试中扮演什么角色
Hydra 最初是 van Hauser / THC 写下的一个"概念验证"程序,用来直观展示:从远程看,登录弱口令的系统有多容易。它面向合法授权的安全测试与研究,作者明确要求不得用于非法用途。
与只针对单一协议的爆破脚本不同,Hydra 采用模块引擎:每种服务对应一个独立的源文件,例如 FTP 在 hydra-ftp.c、SSH 在 hydra-ssh.c、SMB 在 hydra-smb.c,新增或修改协议只需改对应模块。README 中列出的支持协议涵盖 FTP、SSH、HTTP/HTTPS、IMAP、POP3、SMTP、MySQL、PostgreSQL、MongoDB、Redis、VNC、RTSP、SNMP 等,常见网络服务基本都能覆盖。
另外要区分两个概念:Hydra 本体是命令行程序,而仓库里的 hydra-gtk/ 是它的 GTK+3 图形前端,编译产物叫xhydra,两者配合使用。
如何从源码编译并安装 Hydra
先把源码克隆下来(需要联网):
git clone https://gitcode.com/gh_mirrors/th/thc-hydra进入仓库根目录后,按 README 的说明执行:
./configure && make && make install这一条命令完成配置、编译和安装三件事。几点提示:
- 想要 SSH 模块,系统里需要 libssh(注意不是 libssh2),可从 libssh.org 获取。
- 在 Debian/Ubuntu 上,README 给出了一组
apt-get install依赖(libssl-dev、libssh-dev、libgtk-3-dev 等),装上它们即可启用全部可选模块;不装则只有核心模块可用。 - 编译完成后,直接输入
hydra可看到简短帮助,hydra -h查看全部命令行参数。
典型任务实战:测试一台 FTP 服务的弱口令
假设你已获得对 192.168.1.10 的测试授权,现在要验证它的 FTP 弱口令。核心命令长这样:
hydra -l admin -p test123 ftp://192.168.1.10/它表示:以 admin/test123 这一组账号口令,对目标 21 端口的 FTP 发起验证。协议写ftp://目标/,端口可省略,用默认端口即可。
Hydra 给口令的方式有四种,按使用频率排序:
| 写法 | 含义 |
|---|---|
-l admin -p test123 | 单个账号、单个口令 |
-L logins.txt -P pass.txt | 账号列表 × 口令列表的笛卡尔积 |
-C accounts.txt | 文件中每行是账号:口令配对,适合设备默认账号 |
-x 6:8:aA1 | 按长度和字符集穷举 |
仓库自带 dpl4hydra.sh 脚本,可按品牌(如 linksys)生成用户名:密码格式的默认账号列表,配合-C参数使用,对排查物联网设备默认口令特别有用。
两个提升效率的细节:
- 加
-e sn可以在试每对组合时顺带尝试"空口令"和"账号当口令",很多弱口令藏在这两处。 - 把口令列表按命中概率从高到低排序(
sort | uniq去重后再排序),配合-u参数能让命中结果更快出现。若目标有口令策略,仓库里的 pw-inspector.c(编译为 pw-inspector)可以按长度、大小写、数字等规则预先裁剪口令列表。
结果会直接打印到终端,也可以用-o参数写入文件。中途即使 Hydra 被中断或崩溃,它每 5 分钟落盘的hydra.restore文件也允许恢复未完成的会话,字典测试不必从头再来。
想用图形界面?编译 xhydra 的完整流程
不太习惯敲命令时,可以用 xhydra:表单里填好目标、协议、账号口令文件,点一下即可运行,输出实时回显在窗口中。
在 hydra-gtk/ 目录下执行项目提供的脚本:
cd hydra-gtk && ./make_xhydra.sh脚本内部依次执行 autogen、configure、make,并把生成的xhydra二进制复制回仓库根目录(见 make_xhydra.sh)。前提是 hydra 本体已安装。
xhydra 启动时会自动在./hydra、/usr/local/bin/hydra等常见位置查找 hydra 可执行文件,逻辑在 hydra-gtk/src/main.c;如果你的 hydra 装在别处,用./xhydra --hydra-path /path/to/hydra手动指定即可。回到根目录运行./xhydra,就能看到完整的配置界面。
适用人群与两个高频问题
适合谁用:授权渗透测试人员、安全顾问、负责口令策略审计的运维,以及学习网络协议登录流程的学生。它不适合用来测试没有获得授权的系统——这一点 README 开头就写得明白。
两个常见问题:
- 能测 IPv6 目标吗?默认只走 IPv4。加
-6参数后整个会话切到 IPv6 模式,CIDR 和 IPv6 地址要用方括号括起来。 - 端口和模块参数怎么查?每个协议的默认端口和可选参数不同,输入
hydra -U 模块名(如hydra -U smtp)即可打印该模块的用法说明。
从./configure到一次 FTP 弱口令验证,整个过程通常不到二十分钟。先用端口扫描确认服务存活,再让 Hydra 把最脏最累的重复劳动干完——这就是它存在的意义。
【免费下载链接】thc-hydrahydra项目地址: https://gitcode.com/gh_mirrors/th/thc-hydra
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考