CVE-2020-11651:SaltStack认证绕过复现
简介
Saltstack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,可以理解为简化版的puppet,它基于python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块构建。具备以下特点:
部署简单、方便
支持大部分UNIX/Linux及Windows环境
主从集中化管理
配置简单、功能强大、扩展性强
主控端和被控制端基于证书认证,安全可靠
支持API及自定义模块,可通过python轻松扩展
CVE-2020-11651 认证绕过漏洞中,攻机者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞:
漏洞由ClearFuncs类引起,该类无意中暴露了_send_pub()和_prep_auth_info()方法。未经身份验证的远程攻机者通过发送特制的请求可在minion端服务器上执行任意命令,还能够提取根密钥来调用master端服务器上的管理命令。
复现环境
可以使用vulhub
git clone https://github.com/vulhub/vulhub.git
或者使用别人已搭建好的
http://vulfocus.fofa.so/
我这里是使用vulhub在自己公网服务器,搭建的。
cd vulhub-master/saltstack/CVE-2020-11651
docker-compose up -d
poc
https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP.git
python3 需安装salt库
pip3 install salt
我这里是已安装好的截图。
安装好后,直接执行
python3 CVE-2020-11651.py
目标IP 对进去。
会出现
1.测试POC 2.读取文件 3.执行命令(无回显) 4.反弹shell 5.退出
测试反弹shell
用自己公网的一台vps
接收反弹shell
nc -lvvp 1111 // 监听本地的1111端口
poc选择4 反弹shell
漏洞复现成功。