如何使用Hydra对基本身份验证进行暴力破解攻击

如何使用Hydra对基本身份验证进行暴力破解攻击

一、什么是Hydra

Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。

目前Hydra支持以下协议的爆破:
AFP,Cisco AAA,Cisco身份验证,Cisco启用,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,HTTPS-FORM- GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,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,SAP / R3,SIP,SMB,SMTP,SMTP枚举,SNMP,SOCKS5,SSH(v1和v2),Subversion,Teamspeak(TS2),Telnet,VMware-Auth ,VNC和XMPP。

二、Hydra常用命令

在这里插入图片描述hydra -h是一种很好的查看命令有哪些作用的方法

hydra -h
//  hydra -h可以查看hydra的命令
hydra -h

常用的命令:

-l,指定用户名进行破解
-L,指定用户的用户名字典
-p,用于指定密码破解,很少使用,一般采用密码字典。
-P,用于指定密码字典。
-e ns 额外的选项,n:空密码试探,s:使用指定账户和密码试探
-M file 指定目标ip列表文件,批量破解。
-o file 指定结果输出文件
-f 找到第一对登录名或者密码的时候中止破解。
-t tasks 同时运行的线程数,默认是16
-w time 设置最大超时时间,单位
-v / -V 显示详细过程
-R 恢复爆破、
-x 自定义密码。

参数 介绍

-x MIN:MAX:CHARSET 密码暴力破解生成器 规则:MIN表示生成密码的最短长度;MAX表示生成密码的最长长度;CHARSET表示使用指定的字符生成密码,'a’表示所有的小写字母,'A’表示所有的大写字母,'1’表示所有的数字,对于其他字符,只需要添加在后面即可
-y 使用方式见-x,它表示charset的字符是实际的字符,而不是正则表达式
-x 3:5:a 生成的密码字典长度为3到5位,由所有的小写字母组成
-x 5:8:A1 生成的密码字典长度为5到8位,有所有的大写字母和数字组成
-x 5:5/%,.- 生成的密码字典长度为5位,只由’/ % , . -'这5种字符构成
-x 3:5:aA1 -y 生成的密码字典长度为3到5位,且只由’a A 1’这三种字符组成
-x 3:5:aA1.-+# 生成的密码字典长度为3到8位,由大小写字母+数字+.-+#进行组合。

三、攻击前的准备

环境介绍:在这里插入图片描述我的kali IP地址为192.168.139.156,OWASP IP地址为192.168.139.153,大家要看好自己的kali 和OWASP是什么。

3.1 准备一个用户名字典

为了演示字典攻击,需要一个用户名列表。
例如我们收集到了几个有效用户名信息,将这些信息放到一个文本文件,这里我创建了一个文本文件名为user_list
文本内容如下:
在这里插入图片描述一定要将文本文件放在root根目录下

3.2 准备一个密码字典

演示字典攻击,还需要一个密码字典。
创建文本文档,文档名称passwd_list
文本内容如下:
在这里插入图片描述
注:两个文件都放在/root/的根目录下

3.3 了解什么是Base64编码

Base64编码
在HTTP basic身份验证中,浏览器在身份验证头中使用base64编码发送用户名和数据包。例如,如果用户名是admin,密码是password,浏览器将对admin:password进行编码,得到字符串YWRtaW46UGFzc3dvcmQ=,请求头将有这么一行:

Authorization:Basic YWRtaW46UGFzc3dvcmQ=
提示:

    几乎每次看到一个看似随机的并且以一两个等号(=)结尾的字符串的时候,该字符都是base64编码的。

    可以使用Burp Suite的解码器或Kali linux中的base64命令轻松解码它,=符号可以进行url编码,即在某些请求和响应中被%3D替换。

四、Hydra攻击HTTP基本身份验证

我们将前面的字典准备好之后可以开始攻击HTTP的基本身份验证。

4.1 在kali打开Hydra

4.1.1 图形界面打开

在这里插入图片描述

4.1.2 命令行打开

在这里插入图片描述

4.2 写入命令发动攻击靶机

hydra -L user_list.txt -P passwd_list.txt -u -e ns http-get://192.168.139.153/WebGoat/
//
hydra -L user_list.txt -P passwd_list.txt -u -e ns http-get://192.168.139.153/WebGoat/

在这里插入图片描述
我们可以看到Hydra找到了2个不同用户名/密码组合,并成功登陆到服务器。

小结

这种身份验证的方法与其他的验证方法不同(如表单),这种方法节省了攻击者和渗透测试人员节省时间,将渗透工作便捷化。目前已经有了很多登录破解的工具,但是没有一个能像Hydra这样支持多协议攻击,并且支持并行连接,是一个集功能强大,通用性高,高效率为一体的渗透工具。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹿45

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值