长亭百川云 - 文章详情

CVE-2020-11651 SaltStack远程命令执行漏洞

跳动的计算器

44

2024-07-13

SaltStack漏洞背景

国外安全团队(F-Secure) 发现多了SaltStack漏洞,其中最严重的两个漏洞是

  • CVE-2020-11651(身份认证绕过漏洞,导致远程命令执行)

  • CVE-2020-11652(目录穿越漏洞)

原文: https://labs.f-secure.com/advisories/saltstack-authorization-bypass

SaltStack简介

  • SaltStack是一款Python编写的开源自动化管理工具

  • 基于C/S架构的服务模式

  • 使用了ZeroMQ消息队列

SaltStack三种运行模式

  • Local

  • Master/Minion

  • Salt SSH

SaltStack原理(Master/Minion)

  • Salt使用server-agent通信模型,服务端组件被称为Salt MasterAgent被称为Salt Minion

  • Salt Master主要负责向Salt Minions发送命令,然后聚合并显示这些命令的结果。一个Salt Master可以管理多个Minion

  • Salt MasterSalt Minion通信的连接由Salt Minion发起,这也意味着Salt Minion上不需要开放任何传入端口(从而减少攻击)。Salt Master使用端口45054506,必须监听端口才能接收到访问连接

  • Publisher (端口4505)所有Salt Minions都需要建立一个持续连接到他们收听消息的发布者端口。命令是通过此端口异步发送给所有连接,这使命令可以在大量系统上同时执行

  • Request Server (端口4506) Salt Minions根据需要连接到请求服务器,将结果发送给Salt Master,并安全地获取请求的文件或特定Minion相关的数据值(称为Salt pillar)。连接到这个端口的连接在Salt MasterSalt Minion之间是1:1(不是异步)

SaltStack认证方式

Salt的数据传输是通过AES加密,MasterMinion之前在通信之前,需要进行认证,Salt通过认证的方式保证安全性,完成一次认证后,Master就可以控制Minion来完成各项工作了。

  • Minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成 minion.pem(private key)和 minion.pub(public key), 然后将 minion.pub 发送给Master

  • M``aster在第一次启动时,会在/etc/salt/pki/master/下自动生成master.pemmaster.pub,并且会接收到Minion的public key,通过salt-key命令接收Minion public key,会在Master/etc/salt/pki/master/minions/目录下存放以Minion id 命令的public key,验证成功后同时Minion会保存一份Master public key在Minion的/etc/salt/pki/minion/minion_master.pub

Salt认证原理总结



*   Minion将自己的公钥发送给Master  
    
*   ```
    Master认证后再将自己的公钥也发送给Minion
    ```
    


  

SaltStack远程命令执行漏洞演示

  • 漏洞出现在Master/Minion运行模式下,直接反弹shell获取其中一个Minion的系统权限
相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2