CVE-2023-4528:JSCAPE MFT 中的 Java 反序列化漏洞(已修复)

admin 2024年5月19日10:26:47评论5 views字数 3251阅读10分50秒阅读模式

CVE-2023-4528:JSCAPE MFT 中的 Java 反序列化漏洞(已修复)

JSCAPE MFT安全托管文件传输产品中发现了 Java 反序列化漏洞。该漏洞后来被分配为 CVE-2023-4528。可以通过将 XML 编码的 Java 对象发送到 Manager Service 端口来利用它,默认情况下,该端口是 TCP 端口 10880(通过 SSL)。成功利用该漏洞可以以rootLinux 上的SYSTEM用户或 Windows 上的用户身份运行任意 Java 代码。如果攻击者对管理端口具有网络级访问权限并且启用了 Manager Service(默认设置),则 CVE-2023-4528 很容易被利用。我们强烈建议关闭服务器(或禁用管理器服务),直到可以对其进行修补。

产品描述

CVE-2023-4528 影响所有平台(Windows、Linux 和 MacOS)上版本 2023.1.9 之前的所有 JSCAPE MFT Server 版本。

影响

成功利用该漏洞可以以 Linuxroot或 WindowsSYSTEM用户身份执行任意 Java 代码。最有可能的攻击媒介将运行 Java 代码,例如

java.lang.Runtime.getRuntime().exec("...shell command...");

但也可以创建纯 Java 有效负载以避免执行另一个进程(因此不会那么容易检测到)。

一旦攻击者执行该级别的代码,他们就可以完全控制系统。他们可以窃取数据、攻击其他网络设备、删除入侵证据、建立持久性以及他们选择的任何其他内容。值得注意的是,似乎很少(如果有的话)JSCAPE MFT Server 实例的管理端口暴露在互联网上,这大大降低了攻击者访问受影响服务的能力。

成功的利用将在日志文件中显而易见。Windows 日志文件是C:program filesMFTServervarlogserver0.log,Linux 是/opt/mft_server/var/log/server0.log. 应调查任何引用“管理连接”的警告或错误消息 - 特别是类转换异常,例如:

08.22.2023 15:56:51 [WARNING] Management connection error: [10.0.0.77:10880 <-> 10.0.0.227:40085].com.jscape.util.net.connection.Connection$ConnectionException: class java.lang.Runtime cannot be cast to class com.jscape.inet.mftserver.adapter.management.protocol.messages.Message (java.lang.Runtime is in module java.base of loader 'bootstrap'; com.jscape.inet.mftserver.adapter.management.protocol.messages.Message is in unnamed module of loader 'app')  at com.jscape.util.net.connection.Connection$ConnectionException.wrap(Unknown Source)  at com.jscape.util.net.connection.SyncMessageConnectionSyncRawBase.read(Unknown Source)  at com.jscape.util.net.connection.AsyncMessageConnectionSyncRawBase.readNextMessage(Unknown Source)  at com.jscape.util.net.connection.AsyncMessageConnectionSyncRawBase.run(Unknown Source)  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)  at java.base/java.lang.Thread.run(Thread.java:833)Caused by: java.io.IOException: class java.lang.Runtime cannot be cast to class com.jscape.inet.mftserver.adapter.management.protocol.messages.Message (java.lang.Runtime is in module java.base of loader 'bootstrap'; com.jscape.inet.mftserver.adapter.management.protocol.messages.Message is in unnamed module of loader 'app')  at com.jscape.util.at.b(Unknown Source)  at com.jscape.util.az.a(Unknown Source)  at com.jscape.inet.mftserver.adapter.management.protocol.a.a(Unknown Source)  at com.jscape.inet.mftserver.adapter.management.protocol.a.read(Unknown Source)  ... 8 moreCaused by: java.lang.ClassCastException: class java.lang.Runtime cannot be cast to class com.jscape.inet.mftserver.adapter.management.protocol.messages.Message (java.lang.Runtime is in module java.base of loader 'bootstrap'; com.jscape.inet.mftserver.adapter.management.protocol.messages.Message is in unnamed module of loader 'app')  ... 10 more

服务器需要一个Message类,而漏洞利用程序会发送一个不同的类,例如java.lang.Runtime,该类会失败并创建错误消息。

请注意,编写得更巧妙的漏洞在日志文件中可能不会那么明显。

修复措施:

JSCAPE MFT 客户还应关闭公共互联网的端口 10880,确保阻止对 JSCAPE 命令行实用程序使用的二进制管理服务端口(通常为 10880)的外部/公共访问。该端口的设置可在管理界面的“设置”>“管理器服务”>“管理器服务”下找到。

作为应用补丁之前的临时缓解措施,管理员可以阻止对管理服务的访问。在配置页面 ( http://[server]:11880/settings/settings) 上,将Manager Service页面上的Host/IP选项更改为。或者,在“访问”选项卡下设置 IP 过滤器(或阻止所有 IP 地址)。Rapid7 验证了这两种选择都有效。127.0.0.1

原文始发于微信公众号(Ots安全):CVE-2023-4528:JSCAPE MFT 中的 Java 反序列化漏洞(已修复)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月19日10:26:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-4528:JSCAPE MFT 中的 Java 反序列化漏洞(已修复)http://cn-sec.com/archives/2021551.html

发表评论

匿名网友 填写信息