使用Hydra进行密码喷洒与暴力破解实战指南

本文详细介绍了如何使用Hydra工具进行密码喷洒和暴力破解攻击,包括针对WordPress登录和SSH服务的实战步骤、命令示例及最佳密码选择策略,强调授权测试的重要性。

使用Hydra进行密码喷洒与暴力破解

什么是Hydra?

Hydra是一款用于密码喷洒的工具。首先定义“密码喷洒”:攻击者设定一个密码(如“Winter2024”),并针对已获取的用户名列表进行尝试。若某个账户使用了该密码,攻击者即可访问相应资源。

密码喷洒和暴力破解常用于攻击互联网或内网暴露的资源。有效的密码喷洒应使用常见密码或与目标组织/资源相关的特征密码。

本文探讨使用Hydra进行暴力破解和密码喷洒的适用场景。请确保在未拥有权限的目标上执行密码攻击前获得合法授权

执行暴力破解攻击

本步骤以Try Hack Me上的Mr. Robot CTF(基于同名电视剧的漏洞Web应用)为例,演示暴力破解实战。虽非完整CTF攻略,但概念足以展示真实环境中的攻击流程。

测试者需通过密码攻击获得访问权限。下图显示WordPress登录门户,可使用Hydra通过HTTP POST请求进行密码喷洒。

捕获请求:打开浏览器开发者控制台,在登录表单提交简单凭据(如admin/admin)。提交后显示“用户名无效”,控制台可查看POST请求及负载。用户名错误信息详细,暗示可能进行用户名枚举。

基于Mr. Robot主题,尝试剧中角色名列表(angela、darlene等)。提交后控制台包含负载:log=admin&pwd=admin&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.192.106%2Fwp-admin%2F&testcookie=1

将负载插入Hydra命令进行用户名枚举:

  • -L 指定用户列表
  • -p 使用选定密码
  • http-post-form 指定捕获的HTTP POST请求

命令格式:

1
hydra -L users.txt -p admin 10.10.192.106 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.192.106%2Fwp-admin%2F&testcookie=1:Invalid Username"

返回结果显示elliot用户名有效(错误信息非“Invalid Username”),但Hydra误报密码匹配。手动验证发现elliot存在但密码错误。

确认elliot有效后,执行暴力破解:

  • -l 指定用户
  • -P 指定密码文件
  • 更改错误信息以匹配新响应

命令:

1
hydra -l elliot -P passwords.txt 10.10.192.106 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.192.106%2Fwp-admin%2F&testcookie=1:The password you entered for the username"

运行后,elliot账户尝试多个密码,成功匹配密码ER28-0652。

使用密码登录,进入WordPress管理控制台。可进一步探查漏洞获取系统shell(超出本文范围)。

执行密码喷洒

获得elliot密码后,BHIS创建了类似主题的辅助机器。渗透测试最佳实践:获取凭据或密码哈希后,尝试在其他地方使用(可能为默认密码或用户重用密码)。简言之,始终尝试凭据复用。

对192.168.80.134执行Nmap扫描,发现开放SSH端口:

1
nmap -Pn -T4 -sV 192.168.80.134

另一Nmap扫描显示SSH服务器支持密码认证,允许Hydra进行密码喷洒和暴力破解:

1
nmap -Pn -T4 -sV --script=ssh-auth-methods.nse 192.168.80.134

密码喷洒与暴力破解相反:测试一个密码对抗多个用户名。使用以下命令以密码ER28-0652喷洒用户列表:

1
hydra -L users.txt -p ER28-0652 -V ssh://192.168.80.134

成功命中elliot,表明密码复用。

使用简单密码“robot”再次喷洒,发现多个账户使用该密码(可能为默认密码)。

获取凭据后,通过SSH登录:

1
ssh elliot@192.168.80.134

实际渗透测试中,此时应进行子网枚举和提权/持久化向量查找。

喷洒最佳实践

选择密码时,使用简单且受害者可能设置的密码,包括:

  • 简单术语(如“password”“welcome”“letmein”),可能包含Leet语替换(如passw0rd)
  • 季节名(Winter、Spring等)
  • 当前或前一年份(2023或2024)
  • 组织总部所在州名
  • 组织名称
  • 政治人物名(如Trump、Biden)
  • 末尾添加或省略特殊字符(如!)

示例:针对伊利诺伊州假想学校(吉祥物为孔雀)的密码列表:

  • PretendSchool2023!
  • Winter2024!
  • Password123!
  • Illinois2024!
  • Peacock2024!
  • Welcome2023
  • Trump2024!
  • Biden2024!
  • Letmein123
  • passw0rd

始终使用与目标组织/服务相关的密码。推荐SecList词表集合(https://github.com/danielmiessler/SecLists)。

结束语

密码攻击是常见攻击向量,凸显多因素认证(MFA)的重要性。Hydra等工具专为密码攻击设计,可访问密码猜解成功的系统。良好密码安全和MFA使用至关重要,极大降低账户被攻破概率。

合法安全测试,愉快黑客!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计