【ADLab原创缝隙】WebLogic反序列化缝隙CVE-2018-2893

颁布功夫 2018-07-18

一、缝隙概述


      Oracle官方颁布了7月份的关键补丁更新CPU(Critical Patch Update),其中蕴含一个宝运莱官方网站ADLab安全钻研人员发现并传递给Oracle的高危远程代码执行缝隙(CVE-2018-2893),通过该缝隙,攻击者能够在未授权的情况下远程执行肆意代码 。该缝隙通过JRMP 和谈利用RMI机造的缺点达到执行肆意反序列化代码的主张 。攻击者能够在未授权的情况下将payload封装在T3和谈中,通过对T3和谈中的payload进行反序列化,从而实现对存在缝隙的WebLogic组件进行远程攻击,执行肆意代码并可获取指标系统的所有权限 。


二、缝隙影响领域


        WebLogic 10.3.6.0
        WebLogic 12.1.3.0
        WebLogic 12.2.1.2
        WebLogic 12.2.1.3

        以上均为官方支持的版本 。


三、基础知识


1、T3和谈

        WebLogic Server 中的 RMI 通讯使用 T3 和谈在WebLogic Server和其他 Java法式(蕴含客户端及其他 WebLogic Server 事俘)间传输数据(序列化的类) 。由于WebLogic的T3和谈和Web和谈共用统一个端口,因而只有能接见WebLogic就可利用T3和谈实现payload和指标服务器的通讯 。


2、JRMP和谈

        RMI目前使用Java远程新闻互换和谈JRMP(Java Remote Messaging Protocol)进行通讯 。JRMP和谈是专为Java的远程对象造订的和谈 。


四、缝隙简析


        为了阻止恶意反序列化,WebLogic已经设置了8个黑名单 。如下图所示:

   宝运莱·(中国区)最新官方网站


        并且对commons.collections这个包也做了限度 。主题利用类挪用readObject步骤反序列化时都进行了查抄 。如下图所示:

   宝运莱·(中国区)最新官方网站


        但经过宝运莱官方网站ADLab安全钻研人员深刻钻研分析后发现,JDK固有类中存在可被序列化并且在反序列化时能够挪用RMI的类,使用该类可机关出绕过WebLogic黑名单以及commons.collections限度的payload,ADLab第一功夫传递给Oracle官方并获得相应的缝隙编号(CVE-2018-2893) 。


五、解决规划


1、关注Oracle官方CPU更新补丁
2、节造T3和谈的接见
        此缝隙产生于WebLogic的T3服务,因而可通过节造T3和谈的接见来一时阻断针对该缝隙的攻击 。当盛开WebLogic节造大驾口(默以为7001端口)时,T3服务会默认开启 。
        具体操作:
        a)进入WebLogic节造台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入衔接筛选器配置 。
        b)在衔接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在衔接筛选器规定中输入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(t3和t3s和谈的所有端口只允许本地接见) 。

        c)保留后需沉新启动,规定方可生效 。

   宝运莱·(中国区)最新官方网站


3、升级到 jdk-8u20以上的版本 。