工具介绍
hydra是一个自动化的爆破工具,暴力破解弱密码,是一个支持众多协议的爆破工具,已经集 成到KaliLinux中,直接在终端打开即可。
Xhydra是图形化的hydra,已经集成到KaliLinux中,直接在终端打开即可。
可爆破的服务
数据库协议:memcached,mongdb,mssql,mysql,oracle-listemer,oracle-sid,redis。
http协议:http-head,http-get,http-get-form,http-post-form,http-porxy,http-porxy-urlenum。
https协议:https-head,https-get,https-get-form,https-post-form。
文件传输协议:ftp,ftps。
SMB协议:smb,smb2。
git和svn协议:ldap2,ldap3,ldap3-crammd5,ldap3-digestmd5,svn。
代理类和远程类协议:socks5,telnet,vnc,rdp,radmin2,rlogin,rsh,ssh,sshkey。
其他类协议:
adam6500,nntp,afp,asterisk,cvs,firebid,icq,irc,imap,pcnfs,pop3, pcanywhere,postgres,rxec,rpcap,rtsp,s7-300,sip,smtp,snmp, teamspeak,vmauthd,xmpp,cisco,cisco-enable。
hydra参数
-l | 指定单个用户名,适合在知道用户名爆破用户名密码时使用 |
-L | 指定多个用户名,参数值为存储用户名的文件的路径(建议为绝对路径) |
-p | 指定单个密码,适合在知道密码爆破用户名时使用 |
-P | 指定多个密码,参数值为存贮密码的文件(通常称为字典)的路径(建议为绝对路径) |
-C | 当用户名和密码存储到一个文件时使用此参数。注意,文件(字典)存储的格式必须为 "用户名:密码" 的格式 |
-M | 指定多个攻击目标,此参数为存储攻击目标的文件的路径(建议为绝对路径)。注意:列表文件存储格式必须为 "地址:端口" |
-t | 指定爆破时的任务数量(可以理解为线程数),默认为16 |
-s | 指定端口,适用于攻击目标端口非默认的情况。例如:http服务使用非80端口 |
-S | 指定爆破时使用 SSL 链接 |
-R | 继续从上一次爆破进度上继续爆破 |
-v/-V | 显示爆破的详细信息 |
-f | 一但爆破成功一个就停止爆破 |
server | 代表要攻击的目标(单个),多个目标时请使用 -M 参数 |
service | 攻击目标的服务类型(可以理解为爆破时使用的协议),例如 http ,在hydra中,不同协议会使用不同的模块来爆破,hydra 的 http-get 和 http-post 模块就用来爆破基于 get 和 post 请求的页面 |
OPT | 爆破模块的额外参数,可以使用 -U 参数来查看模块支持那些参数,例如命令:hydra -U http-get |
例子:
上图命令:
- 攻击目标:192.168.3.20
- 使用的协议:mysql
- 爆破用户名:root (
-l
) - 使用的密码字典:/root/桌面/mysqlpass.txt (
-P
) - 爆破线程数:4 (
-t
) - 显示详细信息 (
-V
) - 爆破成功一个后停止 (
-f
)