Hydra 暴力破解 SSH 密码

在服务器中,为了让一些服务正常工作,不得不为其开放端口,而端口扫描也是攻击者在展开攻击前的信息收集中所要进行的一项操作,威胁也就随之而来了。因此,即使需要开放端口,也应该做好端口的防护。在这里通过 SSH 的渗透测试,对其默认的22端口进行讨论。

端口扫描

在 Kali Linux 打开终端,使用 Nmap 对攻击目标进行端口扫描。

1
nmap -sV -p22 192.168.1.6

参数说明:

  • -sV 版本探测
  • -p 目标端口
  • 192.168.1.6 目标 IP 地址

修改默认端口

在 SSH 服务中,我们应该避免使用默认端口,将 22 端口修改为其他端口。如果服务器是 CentOS 系统,则打开 /etc/ssh/sshd_config 文件,查找 port 项,去掉注释并修改端口为 2222

1
Port 2222

重启 SSH 服务:

1
systemctl restart sshd

开放 2222 端口:

1
firewall-cmd --zone=public --add-port=2222/tcp --permanent

重新加载 firewalld,使规则立即生效。

1
firewall-cmd --reload

密码破解

在终端执行下面的命令,利用 Hydra 对目标进行暴力攻击。

1
hydra -L username.txt -P password.txt ssh://192.168.1.6

参数说明:

  • -L 从文件加载登录名
  • -P 从文件加载密码
  • ssh://192.168.1.6 包含协议的攻击目标地址

要防御上面的暴力攻击,可以使用 Fail2ban 来保护服务器。