SuperAPI AI 工具集

ssh-penetration-testing

安全与审计

查看项目

更新于 10-15 14:26

技能介绍

用途

该技能用于对 SSH 服务开展全面的安全评估,覆盖从服务发现到后渗透的完整测试流程。它面向需要检查 SSH 配置、认证强度、已知漏洞和隧道能力的授权安全测试场景。

主要能力

技能内容按阶段组织,包括:

  • SSH 服务发现:使用 Nmap 扫描默认端口 22 及常见替代端口(2222、22222、2200),并进行服务版本检测。
  • SSH 枚举:通过 nc、telnet 获取 banner,使用 Nmap 的 ssh-hostkey、ssh2-enum-algos、ssh-auth-methods 等脚本收集主机密钥、支持的算法和认证方法。
  • 配置审计:使用 ssh-audit 检查弱密钥交换算法、弱加密算法、弱 MAC 和已弃用协议版本。
  • 凭据攻击:提供 Hydra、Medusa 的暴力破解与密码喷洒命令示例,支持单用户名/密码列表、多用户名/密码列表、指定端口、速率限制规避和首次成功退出等选项。
  • 密钥认证测试:尝试使用找到的私钥登录,强制密码认证,遍历常见密钥名称,并检查常见私钥存放位置和 Web 可访问的密钥文件。
  • 漏洞利用:使用 searchsploit 查找 OpenSSH 相关漏洞,列举 CVE-2018-15473(用户名枚举)、CVE-2016-0777(漫游漏洞)、CVE-2016-0778(缓冲区溢出),并给出 Metasploit 的 ssh_version、ssh_enumusers 等模块用法。
  • 隧道与端口转发:涵盖本地转发(-L)、远程转发(-R)、动态转发(-D,SOCKS 代理)和 ProxyJump(-J)的语法与示例,包括通过 proxychains 进行网络穿透。
  • 后渗透:检查 sudo 权限、查找 SSH 密钥和 authorized_keys、读取 sshd_config、查找其他用户、从 bash_history 中搜索凭据,以及添加持久化密钥。
  • 自定义脚本:提供基于 Paramiko 的 Python 脚本示例,用于 SSH 连接、命令执行和暴力破解。
  • Metasploit 模块:列出 ssh_version、ssh_login、ssh_login_pubkey、ssh_enumusers 等模块的配置与运行方式。

使用方式

技能以命令和脚本片段的形式给出,用户需在获得授权的环境中按阶段执行。前置工具包括:带 SSH 脚本的 Nmap、Hydra 或 Medusa、ssh-audit、Metasploit Framework、带 Paramiko 库的 Python。前置知识包括:SSH 协议基础、公钥/私钥认证、端口转发概念和 Linux 命令行熟练度。

适用场景

适用于授权渗透测试、内部安全审计、红队评估以及 SSH 服务加固前的基线检查。输出物可包括 SSH 枚举报告、凭据评估、漏洞评估和隧道文档。

限制

  • 法律限制:必须获得书面授权;暴力破解可能违反服务条款;需记录所有测试活动。
  • 技术限制:速率限制可能阻断攻击;Fail2ban 等工具可能封禁 IP;密钥认证会阻止密码攻击;双因素认证增加复杂度。
  • 规避建议:使用慢速暴力破解(-t 1 -w 5)、跨 IP 分散攻击、谨慎使用基于时序的枚举、遵守锁定阈值。
  • 故障排查:连接被拒绝时检查 SSH 是否运行、防火墙、端口和不同 IP;认证失败时检查用户名、密码策略、密钥权限(600)和 authorized_keys 格式;隧道不工作时检查 sshd_config 中的 GatewayPorts/AllowTcpForwarding、防火墙,并使用 ssh -v 调试。