使用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请求
命令格式:
|
|
返回结果显示elliot用户名有效(错误信息非“Invalid Username”),但Hydra误报密码匹配。手动验证发现elliot存在但密码错误。
确认elliot有效后,执行暴力破解:
-l指定用户-P指定密码文件- 更改错误信息以匹配新响应
命令:
|
|
运行后,elliot账户尝试多个密码,成功匹配密码ER28-0652。
使用密码登录,进入WordPress管理控制台。可进一步探查漏洞获取系统shell(超出本文范围)。
执行密码喷洒
获得elliot密码后,BHIS创建了类似主题的辅助机器。渗透测试最佳实践:获取凭据或密码哈希后,尝试在其他地方使用(可能为默认密码或用户重用密码)。简言之,始终尝试凭据复用。
对192.168.80.134执行Nmap扫描,发现开放SSH端口:
|
|
另一Nmap扫描显示SSH服务器支持密码认证,允许Hydra进行密码喷洒和暴力破解:
|
|
密码喷洒与暴力破解相反:测试一个密码对抗多个用户名。使用以下命令以密码ER28-0652喷洒用户列表:
|
|
成功命中elliot,表明密码复用。
使用简单密码“robot”再次喷洒,发现多个账户使用该密码(可能为默认密码)。
获取凭据后,通过SSH登录:
|
|
实际渗透测试中,此时应进行子网枚举和提权/持久化向量查找。
喷洒最佳实践
选择密码时,使用简单且受害者可能设置的密码,包括:
- 简单术语(如“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使用至关重要,极大降低账户被攻破概率。
合法安全测试,愉快黑客!