郑重声明:本实验及所有操作均在内网靶场环境中完成,仅用于网络安全技术的学习与研究,严禁用于任何非法用途。请读者自觉遵守法律法规,切勿将文中技术用于未经授权的系统或网络,否则由此产生的一切后果由使用者自行承担。
1. Hydra 工具的介绍
Hydra,俗称“九头蛇”,是一款功能强大的暴力破解工具。它支持对多种服务协议进行账号和密码的爆破,例如 Telnet、SSH、FTP、MySQL、RDP(3389)等,并且兼容 Linux、Windows、Mac 平台。
2. Hydra 工具的使用语法
hydra<参数><IP地址><服务名>Hydra 工具的参数(参数大小写含义不一致)
| 参数选项 | 参数说明 |
|---|---|
| -R | 继续上一次破解 |
| -l LOGIN | 指定破解登录用户名 |
| -L FILE | 使用文件指定多个用户名 |
| -p PASS | 指定密码 |
| -P FILE | 指定密码字典 |
| -e nsr | n:空密码试探,s:使用指定用户和密码试探 |
| -C FILE | 冒号分隔用户名密码:“login:pass” 格式 |
| -M FILE | 要攻击的服务器列表,每行一个条目,':'指定端口 |
| -t TASKS | 每个主机并行线程数,默认16 |
| -U | 服务模块详细使用信息 |
| -s PORT | 指定默认端口 |
| -v | 详细日志模式 |
| -o FILE | 将找到的登录/密码写入文件 |
对应系统截图示意如下:
3. 环境准备
- 系统:kali(IP 地址:192.168.26.130)、rhel7.2(IP 地址:192.168.26.131)
- 服务:ssh## 4. Hydra 工具的使用教程
1)kali 端操作
① 创建用户名和密码字典。使用echo命令向字典文件中添加内容。
echo12345678>>pwd.txtecho12345678>>pwd.txtecho12345678>>pwd.txtcatpwd.txt② 启用 ssh 服务
使用命令
vi /etc/ssh/sshd_config编辑 ssh 文件,取消PermitRootLogin和PasswordAuthentication的注释,并将后面的 no 改为 yes;(注:如无此字段可新增)使用命令
/etc/init.d/ssh restart或者service ssh restart重启 ssh 服务;使用命令
/etc/init.d/ssh status或者service ssh status查看 ssh 服务状态是否正常运行;使用命令
update-rc.d ssh enable或者systemctl enable ssh设置 ssh 服务开机自启动;使用命令
lsof -i :22查看 22 端口是否开启。
2)rhel 端操作
前提:
- rhel 网卡启用需要启用,如果网卡未启用,可查看这篇教程:https://blog.csdn.net/m0_58099509/article/details/121821489
- rhel 能 ping 通 kali,如果无法 ping 通可查看这篇教程:https://blog.csdn.net/qq_44163117/article/details/120345465
① 查看靶机的 IP 地址。
ipaddr② 开启 ssh 服务和 22 端口,可参考此篇教程:https://blog.csdn.net/zhangwenchao0814/article/details/108437631
③ 测试 ssh 服务连接情况
3)kali 端通过命令进行密码爆破
hydra-Lroot-Ppwd.txt-v192.168.26.131ssh以上命令即对 ssh 端口对字典进行密码爆破。
5. 安全防范建议
针对 Hydra 这类暴力破解工具,建议从以下几个方面加强防护,降低被爆破的风险:
- 使用强密码:避免使用
12345678这类简单、可预测的密码,建议采用长度不少于 12 位、包含大小写字母、数字和特殊字符的复杂密码,并定期更换。 - 禁用 root 远程登录:在
/etc/ssh/sshd_config中设置PermitRootLogin no,禁止 root 用户直接通过 SSH 登录,日常操作使用普通用户配合sudo提权,可有效规避针对 root 账户的暴力破解。 - 配置 fail2ban:安装并启用 fail2ban 服务,它能在检测到多次登录失败后自动封禁来源 IP。以 CentOS/RHEL 为例,执行
yum install fail2ban安装,随后在/etc/fail2ban/jail.local中为 sshd 服务启用防护,并重启服务生效。 - 限制 SSH 登录次数:在
/etc/ssh/sshd_config中设置MaxAuthTries 3,限制单次连接允许的最大认证尝试次数,超过即断开连接,从而增加暴力破解的难度。 - 更换默认端口:将 SSH 默认的 22 端口修改为其他高位端口(如 2222),可在一定程度上规避针对默认端口的批量扫描与爆破。
郑重声明:本实验及所有操作均在内网靶场环境中完成,仅用于网络安全技术的学习与研究,严禁用于任何非法用途。请读者自觉遵守法律法规,切勿将文中技术用于未经授权的系统或网络,否则由此产生的一切后果由使用者自行承担。