[ PROMPT_NODE_27682 ]
SSH 渗透测试
[ SKILL_DOCUMENTATION ]
# SSH 渗透测试
## 目的
进行全面的 SSH 安全评估,包括枚举、凭据攻击、漏洞利用、隧道技术和后渗透活动。本技能涵盖测试 SSH 服务安全性的完整方法论。
## 前置条件
### 所需工具
- 带有 SSH 脚本的 Nmap
- 用于暴力破解的 Hydra 或 Medusa
- 用于配置分析的 ssh-audit
- Metasploit 框架
- 带有 Paramiko 库的 Python
### 所需知识
- SSH 协议基础
- 公钥/私钥身份验证
- 端口转发概念
- Linux 命令行熟练度
## 输出和交付物
1. **SSH 枚举报告** - 版本、算法、配置
2. **凭据评估** - 弱密码、默认凭据
3. **漏洞评估** - 已知 CVE、配置错误
4. **隧道文档** - 端口转发配置
## 核心工作流
### 第一阶段:SSH 服务发现
识别目标网络上的 SSH 服务:
bash
# 快速 SSH 端口扫描
nmap -p 22 192.168.1.0/24 --open
# 常见的备用 SSH 端口
nmap -p 22,2222,22222,2200 192.168.1.100
# SSH 全端口扫描
nmap -p- --open 192.168.1.100 | grep -i ssh
# 服务版本检测
nmap -sV -p 22 192.168.1.100
### 第二阶段:SSH 枚举
收集关于 SSH 服务的详细信息:
bash
# Banner 抓取
nc 192.168.1.100 22
# 输出: SSH-2.0-OpenSSH_8.4p1 Debian-5
# Telnet Banner 抓取
telnet 192.168.1.100 22
# 带有脚本的 Nmap 版本检测
nmap -sV -p 22 --script ssh-hostkey 192.168.1.100
# 枚举支持的算法
nmap -p 22 --script ssh2-enum-algos 192.168.1.100
# 获取主机密钥
nmap -p 22 --script ssh-hostkey --script-args ssh_hostkey=full 192.168.1.100
# 检查身份验证方法
nmap -p 22 --script ssh-auth-methods --script-args="ssh.user=root" 192.168.1.100
### 第三阶段:SSH 配置审计
识别弱配置:
bash
# ssh-audit - 全面的 SSH 审计
ssh-audit 192.168.1.100
# 指定端口的 ssh-audit
ssh-audit -p 2222 192.168.1.100
# 输出包括:
# - 算法建议
# - 安全漏洞
# - 加固建议
需要识别的关键配置弱点:
- 弱密钥交换算法 (diffie-hellman-group1-sha1)
- 弱加密算法 (arcfour, 3des-cbc)
- 弱 MAC (hmac-md5, hmac-sha1-96)
- 已弃用的协议版本
### 第四阶段:凭据攻击
#### 使用 Hydra 进行暴力破解
bash
# 单个用户名,密码