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个