22 - SSH
💡 学习提示: 本文档介绍 22 - SSH 的渗透测试方法,适合信息安全初学者和从业人员参考。
⚠️ 法律声明: 本文档仅供学习和授权测试使用。未经授权的系统测试可能违反法律法规。
22 - SSH 服务
基本信息
SSH (Secure Shell) 是一种网络协议,用于在不安全的网络上安全地远程访问计算机系统。它对于维护远程访问时数据的机密性和完整性至关重要。
默认端口: 22/TCP
常见 SSH 服务器软件:
- OpenSSH - OpenBSD 项目,预装于 BSD、Linux 和 Windows 10+
- Dropbear - 轻量级 SSH,用于嵌入式设备和 OpenWrt
- PuTTY - Windows 常用 SSH 客户端
- CopSSH - Windows 版 OpenSSH
常见 SSH 库:
- libssh - 跨平台 C 库,被 KDE 和 GitHub 使用
- wolfSSH - 嵌入式环境专用
- Apache MINA SSHD - Java 实现
- paramiko - Python SSH 库
信息收集
横幅抓取 (Banner Grabbing)
自动化审计
获取服务器公钥
弱加密算法检测
常见攻击
1. 暴力破解
2. SSH 密钥认证绕过
3. 已知漏洞利用
搜索引擎语法
FOFA
Shodan
ZoomEye
防御建议
- ✅ 禁用密码认证,使用密钥认证
- ✅ 禁用 root 登录
- ✅ 修改默认端口(非常规端口)
- ✅ 使用强密码策略
- ✅ 配置失败登录限制 (fail2ban)
- ✅ 定期更新 SSH 服务器
- ✅ 禁用 SSHv1,仅使用 SSHv2
- ✅ 使用强加密算法
📖 参考资料
- HackTricks - 22-ssh
- ssh-audit: https://github.com/jtesta/ssh-audit
- OpenSSH: https://www.openssh.com/
- OWASP SSH Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/SSH_Security_Cheat_Sheet.html