1.简介
hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种协议密码,并且还支持生成密码字典,有GUI图形和命令行两种非常容易上手。
2.相关
系统:Linux kali 4.19.0-kali4-amd64 #1 SMP Debian 4.19.28-2kali1 (2019-03-18) x86_64 GNU/Linux
hydra版本:8.8
3.效果
4.支持协议
adam6500 asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
5.服务示例
5.1.mysql
hydra -u -L ../users/user.txt -x 1:6:1a -o /root/server/logs/mysql.log -f -vV -e ns -t 64 -M ../ip/ip.txt mysql
5.2.ssh
hydra -u -L ../users/user.txt -x 1:6:1a -o /root/server/logs/ssh.log -f -vV -e ns -t 64 -M ../ip/ip.txt ssh
5.3.telnet
hydra -x 1:6:1a -o /root/server/logs/telnet.log -f -vV -e ns -t 64 -M ../ip/ip.txt telnet
6.帮助
-R
:当Hydra用Control-C中止,被杀死或崩溃时,它会留下一个“hydra.restore”文件,其中包含恢复会话所需的所有信息。此会话文件每5分钟写入一次。注意:hydra.restore文件不能复制到不同的平台(例如从小端到大端,或从Solaris到AIX)
-I
:忽略现有还原文件(不要等待10秒),指任务运行时生成的“hydra.restore”文件
-S
:执行SSL连接
-s
:如果服务不在默认的端口上,使用此参数指定(-s 3307)
-l
:使用单一用户名(-l root)
-L
:使用列表文件,用户名文件每行一个条目(-L user.txt)
-p
:使用单一密码(-p password)
-P
:使用列表文件,密码文件每行一个条目(-P password.txt)
-x
:爆力生成密码,最小长度:最大长度:字符集,使用(-x -h)获得帮助,-y禁止将上述字母用作占位符
示例:
-x 3:5:a
使用所有小写字母从长度3到5生成密码
-x 5:8:A1
生成长度为5到8的带大写字母和数字的密码
-x 1:3:/
从长度1到3生成仅包含斜杠的密码
-x 5:5:/%,.-
生成长度为5的密码,仅包含/%,.-
-x 3:5:aA1 -y
仅使用小写字母、大写字母和数字生成长度为3到5的密码不使用符号
-y
:配合-x使用,在-x自动生成强密码时不使用符号,即@#$%等等
-e
nsr:“n”空密码登录;“s”尝试以密码登录;“r”反向登录
-u
:循环用户名,而不是密码(有效!暗含-x)
-C
:冒号分隔的“login:pass”格式文件,而不是-l/-p选项,每行一个条目:user:password(-C login.txt)
-M
:要攻击的服务器的文件列表,每行一个条目,“:”以指定端口(-M serveriplist.txt)
-o
:将重要日志写入到文件(-o log.txt)
-b
:格式化指定-o文件的格式:text(默认)、json、jsonv1
-f/-F
:登录成功或传递成功时退出,任务停止(-f 每个主机 -F 全局)
-t
:任务运行每个目标并行连接的数目,默认16,范围1-64之间(-t 64)
-T
:任务运行总体上并行连接(对于-M,默认值:64)
-w/-W
:响应等待时间默认32秒/每个线程连接之间等待时间0秒
-C
:在所有线程上每次登录尝试的等待时间(强制-t 1)
-4/-6
:使用IPv4地址(默认)/使用IPv6地址,始终放在[]中,也放在-M中
-v/-V/-d
:详细模式/显示登录名+尝试次数/调试模式
-O
:使用旧的SSLv2和v3
-q
:不打印有关连接错误的消息
-U
:服务模块使用详细信息
-h
:更多命令行选项(完整帮助)
server
:目标dns、ip或192.168.0.0/24(此选项或-M选项)
service
:要破解的服务(有关支持的协议,请参阅下面的内容)
OPT
:一些服务模块支持附加输入(模块帮助为-U)
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 -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh