CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞

一、背景介绍

ProxyCommand 是 OpenSSH ssh_config 文件中的一个配置选项,它允许通过代理服务器建立 SSH 连接,从而在没有直接网络访问权限的情况下访问目标服务器。这对于需要经过跳板机、堡垒机或代理服务器才能访问的目标主机非常有用。

二、漏洞简介

ssh_config文件中的ProxyCommand、LocalCommand指令或"match exec"谓词通过%u、%h或类似的扩展标记引用用户或主机名时,可能会导致命令注入的风险。

在Git中,用户或主机名中的shell元字符未被禁止(如在主机名中进行命令拼接),这可能导致存储库包含一个带有shell元字符的子模块用户或主机名。这种情况可能引发命令注入漏洞。

三、影响版本

OpenSSH < 9.6

四、漏洞复现

1、复现版本

2、配置SSH规则

在~/.ssh/config中配置如下规则

shell 复制代码
host *.example.com
  ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p

这条配置意为:对于所有以.example.com结尾的主机,通过地址为192.0.2.0、端口为8080的代理服务器连接到目标主机。

3、命令执行

使用命令

shell 复制代码
git clone https://github.com/zls1793/CVE-2023-51385_test --recurse-submodules


https://github.com/zls1793/CVE-2023-51385_test?tab=readme-ov-file

项目结构为:

其中.gitmodules如下:

git的submodule是一个被仓库包含的子仓库,图中的url本应指向该子仓库的地址

git clone执行后效果如图

五、漏洞修复

升级至OpenSSH 9.6p1

水平有限,分析开摆

相关推荐
独行soc4 小时前
2025年渗透测试面试题总结-腾讯[实习]玄武实验室-安全工程师(题目+回答)
linux·安全·web安全·面试·职场和发展·渗透测试·区块链
一ge科研小菜鸡4 小时前
构建云原生安全治理体系:挑战、策略与实践路径
安全·云原生
李子圆圆4 小时前
高压危险铁塔大字金属安全警示牌技术解析
安全
100分题库小程序7 小时前
汽车加气站操作工证考试重点
经验分享·笔记·安全
饮长安千年月8 小时前
JavaSec-SSTI - 模板引擎注入
java·windows·安全·web安全·网络安全·系统安全·安全架构
tonydf9 小时前
还在用旧的认证授权方案?快来试试现代化的OpenIddict!
后端·安全
蓝黑20209 小时前
使用SSH tunnel访问内网的MySQL
mysql·ssh·proxy
☞无能盖世♛逞何英雄☜10 小时前
SSRF漏洞
安全·web安全
noravinsc18 小时前
django ssh登录 并执行命令
django·sqlite·ssh
芯盾时代19 小时前
AI在网络安全领域的应用现状和实践
人工智能·安全·web安全·网络安全