1.漏洞简介
2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。从Oracle 官方的公告中看出该漏洞存在于Weblogic核心组件,影响的协议为IIOP协议。该漏洞依然是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,在使用之前未经安全检查,导致恶意代码被执行。
影响版本:
10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0
ps:
1.公布的 POC 代码只针对直连(内网)网络有效,Docker、NAT 网络全部无效。
2.公布的 POC 代码只支持单独一个版本(10.3.6),无法适应多个 Weblogic 版本。
CVE-2020-2551漏洞在不同Weblogic版本的利用有些不同,因为IIOP的相关流程有所变动,以10.3.6.0.0 和 12.1.3.0.0 为一个版本(低版本),12.2.1.3.0 和 12.2.1.4.0 为另外一个版本(高版本)。
2.漏洞利用
-
编译exp
使用公开的exp exp.java,利用漏洞执行powershell代码反弹shell
然后编译exp.java (ps:尽量使用和weblogic相同的jdk版本和依赖库(wlfullclient.jar)编译
)
javac exp.java
编译完成后,使用python 启用web服务,将编译后的exp.class和反弹shell的powershell文件放入web服务的根目录
python2 启http服务 python -m SimpleHTTPServer 8000
-
监听RMI服务
随后使用marshalsec 监听RMI服务,指向利用脚本exp.class
-
攻击
运行jar包,开始攻击
攻击成功后,可以看到HTTP服务有请求信息,受害机会从本地搭建的http服务中请求exp.class和powershell文件
shell反弹成功

3.漏洞修复
1.使用 Oracle 官方安全补丁进行更新修复
Oracle Critical Patch Update Advisory – January 2020
2.如果不依赖T3协议进行JVM通信,用户可通过控制T3协议的访问来临时阻断针对该漏洞的攻击。
Weblogic Server 提供了名为
weblogic.security.net.ConnectionFilterImpl 的默认连接筛选器,此连接筛选器接受所有传入连接,可通过此连接筛选器配置规则,对t3及t3s协议进行访问控制,详细操作步骤如下:
进入Weblogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置;
在连接筛选器中输入:
security.net.ConnectionFilterImpl,在连接筛选器规则中配置符合实际情况的规则;
保存后若规则未生效,建议重新启动Weblogic服务(重启Weblogic服务会导致业务中断,建议相关人员评估风险后,再进行操作)。