CVE-2020-15778

OpenSSH命令注入

image0

拓扑结构: 攻击机Kali跟客户端CentOS是同一个网段的,不见得一定是直连,完全可以是在互联网中的设备
实验介绍: 2020年6月9日,研究人员Chinmay Pandya在Openssh中发现了一个漏洞,于7月18日公开。OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。该漏洞属于命令执行漏洞,目前绝大多数linux系统受影响。
攻击概述: 该漏洞发生于 OpenSSH <= 8.3p1 系统,即使在禁用ssh登录的情况下,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),可利用scp复制文件到远程服务器时,执行带有payload的scp命令,从而在后续利用中getshell。
scp介绍: scp是Linux下基于 ssh 登陆进行安全的远程文件拷贝命,用于不同Linux系统之间复制文件和目录。该命令由openssh的scp.c及其他相关代码实现。在本次漏洞复现中就是利用scp命令把一个kali系统的文件传输给Linux系统。
漏洞前提: 靶机root密码,但是靶机禁止ssh登录
漏洞类型: 命令执行
漏洞影响版本: OpenSSH <= 8.3p1(ssh -v)

漏洞环境

1、Centos:OpenSSH <= 8.3p1,禁止ssh登录
image3
image4
2、kali:验证(ssh无法登录,scp可以正常上传文件)
image5
image6
image7

漏洞复现

1、攻击者可以采用反引号(`)文件作为命令注入执行scp命令,命令将会发送到远程服务器并执行
image8
image9
2、接下来攻击者进一步通过漏洞可以反弹shell
image10

漏洞修复

  1. 升级到openssh-8.4以上的版本(要求操作系统版本在centos 8及以上)
  2. 禁用scp命令(mv /usr/bin/scp /usr/bin/scp.bak)

  • 仅供学习,在自己的局域网环境中复现实验,切勿用于商业用途,后果自负。