Loading...

文章背景图

THC-Hydra 保姆级部署教程:高速在线密码爆破工具支持50余种网络协议

2026-11-07
0
- 字
- 分钟
|

一、项目简介

THC-Hydra(常简称 Hydra)是由 van Hauser / THC(The Hacker's Choice)开发维护的在线密码破解工具,是安全研究和渗透测试中最常用的口令爆破工具之一。它支持并行连接、多协议模块,可对远程服务的登录口令进行字典或暴力猜解。

与离线哈希破解工具不同,Hydra 是"在线"工具——它通过真实的网络连接向目标服务提交用户名/密码对,根据服务返回判断是否登录成功。支持 FTP、SSH、Telnet、HTTP、MySQL、MSSQL、PostgreSQL、RDP、SMB、SMTP、POP3、IMAP、VNC、SNMP 等 50 余种协议。

作者明确声明:本工具仅用于合法安全研究和渗透测试,不得用于军事、情报机构或非法用途。

官方仓库:https://github.com/vanhauser-thc/thc-hydra

THC-Hydra 作者 van Hauser 官方头像

二、功能特点

  • 协议覆盖广:支持 FTP、SSH、Telnet、HTTP-GET/POST/FORM、HTTPS、MySQL、MSSQL、PostgreSQL、Oracle、RDP、SMB、SMTP、POP3、IMAP、VNC、SNMP、LDAP、Redis、MongoDB 等 50+ 协议。
  • 并行爆破:通过 -t 参数指定并行任务数,充分利用带宽和目标性能。
  • 灵活目标:支持单 IP、CIDR 网段、主机列表文件三种目标指定方式。
  • IPv4/IPv6:默认 IPv4,加 -6 参数切换 IPv6。
  • GTK 图形界面:Linux 下提供 xhydra 图形客户端,降低上手门槛。
  • Docker 镜像:官方提供 vanhauser/hydra Docker 镜像,免编译直接用。

三、环境要求

  • 操作系统:Linux(推荐 Ubuntu 22.04/24.04)、macOS、Windows(Cygwin)。
  • 编译依赖:gcc、make、libssl-dev、libssh-dev、libidn11-dev、libpcre3-dev 等。
  • 网络:能访问目标服务端口;爆破大量并发时需注意带宽。
  • 字典:需自行准备用户名字典和密码字典(Hydra 不内置字典)。

四、安装部署步骤

4.1 方式一:Docker 运行(最快)

docker pull vanhauser/hydra
# 查看帮助
docker run --rm vanhauser/hydra hydra -h
# 示例:爆破 SSH
docker run --rm -v /path/to/wordlists:/wordlists vanhauser/hydra \
  hydra -L /wordlists/users.txt -P /wordlists/passwords.txt ssh://192.168.1.10

4.2 方式二:包管理器安装

# Debian/Ubuntu
sudo apt update
sudo apt install -y hydra

# macOS
brew install hydra

4.3 方式三:源码编译(最新版)

sudo apt install -y build-essential libssl-dev libssh-dev libidn11-dev \
  libpcre3-dev libgtk-3-dev libmysqlclient-dev libpq-dev libsvn-dev \
  firebird-dev libmemcached-dev libgpg-error-dev libgcrypt20-dev freetds-dev

git clone https://github.com/vanhauser-thc/thc-hydra.git
cd thc-hydra
./configure
make -j$(nproc)
sudo make install

hydra -h

如需 SSH 模块,确保系统安装了 libssh(注意不是 libssh2)。macOS 上不要用 Homebrew 装 libssh,需手动编译。

五、基础使用

5.1 命令格式

# 新式 :// 风格
hydra [选项] PROTOCOL://TARGET:PORT/MODULE-OPTIONS

# 旧式风格(目标从文件读取时必须用)
hydra [选项] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]

5.2 常用参数

  • -L FILE:用户名字典文件
  • -P FILE:密码字典文件
  • -l USER:单个用户名
  • -p PASS:单个密码
  • -t TASKS:并行任务数(默认 16)
  • -s PORT:指定端口
  • -S:使用 SSL
  • -f:找到一对成功凭据后立即停止
  • -o FILE:结果写入文件
  • -V:显示每次尝试的详细过程

5.3 常见爆破示例

# 爆破 SSH
hydra -L users.txt -P pass.txt ssh://192.168.1.10 -t 4 -f

# 爆破 FTP
hydra -L users.txt -P pass.txt ftp://192.168.1.10

# 爆破 MySQL
hydra -L users.txt -P pass.txt mysql://192.168.1.10

# 爆破 RDP(3389)
hydra -L users.txt -P pass.txt rdp://192.168.1.10 -t 1

# 爆破 HTTP 表单登录(POST)
hydra -L users.txt -P pass.txt 192.168.1.10 http-post-form \
  "/login:username=^USER^&password=^PASS^:F=incorrect"

# 爆破 HTTPS 网站
hydra -L users.txt -P pass.txt -S 192.168.1.10 https-post-form \
  "/login:user=^USER^&pass=^PASS^:S=302"

# 网段爆破
hydra -L users.txt -P pass.txt ssh://[192.168.1.0/24] -t 4

# 从文件读取目标列表
hydra -L users.txt -P pass.txt -M targets.txt ssh

5.4 查看模块帮助

hydra -U smtp      # 查看 SMTP 模块的可选参数
hydra -U http-post-form

5.5 生成默认密码字典

cd thc-hydra/tool
./dpl4hydra.sh     # 生成默认密码列表 dpl4hydra.lst

六、常见问题 FAQ

Q1:编译时缺少 libssh 导致 SSH 模块不可用

安装 libssh-dev:sudo apt install libssh-dev。注意 Hydra 用的是 libssh 不是 libssh2。macOS 需手动编译 libssh。

Q2:爆破时大量 "Error" 但不出结果

先用 -V 看每次尝试的细节;检查协议模块参数是否正确(尤其 HTTP 表单的失败标识);目标可能有 WAF 或账户锁定策略,降低并发 -t 1 重试。

Q3:并发数设多少合适?

SSH/RDP 等服务建议 -t 4 以下,过高会触发连接限制或账户锁定;HTTP 可适当提高到 16-32;务必先做小范围测试。

Q4:Hydra 和 Medusa、Ncrack 有什么区别?

三者都是在线爆破工具,协议覆盖和性能各有侧重。Hydra 社区最活跃、文档最全;Medusa 模块化设计;Ncrack 侧重网络服务。可根据目标协议选择。

Q5:法律风险

未经授权对他人系统进行口令爆破属于违法行为。仅在自有设备、授权渗透测试或 CTF 比赛中使用。作者明确反对用于军事和非法用途。

七、参考链接

评论交流

文章目录