记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

Commvault CVE-2021-34993 从认证绕过到任意文件下载

2021-11-29 09:35

漏洞信息

Commvault是全球知名的数据备份与恢复解决方案。它包含多个组件,混合利用了.NET和Java技术框架。

最近ZDI爆出了Commvault存在多个漏洞。

由于官网试用版本不好下载,在网上搜索很久,皇天不负有心人,最终还真找到一个研究环境(有需要环境的小伙伴可以点关注)。下面给小伙伴们分享下CVE-2021-34993。

结构分析

Commvault整个体系比较庞大,启动后开启了多个服务:

其中80端口对应Tomcat的Java服务,81端口对应IIS的.NET服务。这里我们重点先关注一下81端口:

IIS也启动了多个组件服务,定位`SearchSvc`服务,对应路径为`C:\Program Files\Commvault\ContentStore\CVSearchService`:

分析`web.config`,找到一个Module对象`CVAuthHttpModule`:

定位相关类`CVInfoMgmtService.CVAuthHttpModule`,位于`CVInfoMgmtService.dll`之中:

以`CVSearchService.svc`为例,查看访问接口:

以`downLoadFile`为例:

提示需要认证,定位`CVAuthHttpModule#OnEnter`函数:

函数`denyAccess`对认证信息进行检测,返回401。

认证绕过

从上面分析可知,要想绕过认证,需要`this.reject`为`false`,回到`CVAuthHttpModule#OnEnter`函数:

第13行通过`CVAuthHttpModule.readHeader`从HTTP头中取出`array`数组,并将第一个元素赋值给`text`变量,先跟进`readHeader`:

可见第一个元素来源于cookie,回到`OnEnter`函数:

我们访问的URL是`CVSearchService.svc`,所以`IsRestWebService`返回`false`,重点关注`canByPassCheck`函数:

这里只是将cookie进行base64编码,然后与硬编码的列表元素进行匹配:

static NonSecureOperations(){  NonSecureOperations.list.Add("TG9naW4uR2V0TG9nb25MaXN0");  NonSecureOperations.list.Add("TG9naW4uTG9naW4=");  NonSecureOperations.list.Add("Q0kuR2V0RE1TZXR0aW5n");  NonSecureOperations.list.Add("TG9naW4=");  NonSecureOperations.list.Add("Q0kuR2V0RE1TZXR0aW5ncw==");  NonSecureOperations.list.Add("UmV0cmlldmVJdGVt");  NonSecureOperations.list.Add("U2VhcmNoLkdldFBhbmVsQ29sdW1uQ29uZmln");  NonSecureOperations.list.Add("RGF0YVNlcnZpY2UuUG9wdWxhdGVEYXRh");  NonSecureOperations.list.Add("Z2V0T2VtSWQ=");  NonSecureOperations.list.Add("TG9naW4uV2ViQ2xpZW50TG9naW4=");  NonSecureOperations.list.Add("Z2V0R2xvYmFsUGFyYW0=");}

上述元素base64解码后如下:

Login.GetLogonListLogin.LoginCI.GetDMSettingLoginCI.GetDMSettingsRetrieveItemSearch.GetPanelColumnConfigDataService.PopulateDatagetOemIdLogin.WebClientLogingetGlobalParam

因此可以很容易构造数据包,使得`this.reject`的值为`false`,从而实现认证绕过:

文件下载

定位`CVSearchSvc`类中的`downLoadFile`函数:

参数`path`完全可控,可以实现任意文件下载,结合上面分析的认证绕过机制,构建匿名文件下载链:

将数据进行base64解码即可得到文件内容。


知识来源: https://www.wangan.com/p/7fygf341f84b16ea

阅读:124837 | 评论:0 | 标签:CVE 认证

想收藏或者和大家分享这篇好文章→复制链接地址

“Commvault CVE-2021-34993 从认证绕过到任意文件下载”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

标签云 ☁