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

水平有限,分析开摆

相关推荐
曼岛_1 小时前
[安全实战]逆向工程核心名词详解
安全·逆向工程
Want5953 小时前
大模型安全吗?数据泄露与AI伦理的黑暗面!
网络·人工智能·安全·aigc
九转苍翎3 小时前
Java EE(20)——线程安全——ThreadLocal
安全·java-ee
小白iP代理4 小时前
长效IP与短效IP:如何选择适合业务的代理类型
网络·tcp/ip·安全
学习溢出5 小时前
【网络安全】OWASP 十大漏洞
网络·安全·web安全·网络安全
霖檬ing6 小时前
Linux——系统安全及应用
安全·系统安全
AORO_BEIDOU6 小时前
北斗短报文终端与5G融合:构建空天地海一体化通信新生态
科技·5g·安全·智能手机·信息与通信
半升酒6 小时前
Day-1 漏洞攻击实战
安全·网络安全
浩浩测试一下7 小时前
信息收集之hack用的网络空间搜索引擎
android·网络·安全·web安全·搜索引擎·网络安全·安全架构
网易易盾7 小时前
AIGC产品如何平衡用户体验与内容安全?
安全·aigc·ux