Zabbix 程式碼執行漏洞復現 /zabbix-cve_2017_2824
環境: 利用docker將vulfocus環境pull到本地搭建
漏洞描述: Zabbix 是由Alexei Vladishev 開發的一種網路監視、管理系統,基於 Server-Client 架構。其Server端 trapper command 功能存在一處程式碼執行漏洞,特定的數據包可造成命令注入,進而遠程執行程式碼。攻擊者可以從一個Zabbix proxy發起請求,從而觸發漏洞。
漏洞原理: zabbix 調用script腳本時,沒有對IP地址過濾,導致在註冊host的數據包中的ip地址後面可以跟分號+命令的方式執行命令。
影響範圍: zabbix 2.4.x
zabbix 3.0.x < 3.0.4
1.使用docker下載vulfocus
`docker pull vulfocus/zabbix-cve_2017_2824:latest`
2.查看本地鏡像並運行漏洞環境
docker images
docker run -d -P vulfocus/zabbix-cve_2017_2824
-d:將鏡像掛起後台運行
-P:將鏡像需要開啟的埠隨機映射到這台伺服器的公網IP埠上
3.訪問ip:port成功搭建,使用默認管理員帳號密碼進入後台
用戶名:admin
密碼:zabbix
4.選擇configguration 選擇action添加一個自動註冊
操作完成之後就開啟了自動註冊功能
利用poc測試是否存在漏洞
poc鏈接://github.com/listenquiet/cve-2017-2824-reverse-shell
放到kali下執行
首先修改poc.py里的埠
然後直接使用命令執行
python poc.py 目標IP
回到伺服器,進入docker容器查看/tmp目錄下是否有success目錄
docker exec -it DockerName /bin/bash
-i: 互動式操作。
-t:打開終端
/bin/bash:放在鏡像名後的是命令,這裡我們希望有個互動式 Shell,因此用的是 /bin/bash。
存在該文件夾證明存在漏洞,下面利用exp.py反彈shell
同樣需要更改exp.py裡面的埠數據
該腳本執行成功會在/tmp目錄下創建一個1.sh的文件,文件內容為反彈shell,因此需要更改列表數據exps裡面的數據
試了n次一直超時這裡可以改一下腳本里的超時時間,這樣基本一次就成功
然後伺服器開啟監聽
成功反彈