WebLogic远程代码执行漏洞CVE-2020-14644
2020-08-11 12:45:00 Author: www.secpulse.com(查看原文) 阅读量:412 收藏

Oracle官方在2020年7月份发布的最新安全补丁中披露此漏洞。该漏洞允许未经身份验证的攻击者通过IIOP,T3进行网络访问,未经身份验证的攻击者成功利用此漏洞可能接管Oracle WebLogic Server。CVSS评分9.8。

 二、漏洞分析

2.1 WebLogic组件介绍

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用Java应用服务器

2.2 漏洞描述

Oracle官方在2020年7月份发布的最新安全补丁中披露此漏洞。该漏洞允许未经身份验证的攻击者通过IIOP,T3进行网络访问,未经身份验证的攻击者成功利用此漏洞可能接管Oracle WebLogic Server。CVSS评分9.8。

2.3 漏洞分析

WebLogic12.1.4.0作为漏洞环境进行分析,首先poc调用ClassIdentity构造方法,将构造的恶意类信息存入m_sPackage,m_sBaseName,m_sVersion三个属性中。

图片1.png 

使用Javassist类库获取构造的恶意类的字节流。并调用ClassDefinition构造方法,将获取的恶意字节流存入m_abClass属性中。

图片2.png 

调用RemoteConstructor构造函数,将上述获取到的属性,传入m_definition属性中。

图片3.png 

在反序列化过程中,序列化数据会进入到RemoteConstructor类中的readResolve()方法中,调用newInstance()方法。并进入realize方法中。

图片4.png 

在此方法中,由于调用的getRemotableClass()方法中的m_clz属性使用transient关键字,在反序列化过程中,此属性值为null。在经过两个if判断条件后,执行definition.setRemotableClass(this.defineClass(definition)); 代码语句。

图片5.png 

defineClass方法中获取恶意类,及其恶意字节流数据,调用父类ClassLoader的defineClass方法,实现自定义ClassLoader的创建。在加载过程中执行恶意代码,实现攻击。

图片6.png 

2.4 漏洞复现

搭建WebLogic12.1.4.0漏洞环境,构造恶意的反序列化数据,通过T3发送到目标服务器,当目标服务器解析反序列化数据,会触发恶意代码执行,效果如图:

图片7.png

三、影响范围

目前受影响的WebLogic版本:

WebLogic Server 12.1.3.0.0

WebLogic Server 12.2.1.3.0

WebLogic Server 14.1.1.0.0

4.1修复建议

1.官方已经针对此漏洞发布补丁,请受影响的用户参考以下链接安装补丁更新:https://www.oracle.com/security-alerts/cpujul2020.html

4.2临时修复建议

1.可通过关闭IIOP协议对此漏洞进行临时防御。操作如下:

WebLogic控制台中,选择“服务”->”AdminServer”->”协议”,取消“启用IIOP”的勾选。并重启WebLogic项目,使配置生效。

图片8.png

2.对T3服务进行控制

控制T3服务的方法:

图片9.png 

在上图这个WebLogic界面中选择安全-筛选器,在下方出现的界面中找到“连接筛选器”,在里面输入

security.net.ConnectionFilterImpl

然后在连接筛选器规则中输入

127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s

最后保存并重启服务器即可生效。

五、时间轴

2020/7/14  Oracle发布2020年7月关键补丁更新公告,其中包括WebLogic组件CVE-2020-14644远程代码执行漏洞。

2020/7/16  深信服千里目安全实验室分析复现漏洞并发布了Oracle七月份高危漏洞安全公告。

2020/8/10 深信服千里目安全实验室复现CVE-2020-14644,并发布解决方案。

 六、参考链接

https://www.oracle.com/security-alerts/cpujul2020.html

https://github.com/potats0/cve_2020_14644

本文作者:深信服千里目安全实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/137356.html


文章来源: https://www.secpulse.com/archives/137356.html
如有侵权请联系:admin#unsafe.sh