【最新漏洞预警】CVE-2021-35232 Solarwinds Web Help Desk一个鸡肋的HQL注入漏洞

VSole2022-02-24 06:24:30

漏洞信息

Solarwinds Web Help Desk 12.7.7 Hotfix 1以前版本存在一个硬编码用户凭证,导致能够本地执行任意 Hibernate 查询语句。漏洞编号为CVE-2021-35232,在特定模式下有可能被远程利用的可能性。

环境搭建

下载12.7.6版本,安装完成后访问登录页面:


跳过邮箱设置,输入用户和密码:


登录web控制台:


安装后版本为12.7.6.8432:


在wrapper.conf中添加debug参数即可开启远程调试:

漏洞分析

抓包分析:


请求格式为`/helpdesk/WebObjects/HelpDesk.woa`。路由规则使用`Spring`和私有代码控制,由于是硬编码问题,审计JSP代码时找到了一个固定的用户名和密码:


全路径搜索该字符串,在`ConstantAndSettings`中定义了`Production`和`Development`两组硬编码用户密码:


以及其他的引用位置,主要包括`RestClient`、`RouteController`和`Authentication Manager`:


λ grep -R "dev-C4F8025E7" ././helpdesk/WEB-INF/jsp/test/orionIntegrationTest.jsp:  var auth = {loginName:'helpdeskIntegrationUser', password:'dev-C4F8025E7'};./helpdesk/WEB-INF/jsp/test/orionIntegrationTest.jsp:  var auth = {loginName:'helpdeskIntegrationUser', password:'dev-C4F8025E7'};./helpdesk/WEB-INF/lib/whd-core/com/macsdesign/whd/rest/controllers/BasicAuthRouteController$1.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/HelpdeskIntegrationAuthenticationManager.class
λ grep -R helpdesk91114AD77B4CDCD9E18771057190C08B ././helpdesk/WEB-INF/lib/whd-core/com/macsdesign/whd/rest/controllers/BasicAuthRouteController$1.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/rest/RestClient.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/ClusterNodeAuthenticationManager.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/auth/HelpdeskIntegrationAuthenticationManager.class./helpdesk/WEB-INF/lib/whd-core/com/solarwinds/whd/service/impl/ClusterLicenseServiceImpl$RestClient.class


在`whd-web.jar/whd-security.xml`中定位到引用的路由:


`AssetReportController`定义了`/rawQL`接口执行HQL语句:


`getStringHQLResult`执行HQL语句:


回到`HelpdeskIntegrationAuthenticationManager`,其读取`Production`和`Development`模式下固定密码作为认证凭据:


注意到里边有一个远程地址检查的语句,这里先跳过进行本地测试,添加Basic-Auth头。拷贝一个控制台POST请求,发送后出现403:


经过分析,原因是接口需要添加`X-XSRF-TOKEN`字段, 语句成功执行但报错:


链接postgresql嵌入式数据库,数据库、用户、密码均为`whd`,可以查看数据:


构造语句读取用户密码:

远程HQL注入尝试

经测试`/helpdesk/assetReport/rawHQL`远程访问返回404,原因是`HelpdeskIntegrationAuthenticationManager`对远程地址进行检查:


`request.getRemoteAddress`读取数据,在反向代理模式下可以绕过检查:

小结

这是一个比较鸡肋HQL注入漏洞,本地可以无条件执行。由于对源地址进行检查导致远程无法直接利用,但在反向代理模式下存在利用的可能。除了`assetReport`,其他接口也有可能存在问题。此外,执行HQL的语句还可能存在一定的限制。

solarwindshql
本作品采用《CC 协议》,转载必须注明作者和本文链接
漏洞信息Solarwinds Web Help Desk 12.7.7 Hotfix 1以前版本存在一个硬编码用户凭证,导致能够本地执行任意 Hibernate 查询语句。漏洞编号为CVE-2021-35232,在特定模式下有可能被远程利用的可能性。除了`assetReport`,其他接口也有可能存在问题。
近日,据路国外媒体报道,SolarWinds旗下的Orion网络监控软件更新服务器遭黑客入侵并植入恶意代码。
在2021年,SolarWinds供应链攻击背后的威胁行为者仍然在积极攻击组织,并使用两种新技术访问其目标。
2021年12月24日,漏洞云团队监测到 Solarwinds发布安全公告,修复了两个个存在于 Web Help Desk 中的漏洞。其中,1个高危漏洞,1个中危漏洞,漏洞详情如下:
在俄罗斯攻击者获得对SolarWinds的IT监控平台Orion的访问权限后,这场大规模供应链攻击开始进行;然后,他们将恶意更新推送给私营和公共部门的数千名客户。
美国司法部透露,在SolarWinds攻击期间,与俄罗斯有关联的 SVR(又名 APT29、 Cozy Bear和 The Dukes) 入侵了 27 个美国检察官办公室员工的 Microsoft Office 365 电子邮件帐户 。
近日,SolarWinds发布安全公告,修复了Serv-U中存在远程代码执行漏洞,漏洞CVE编号:CVE-2021-35211。该漏洞为微软发现在野利用后向SolarWinds报告,并提供了有限漏洞利用的概念证明。未授权的攻击者可利用该漏洞在目标服务器上执行任意代码,最终导致服务器被控制。目前官方已发布安全版本修复该漏洞,建议受影响用户及时升级至安全版本进行防护,做好资产自查以及预防工作,以免遭受
去年作为大规模供应链攻击事件中心的 SolarWinds 公司近期再被曝新0day漏洞,该漏洞可使攻击者在受感染系统上运行任意代码,包括安装恶意程序以及查看、更改、或删除敏感数据。
SolarWinds 解决了Serv-U 产品中的零日远程代码执行漏洞,该漏洞被单个威胁参与者在野外积极利用。SolarWinds 被微软告知零日漏洞,该问题影响 Serv-U Managed File Transfer Server 和 Serv-U Secured FTP。据微软称,该漏洞被一个威胁行为者在针对有限的、有针对性的客户群的攻击中被利用。读取咨询由SolarWinds的出版。“微软提供了有限的、有针对性的客户影响的证据,尽管 SolarWinds 目前没有估计有多少客户可能会直接受到该漏洞的影响。”专家指出,此问题与SolarWinds 供应链攻击无关。
VSole
网络安全专家