Hydra 所支持的协议
Cisco AAA
Cisco auth
Cisco enable
CVS
FTP
HTTP(S)-FROM-GET
HTTP(S)-FROM-POST
HTTP(S)-GET
HTTP(S)-HEAD
HTTP(S)-Proxy
ICQ
IMAP
IRC
LDAP
MS-SQL
MySQL
NNTP
Oracle Listener
Oracle SID
PC-Anywhere
PC-NFS
POP3
PostgreSQL
RDP
Rexec
Rlogin
Rsh
SIP
SMB(NT)
SMTP
SMTP Enum
SNMP v1+v2+v3
SOCKS5
SSH(v1、v2)
SSHKEY
Subversion
Teamspeak(TS2)
Telnet
Vmware-Auth
VNC
XMPP
Hydra 使用说明
-R
恢复之前被终止的会话(爆破会话)
-I
忽略已经存在的还原文件
-S
执行 SSL 连接
-s
如果目标定义了其他的端口(比如说 ftp 默认端口为 21,目标改成了 2121,就需要使用 - s 进行特别的指定),使用 - s 进行指定
-l LOGIN 或者 -L
-l 是指定单个用户名,-L 可以指定文件
-p PASS 或者 -P
-p 指定单个密码,-P 指定密码文件
-x MIN:MAX:CHARSET
生成密码,详细使用说明可以通过执行 - x -h 查看
MIN 和 MAX 指定的是位数(密码由几个字符组成)
-e nsr
n 代表空密码,s 代表将登录名作为密码进行爆破,r 代表密码是用户名的反写
nsr 的效果如下:三个分别为:用户名密码,密码为空,密码是用户名的反写
-u
循环用户名(意思就是,密码不变,遍历用户名列表进行爆破)
-C FILE
以冒号分割的用户名密码形式,用于代替 - L 和 - P(意思就是使用 - C 选项只需要制定一个文件即可,文件格式为 username:password,这样就没必要使用 - L 和 - P 分别指定用户名和密码了)
-M FILE
目标列表,一行一个目标
-o FILE
将爆破出来的用户名和密码放到 FILE 文件中,而不是输出到 stdout
-f / -F
当爆破出用户名和密码之后立即退出(-M: -f 每个目标,-F 全局的没太弄明白,后来做了实验,大概弄明白是啥意思了)
-t TASKS
其实就是用来制定并发数量的,默认是 16
-w / -W TIME
前者用于指定超时时间,后者用于指定每个爆破连接间隔的时间
-4 / -6
IPV4 和 IPV6 偏好设置
-v / -V / -d
verberos 模式(详尽输出) / 显示每次爆破使用的用户名和密码组合 / 调试模式
-U
服务模块使用详情
server
目标,也可以使用 - M 指定
service
指定爆破的服务名称
OPT
一些服务模块支持额外的输入(使用 - U 查看模块帮助)
为了避免我们发起攻击的 IP 被目标 ban 掉,可以使用 Hydra 的代理选项
我们可以直接去网上获取免费的 scoks 代理和 http (s) 代理,然后设置以下环境变量来启用 hydra 的代理模式:
E.g: % export HYDRA_PROXY=socks5://l:p@127.0.0.1:9150 (or: socks4:// connect://) % export HYDRA_PROXY=connect_and_socks_proxylist.txt (up to 64 entries) % export HYDRA_PROXY_HTTP=http://login:pass@proxy:8080 % export HYDRA_PROXY_HTTP=proxylist.txt (up to 64 entries)
列表形式的代理,hydra 最高支持 64 个