SaltStack认证绕过漏洞(CVE-2020-11651)复现

SaltStack认证绕过漏洞(CVE-2020-11651)复现

一、漏洞介绍
SaltStack是基于Python开发的一套C/S架构配置管理工具,是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。通过部署SaltStack,运维人员可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
CVE-2020-11651 认证绕过漏洞,攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞:ClearFuncs类会处理非认证的请求和暴露_send_pub()方法,可以用来直接在master publish服务器上对消息进行排队。这些消息可以用来触发minion来以root权限运行任意命令。ClearFuncs类还会暴_prep_auth_info()方法,该方法会返回用来认证master服务器上本地root用户的命令的root key。然后root key就可以远程调用master 服务器的管理命令。这种无意的暴露提供给远程非认证的攻击者对salt master的与root权限等价的访问权限。
影响的版本:
SaltStack < 2019.2.4
SaltStack < 3000.2

二.漏洞复现
靶机:192.168.81.136
攻击机:kali 192.168.81.135
Poc下载地址:https://github.com/jasperla/CVE-2020-11651-poc(pip3 install salt)
SaltStack认证绕过漏洞(CVE-2020-11651)复现

1、使用vulhub搭建漏洞环境

2、使用poc对靶机进行测试
pip3 install salt
python3 exploit.py --master 192.168.81.136 -r /etc/passwd,执行命令成功

SaltStack认证绕过漏洞(CVE-2020-11651)复现