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

文章介绍了开源工具Hydra的功能和用途,特别是如何利用它对HTTP基本身份验证进行暴力破解。用户需准备用户名和密码字典,通过Hydra命令行指定目标IP、协议及字典文件进行攻击。文章还提到了Base64编码在身份验证中的应用,并展示了Hydra攻击命令的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何使用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这样支持多协议攻击,并且支持并行连接,是一个集功能强大,通用性高,高效率为一体的渗透工具。

### 使用 Kali Linux 对 3389 端口进行安全测试的方法 对于希望评估 Windows 远程桌面协议 (RDP) 安全性的安全专家来说,可以利用 Kali Linux 中集成的各种工具来进行合法的安全测试。需要注意的是,在未授权的情况下对任何系统执行此类操作均属违法行为。 #### 工具介绍 - **Hydra**: Hydra 是一款强大的登录破解工具,支持多种协议,包括 RDP 协议。通过字典攻击的方式尝试不同的用户名密码组合来猜测有效的凭证[^1]。 - **Nmap**: Nmap 不仅是一个端口扫描器,还可以用来检测目标主机上的服务版本信息以及是否存在已知漏洞。这有助于识别潜在可利用的弱点。 - **Metasploit Framework**: Metasploit 提供了一个完整的开发平台用于创建复杂的攻击载荷并管理整个渗透过程。它内置了大量的针对不同操作系统和服务类型的 exploit 模块,其中也包含了专门面向 Microsoft Terminal Services 的模块[^2]。 #### 测试流程 为了确保安全性测试的有效性和合法性,请遵循以下指导原则: - 获取书面形式的目标系统的拥有者许可; - 明确限定测试范围和时间窗口; ##### 执行基本侦察活动 使用 `nmap` 来收集有关目标的信息,特别是确认 3389/TCP 是否处于监听状态及其对应的服务版本。 ```bash sudo nmap -p 3389 --script=rdp-* <target_ip> ``` 这条命令会运行一系列与 RDP 相关脚本以获取更详细的配置细节。 ##### 尝试暴力破解认证机制 如果已经获得了足够的前期情报,则可以选择启动 hydra 实施基于字典文件的身份验证绕过尝试。 ```bash hydra -P /usr/share/wordlists/rockyou.txt rdp://<target_ip>:3389 ``` 这里 `-l` 参数指定了要使用的单一账户名,“administrator”,而 `-P` 后面跟的是包含可能密码列表路径的位置。请注意替换 `<target_ip>` 成实际 IP 地址。 ##### 利用 Metasploit 开展进一步探索 当成功获得有效凭据之后,便能够借助 metasploit framework 加深研究程度。例如加载特定于终端服务漏洞利用程序,并设置必要的选项参数。 ```ruby use exploit/windows/rdp/cve_2012_0002_ms12_020_rdp_blue_screen set RHOSTS <target_ip> exploit ``` 上述 Ruby 脚本片段展示了如何调用 CVE-2012-0002 MS12-020 RDP Blue Screen Exploit Module 并指定远程主机地址作为输入变量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小鹿45

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

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

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

打赏作者

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

抵扣说明:

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

余额充值