CVE-2022-23131——绕过 SAML SSO 身份验证

举报
新网工李白 发表于 2022/02/20 00:55:24 2022/02/20
【摘要】 漏洞描述 安全断言标记语言 (SAML) 是最常见的单点登录 (SSO) 标准之一。围绕 XML 实现,它允许身份提供者(IdP,一个能够对用户进行身份验证的实体)告诉服务提供者(SP,这里是 Zabb...

漏洞描述

安全断言标记语言 (SAML) 是最常见的单点登录 (SSO) 标准之一。围绕 XML 实现,它允许身份提供者(IdP,一个能够对用户进行身份验证的实体)告诉服务提供者(SP,这里是 Zabbix)你是谁。您可以将Zabbix Web 前端配置为允许通过 SAML 进行用户身份验证,但默认情况下不启用它,因为它需要了解身份提供者的详细信息。这是企业部署最常见的设置。

在启用 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 上对用户进行身份验证。
    index_sso.php
 if (CSessionHelper::has('saml_data')) {
       $saml_data = CSessionHelper::get('saml_data');
       CWebUser::$data = API::getApiService('user')->loginByUsername($saml_data['username_attribute'],
           (CAuthenticationHelper::get(CAuthenticationHelper::SAML_CASE_SENSITIVE) == ZBX_AUTH_CASE_SENSITIVE),
           CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE)
       );

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

漏洞利用

漏洞利用很简单,特别是因为Zabbix Web 前端自动配置了一个名为Admin的高权限用户。

fofa:app="ZABBIX-监控系统" && body="saml" 

  
 
  • 1

在这里插入图片描述

参考视频:https://youtu.be/5dci1i6Fq3M?t=22

  
 
  • 1

一旦在仪表板上被认证为管理员,攻击者可以在任何附加的Zabbix Server上执行任意命令,如果在配置中明确允许AllowKey=system.run[*](非默认) ,则可以在Zabbix Agents上执行。

1、replace [zbx_signed_session] to [cookie]
在这里插入图片描述
2、sign in with Single Sign-On (SAML)
在这里插入图片描述
绕过登录进入后台
在这里插入图片描述

EXP

关注公众号后台回复“CVE-2022-23131”获取
在这里插入图片描述

文章来源: libai.blog.csdn.net,作者:网络¥安全联盟站,版权归原作者所有,如需转载,请联系作者。

原文链接:libai.blog.csdn.net/article/details/123014461

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。