CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

admin 2024年6月18日10:31:38评论28 views字数 1782阅读5分56秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

来源:horizon3.ai,作者:James Horseman

现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安设为星标”,否则可能看不到了

介绍

Ivanti Endpoint Manager (EPM) 是一种企业端点管理解决方案,允许集中管理组织内的设备。2024 年 5 月 24 日,ZDI 和 Ivanti 发布了一份通报,描述了一种 SQL 注入,导致远程代码执行,CVSS 评分为 9.8。
https://www.zerodayinitiative.com/advisories/ZDI-24-507/

在本文中,我们将详细介绍此漏洞的内部工作原理。

RecordGoodApp

幸运的是,ZDI 公告告诉我们在哪里可以找到 SQL 注入,一个名为 RecordGoodApp 的函数。安装后,我们在 C:Program FilesLANDesk 中找到了大多数应用程序二进制文件。搜索 RecordGoodApp 后,我们发现它存在于名为 PatchBiz.dll 的文件中。

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

我们可以使用 JetBrains dotPeek 工具反汇编 PatchBiz.dll C# 二进制文件。从那里我们可以搜索 RecordGoodApp 方法。

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

我们可以很容易地看到,函数中的第一个 SQL 语句可能容易受到 SQL 注入的攻击,它们使用 string.Format 将 goodApp.md5 的值插入到 SQL 查询中。

假设我们可以找到一种方法来影响 goodApp.md5 的值...

找到易受攻击函数的路径

接下来,我们想看看是否有任何明显的 RecordGoodApp 函数路径可用于触发漏洞。幸运的是,我们可以再次使用 dotPeek 搜索对 RecordGoodApp 的任何引用。

但是,为了确保我们不会错过任何东西,我们首先要确保已将所有潜在的应用程序二进制文件加载到 dotPeek 中。如果没有,我们可能会错过对易受攻击函数的引用。
我们发现 RecordGoodApp 首先从 AppMonitorAction.RecordPatchIssue 调用。
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
继续,我们发现 AppMonitorAction.RecordPatchIsssue 被 Patch.UpdateActionHistory 调用
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
我们发现 UpdateActionHistory 从三个不同的位置被调用。
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
这些用法中最有趣的是 StatusEvents.EventHandler.UpdateStatusEvents。我们发现它在 EventHandler 类中用 [WebMethod] 注释。

EventHandler继承自System.Web.Services.WebService。这强烈表明我们应该能够通过 HTTP 命中 UpdateStatusEvents。

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

触发易受攻击的函数

现在我们已经找到了易受攻击函数的可行路径,我们的注意力转向触发易受攻击的函数。

首先,使用 IIS 管理器,我们注意到 EventHandler.cs 托管在 /WSStatusEvents 端点上。

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
在浏览器中进入到站点,我们将进入一个显示一些示例请求和响应的页面。
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
现在,我们可以将这些示例请求复制到 Burp Suite 中并开始修改它们,看看我们是否可以触发漏洞。

使用 dyspy,我们附加到托管易受攻击的端点的 IIS 进程并开始发送请求。经过一点逆向分析后,我们想出了一个相当简单的请求,使用 xp_cmdshell 来获得 RCE。

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
最后,我们看到 notepad.exe 在 sqlservr.exe 下运行,证明我们的漏洞利用成功了!
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

攻击指标

可以检查 MS SQL 日志以查找 xp_cmdshell 被用于获取命令执行的证据。请注意,这可能不是获取 RCE 的唯一方法,但它是一种流行的方法。
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

POC/EXP下载

点击下方名片进入公众号

回复关键字【240608】获取下载链接

知 识 星 球

仅前1-400名: 99¥,400-600名128¥,600-800名: 148¥,800-1000+名168¥所剩不多了...!

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

推 荐 阅 读

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞
CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

原文始发于微信公众号(潇湘信安):CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月18日10:31:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-29824 深入探究:Ivanti EPM SQL 注入远程代码执行漏洞http://cn-sec.com/archives/2859735.html

发表评论

匿名网友 填写信息