CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析

admin 2023年2月16日22:06:27评论78 views字数 1742阅读5分48秒阅读模式

★且听安全-点关注,不迷路!



CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析

★漏洞空间站-优质漏洞资源和小伙伴聚集地!


漏洞信息


WhatsUp Gold 是一款网络监控软件,提供完整、易用的监控机制,全方位监控应用服务与网络设备,协助IT管理人员能将网管信息转变成可阅读的商业信息。近日 WhatsUp Gold 22.0.1 以前版本披露了多个漏洞,主要信息如下:


  •  CVE-2022-29845: Local File Disclosure

  •  CVE-2022-29846: WhatsUp Gold Serial Number Disclosure

  •  CVE-2022-29847: Unauthenticated Server-Side Request Forgery (SSRF)

  •  CVE-2022-29848: Authenticated Server-Side Request Forgery (SSRF)


CVE-2022-29847 泄露管理密码


这是一个未授权 SSRF 漏洞,但是结合接口功能可以外带管理员密码,并且能够解密还原。WhatUp Gold 基于 C# 语言开发,主要进程列表如下:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


网站基于 IIS,默认目录位于 `C:Program Files (x86)IpswitchWhatsUpHTMLNM.UI` :


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


漏洞产生于 `WhatsUp.UI.dll` 的 `WhatsUp.UI.Areas.Platform.ApiControllers.Export.RenderController` 类,注意到 PUT 方法进行了 `AllowAnonymous` 注解,即支持未认证访问:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


调用 PUT 请求后执行 `_appService.RenderReport` 函数, `_appService` 是一个接口定义的变量,最终执行到 `Ipswitch.WhatsUp.Application.Report.ReportRenderingAppService` :


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


继续追踪 `LoginAsync` 函数,调用 `WebuserConfig.GET` 获取 `empty` 和 `empty2`,最后拼接为 URL:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


查看 Get 函数定义可知获取的内容为用户名和密码:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


最后调用 `GetContentAsync` 发送请求:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


构造参数的方法可以参考 `RenderController` 中 Post 方法定义,根据接口描述,输入执行的 `baseUrl` 和 `userId` ,应该能够外带获取指定用户的加密口令:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


现在已经可以通过漏洞获取类似 `3,0,0,0,***` 的管理员 Hash,通过分析解密代码,发现结合序列号和密文可以实现 Hash 解密,编写代码成功实现解密过程:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


CVE-2022-29846 匿名序列号泄露


那么有办法认证前获取序列号吗?首先尝试在安装目录搜索序列号字符串,并没有在网页文件中找到。


查看 IpSwitch 网站目录,分为 `NM.UI` 和 `NmConsole` 两个实例,目录下包含多个 asp 文件:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


一个比较粗暴的方式为遍历所有 asp 文件,并过滤关键字符,最后发现 `evalPane.asp` 和 `gettingStartedPane.asp` 两个文件符合条件:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


asp 代码中正好有 `getSerialNumber` 调用:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


CVE-2022-29845 任意文件读取


问题代码位于 `WhatsUp.UI.dll` 文件的 `WhatsUp.UI.Areas.Platform.ApiControllers.AlarmCustomizer.AlarmCustomizerController` 类,其中的 `Get` 函数调用了 `ReadFile`:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


`ReadFile` 未对输入做任何检查:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


可以实现任意文件读取:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


如果主机位于域内,可结合渗透手段获取域认证敏感信息:


CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析


小结


CVE-2022-29847 是未授权 SSRF 漏洞,可以获取任意用户加密口令,可结合安装序列号恢复明文与 CVE-2022-29846 序列号泄露组合使用可获取控制台管理权限。



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全及文章作者不为此承担任何责任。



★且听安全-点关注,不迷路!

CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析



★漏洞空间站-优质漏洞资源和小伙伴聚集地!

CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析

原文始发于微信公众号(且听安全):CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月16日22:06:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析https://cn-sec.com/archives/1281513.html

发表评论

匿名网友 填写信息