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

6 篇文章 2 订阅
5 篇文章 1 订阅

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

最近安全部门丢了一堆服务器漏洞扫描结果过来,开发运维都得干的我火急火燎又开始去修补漏洞去了。
注:此方法卸载了ssh客户端,不影响远程登录该服务器,但无法通过该服务器ssh其他服务器

1. 漏洞介绍

​ OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 8.6p1及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。
解决办法 厂商补丁:
目前厂商暂未发布修复措施解决此安全问题,建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法:
https://www.openssh.com/

临时缓解措施:
可以禁用scp,改用rsync等缓解风险(可能会导致小文件机器内拷贝变慢)

2. 漏洞原理

​ 该漏洞发生于 OpenSSH <= 8.3p1 系统,即使在禁用ssh登录的情况下,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),可利用scp复制文件到远程服务器时,执行带有payload的scp命令,从而在后续利用中getshell。

​ scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

上面的意思主要是说:在知道ssh登录密码,但是禁用了登录,没有禁用scp的情况下,可以利用该漏洞。前提:知道ssh密码。所以该漏洞最重要的防范措施我认为是,保管好ssh密码,设置较高的密码复杂度。

3. 漏洞处理

​ 本次处理直接禁用scp,因为我们现在服务器一般也没有用到scp,上传文件都是用sftp。

处理过程:

#查看openssh安装包
[root@localhost ~]# rpm -qa|grep openssh-*
openssh-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
#卸载openssh-clients
[root@localhost ~]# yum remove openssh-clients -y
#重启sshd服务
[root@localhost ~]# systemctl restart sshd.service

再使用scp命令,就会提示:未找到命令了

[root@localhost ~]# scp 
-bash: scp: 未找到命令

从其他服务器通过scp拷贝文件到本服务器,也会提示找不到命令了。

[root@host-192.168.1.1 logs]# scp localhost.2021-04-07.log root@192.168.1.2:/home/
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:no50I09gBIRzzj2oe/4RdVCwopzA44zjeLJWbrgkizM.
ECDSA key fingerprint is MD5:36:9a:5c:7a:dc:a1:41:d0:37:c3:61:01:2c:e7:c6:04.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (ECDSA) to the list of known hosts.
root@192.168.1.2's password:    #此处输入密码
bash: scp: 未找到命令
lost connection

重启系统测试,ssh正常,sftp正常。

至此, OpenSSH 命令注入漏洞(CVE-2020-15778)修复就宣告完成。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值