一、漏洞原理简介
- 漏洞概述:
- CVE-2018-2628是Oracle WebLogic Server(WLS)核心组件中的一个反序列化命令执行漏洞。
- 允许未授权的用户通过T3协议在远程服务器上执行任意命令,从而可能完全控制受影响的服务器。
- 漏洞原理:
- Java反射机制:Java反射机制允许程序在运行时动态地获取类的信息,包括类的所有属性和方法,并且可以调用这些属性和方法。
- RMI(Remote Method Invocation,远程方法调用):RMI是Java的一部分,用于开发基于Java的分布式应用。RMI在传输过程中使用序列化和反序列化。如果RMI服务端端口对外开放,并且服务端使用了像
Apache Commons Collections
这样的库,那么可能会导致远程命令执行。 - T3协议:T3协议用于在WebLogic服务器和其他类型的Java程序之间传输信息。
- 服务器实例会跟踪连接到应用程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接,将流量传输到Java虚拟机。
- 当WebLogic控制台端口(默认为7001端口)开放时,T3服务会默认开启。攻击者可以通过T3协议发送恶意的反序列化数据,进行反序列化,实现对存在漏洞的WebLogic组件的远程代码执行攻击。
- 影响版本:
- 该漏洞影响了以下版本的Oracle WebLogic Server:
- Oracle WebLogic Server 10.3.6.0
- Oracle WebLogic Server 12.1.3.0
- Oracle WebLogic Server 12.2.1.2
- Oracle WebLogic Server 12.2.1.3
二、漏洞复现
- 靶机:ubuntu22.04(中间件用)
- 打开靶机,在终端分别输入以下命令
docker images
//查看镜像ID
docker run -d -p 8080:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=10.10.10.136 8e55f85571c8
sudo docker exec -it practical_snyder /bin/bash
- 敲完后,在浏览器防问靶场IP+8080端口,看到靶场首页(登录账号密码都是admin)
- 登录后,点击左侧镜像管理,然后点击右上角的一键同步(更新镜像源)
- 更新完之后,搜索CVE-2018-2628,然后点击下载
- 在首页启动靶场,然后访问相应的端口
- 此时,在kali上输入以下命令下载POC
git clone https://github.com/jas502n/CVE-2018-2628.git
- 此时,使用以下工具写入shell(填写IP和端口)
- 工具下载地址:https://github.com/k8gege/K8tools/blame/master/CVE-2018-2628%20Weblogic%20GetShell%20Exploit.rar
- 解压密码:k8gege
- 然后进入CVE-2018-2628目录,执行以下命令,填入写入shell的地址,发现可以命令执行
- 写入shell后会在短时间内自动删除,所以可能要多执行几次命令才会有回显
python2 cve-2018-2628.py
三、修复方案
- 及时更新补丁
- 禁用T3协议
- 禁止T3端口对外开放,或者限制可访问T3端口的IP来源
- source:securepulse.website
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论