0x00、前言
这里主要补一下weblogic远程代码执行漏洞(CVE-2023-21931)的同类分支漏洞点编号CVE-2023-21839,主要补触发分析过程。
0x01、漏洞描述
Oracle WebLogic Server中存在远程代码执行漏洞,该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议网络访问并破坏易受攻击的WebLogic服务器,成功利用此漏洞可能导致Oracle WebLogic服务器被接管或敏感信息泄露。
0x02、漏洞范围
Oracle WebLogic Server 12.2.1.3.0
Oracle WebLogic Server 12.2.1.4.0
Oracle WebLogic Server 14.1.1.0.0
0x03、环境搭建
这里同weblogic远程代码执行漏洞(CVE-2023-21931)一个环境
直接拉取的vulhub上4ra1n师傅的环境:
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2023-21839
下载进CVE-2023-21839目录下执行
docker-compose up -d
docker启动
成功访问到即可
将源码从docker中拖出来放进idea就可以审计了
相关命令:
【】表示填选项
进入镜像环境
docker exec -it 【进程序号】 /bin/bash
复制镜像文件到主机上
docker cp 【进程序号】:/【目录】 /【主机目录】
0x04、漏洞复现
poc:
public class CVE_2023_21839 { |
执行命令创建文件成功
测试过程中如果遇到目标服务器无法访问或者payload发送不成功,关闭weblogic服务器防火墙
linux命令
//安装ufw
apt-get install ufw
//关闭防火墙
sudo ufw disable
//开启防火墙
sudo ufw enable
0x05、原理分析
在weblogic远程代码执行漏洞(CVE-2023-21931)分析的时候提到的漏洞触发点在WLNamingManager#getObjectInstance
方法,当obj
对象为LinkRef
时,会获取LinkRef
对象远程地址并实现jndi注入
前面的传输过程跟CVE-2023-21931分析时大体一致,主要补充下编号CVE-2023-21839的漏洞触发点位置分析,CVE-2023-21839触发点为同类WLNamingManager#getObjectInstance
方法,当传入的obj对象属于OpaqueReference
类时,会调用该对象的getReferent
方法
其中存在一个类ForeignOpaqueReference
,该类实现了OpaqueReference
类
该方法实现了jndi调用,同时需要给remoteJNDIName
、jndiEnvironment
两个变量进行赋值,remoteJNDIName
为远程调用地址,jndiEnvironment
为上下文配置环境,配置包括加载的工厂地址类即可
因此实现方法需要反射赋值remoteJNDIName
、jndiEnvironment
两个变量,然后调用ForeignOpaqueReference
的getReferent
方法即可触发漏洞,t3协议传输后面会调用WLNamingManager#getObjectInstance
方法,因此同CVE-2023-21931一样,当客户端调用lookup调用weblogic服务器,查询对象为ForeignOpaqueReference
对象即可触发漏洞
构造poc步骤:
先创建需要lookup查询的ForeignOpaqueReference对象,
weblogic.deployment.jms.ForeignOpaqueReference obj=new weblogic.deployment.jms.ForeignOpaqueReference(); |
再通过反射修改obj
对象的remoteJNDIName
、jndiEnvironment
两个变量值
//设置服务器端后反序列化的上下文配置jndiEnvironment和remoteJNDIName地址 |
最后添加上下文进行lookup查询weblogic服务器
//设置客户端通过t3通信服务器的上下文配置 |
即可触发漏洞
0x06、漏洞修复
官方补丁
https://www.oracle.com/security-alerts/cpuapr2023.html
0x07、参考链接
https://www.oracle.com/security-alerts/cpujan2023.html
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2023-21839
https://nox.qianxin.com/article/503