【漏洞警告】SolarWinds Orion 代码执行漏洞(CVE-2021-25274)

目前该漏洞在NVD平台上还没有公布相关的信息,不过再Trustwave平台上已经发布了相关的信息,有兴趣的童鞋可以通过本文下方的链接进行访问

漏洞描述

2020.2.4之前的SolarWinds Orion平台中的收集器服务使用MSMQ(Microsoft消息队列),并且未在其专用队列上设置权限。结果,未经身份验证的远程客户端可以将消息发送到收集器服务将处理的TCP端口1801。此外,在处理此类消息时,服务会以不安全的方式反序列化它们,从而允许将远程任意代码作为LocalSystem执行。

漏洞分析

鉴于最近的SolarWinds供应链攻击,我决定快速浏览基于Orion框架的SolarWinds产品。SolarWinds提供下载的试用版。我选择了User Device Tracker,并将其安装在香草Windows Server 2019虚拟机上。作为安装的一部分,有一个Microsoft Message Queue(MSMQ)安装程序已经存在了二十多年。这立即引起了我的注意,因为默认情况下,该技术未安装在现代Windows系统上。接下来,安装程序建议为产品后端数据库管理安装Microsoft SQL Server Express,但是我也可以选择使用现有的Microsoft SQL Server实例。经过几步-瞧瞧-我们使产品启动并运行。

自从安装了MSMQ以来,我尝试做的第一件事是打开计算机管理控制台,以查看消息队列下的情况,如下图所示。

【漏洞警告】SolarWinds Orion 代码执行漏洞(CVE-2021-25274)

如您所见,存在大量的专用队列,从字面上看,每个专用队列都有一个特定的问题。在下面的图中中查看是否可以精确定位。

【漏洞警告】SolarWinds Orion 代码执行漏洞(CVE-2021-25274)1

很难忘记显示所有队列都未经身份验证的警告标志。简而言之,未经身份验证的用户可以通过TCP端口1801将消息发送到此类队列。激起了我的兴趣,我跳了进去看看处理传入消息的代码。不幸的是,事实证明它是不安全的反序列化的受害者。一个简单的概念证明(PoC)(我们将在2月9日再次发布)允许结合了这两个问题的远程无特权用户执行远程代码。鉴于消息处理代码作为配置为使用LocalSystem帐户的Windows服务运行,我们可以完全控制基础操作系统。

应用补丁之后,对到达的消息执行数字签名验证步骤,以使没有签名或未使用按安装证书签名的消息不会得到进一步处理。另一方面,MSMQ仍未经身份验证,并允许任何人向其发送消息。

© 版权声明
THE END
喜欢就支持一下吧
点赞301
分享
大佬不来一句? 抢沙发

请登录后发表评论