OpenSSH漏洞 CVE-2020-15778 修复记录

漏洞原理

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

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

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

漏洞处理

​ 本次处理使用禁用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
[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)修复就宣告完成。

修复案例

避免该问题的建议

1、周期性的更换密码或密钥

2、使用rsync代替scp

参考

https://blog.csdn.net/lhrm0213/article/details/117549337

https://www.secpulse.com/archives/143302.html

 

 

 

 

 

 

 

 

 

.

 

此条目发表在linux分类目录。将固定链接加入收藏夹。