CVE-2022-29845~29847 WhatsUp Gold 多个漏洞组合链分析
2022-9-6 15:50:49 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

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

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

漏洞信息

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# 语言开发,主要进程列表如下:

网站基于 IIS,默认目录位于 `C:\Program Files (x86)\Ipswitch\WhatsUp\HTML\NM.UI` :

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

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

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

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

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

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

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

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

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

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

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

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

CVE-2022-29845 任意文件读取

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

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

可以实现任意文件读取:

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

小结

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

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

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

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


文章来源: https://mp.weixin.qq.com/s?__biz=Mzk0NTU5Mjg0Ng==&mid=2247491490&idx=1&sn=41547d635efb485786dd728e224c885c&chksm=c31250c3f465d9d5d4e9006124426f86691196c1671e5b35c5f70970ee91fc9dfa94e3df35e2&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh