标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-3089] 作者: 小螺号 发表于: [2022-05-05]
本文共 [508] 位读者顶过
漏洞描述安全断言标记语言 (SAML) 是最常见的单点登录 (SSO) 标准之一。围绕 XML 实现,它允许身份提供者(IdP,一个能够对用户进行身份验证的实体)告诉服务提供者(SP,这里是 Zabbix)你是谁。您可以将Zabbix Web 前端配置为允许通过 SAML 进行用户身份验证,但默认情况下不启用它,因为它需要了解身份提供者的详细信息。这是企业部署最常见的设置。[出自:jiwo.org]在启用 SAML SSO 身份验证的实例上,它允许绕过身份验证并获得管理员权限。攻击者可以使用此访问权限在链接的Zabbix Server和Zabbix Agent实例上执行任意命令。
Zabbix Web 前端版本包括· 5.4.8 · 5.0.18 · 4.0.36 漏洞分析与 SAML 身份验证机制相关的代码可以在index_sso.php中找到。简而言之,它的目标是:· 将用户重定向到 IdP; · 用户通过身份验证后,验证传入 SAML 有效负载的格式和签名。创建一个名为saml_data的会话条目来记住用户的属性; · 如果会话中存在名为saml_data的条目,则提取其值并根据username_attribute的值在 Zabbix 上对用户进行身份验证。
2.| if (CSessionHelper::has('saml_data')) { 3.| $saml_data = CSessionHelper::get('saml_data'); 4.| CWebUser::$data = API::getApiService('user')->loginByUsername($saml_data['username_attribute'], 5.| (CAuthenticationHelper::get(CAuthenticationHelper::SAML_CASE_SENSITIVE) == ZBX_AUTH_CASE_SENSITIVE), 6.| CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE)7.| ); 漏洞利用漏洞利用很简单,特别是因为Zabbix Web 前端自动配置了一个名为Admin的高权限用户。1.| fofa:app="ZABBIX-监控系统" && body="saml" ![]() 1.| 参考视频:https://youtu.be/5dci1i6Fq3M?t=22 一旦在仪表板上被认证为管理员,攻击者可以在任何附加的Zabbix Server上执行任意命令,如果在配置中明确允许AllowKey=system.run[*](非默认) ,则可以在Zabbix Agents上执行。 1、replace [zbx_signed_session] to [cookie] ![]() 2、sign in with Single Sign-On (SAML) ![]() 绕过登录进入后台 ![]() ———————————————— 原文链接:https://blog.csdn.net/weixin_44309905/article/details/123014461 |