weblogic系列漏洞整理
转载于:https://mp.weixin.qq.com/s/SJwACGSedSduYnJHvZ-1bg
WebLogic介绍
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,webLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
CVE-2014-4210 SSRF
漏洞概述:
服务端请求伪造(Server-Side Request Forgery),是一种有攻击者构造形成有服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片、文档等等。
SSRF用途:
1.内外网的端口和服务扫描。
2.主机本地敏感数据的读取。
3.内外网主机应用程序漏洞的利用。
4.内外网web站点漏洞的利用
影响版本:
weblogic 10.0.2 – 10.3.6.0
CVE-2018-2894 远程上传漏洞
漏洞概述:
Weblogic Web 服务测试客户端,其配置页面存在未授权访问的问题,路径为/ws_utc/config.do、/ws_utc/begin.do。攻击者访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。
影响版本:
weblogic 12.1.3.0、12.2.1.2和12.2.1.3
CVE-2015-4852 JAVA反序列化
漏洞概述:
WLS Security组件允许远程攻击者执行任意命令。攻击者通过向TCP端口7001发送T3协议流量,其中包含精心构造的序列化Java对象利用此漏洞。此漏洞影响到WLS Security Handler的文件oracle_common/modules/com.bea.core.apache.commons.collections.jar内一个未知的函数。
影响版本:
WebLogic 10.3.6.0, 12.1.2.0, 12.1.3.0, 12.2.1.0
CVE-2016-0638 JAVA反序列化
漏洞概述:
此漏洞是基于CVE-2015-4852漏洞进行黑名单的绕过,CVE-2015-4852补丁主要应用在三个位置上:
1 | weblogic.rjvm.InboundMsgAbbrev.class :: ServerChannelInputStreamweblogic.rjvm.MsgAbbrevInputStream.class weblogic.iiop.Utils.class |
所以如果能找到可以在其readObject中创建自己的InputStream的对象,并且不是使用黑名单中的ServerChannelInputStream和MsgAbbrevInputStream的readExternal进行的反序列化,最后调用readObject()方法进行反序列化的数据的读取,这样就可以执行含有恶意代码的序列化代码。CVE-2016-0638漏洞就是依据这个思路找到了weblogic.jms.common.StreamMessageImpl类,其中的readExternal()方法也符合攻击的需求。攻击者可以在其中构造一个恶意的ObjectInputStream来实现payload内部的InputStream创建,调用readObject()方法实现攻击。
影响版本:
WebLogic 10.3.6、12.1.2、12.1.3和12.2.1
CVE-2016-3510 JAVA反序列化
漏洞概述:
此漏洞是与CVE-2016-0638漏洞利用方式相似,只是选择了weblogic.corba.utils.MarshalledObject进行绕过,绕过之前的CVE-2015-4852和CVE-2016-0638漏洞的修复补丁。
影响版本:
WebLogic 10.3.6.0、12.1.3.0和12.2.1.0
CVE-2017-3248 JAVA反序列化
漏洞概述:
CVE-2017-3248漏洞利用方法与之前三个漏洞不同,这次主要是利用了JRMPJava远程方法协议。利用java.rmi.registry.Registry,序列化RemoteObjectInvocationHandler,并使用UnicastRef和远端建立tcp连接,获取RMIregistry,最终将加载的内容利用readObject()进行解析,导致之前序列化的恶意代码执行。
影响版本:
WebLogic 10.3.6.0、12.1.3.0、12.2.1.0和12.2.1.1
CVE-2018-2628 JAVA反序列化
漏洞概述:
CVE-2018-2628漏洞与CVE-2017-3248漏洞利用方法类似,仅仅更换了使用的rmi接口,用java.rmi.activation.Activator替换了CVE-2017-3248所使用的java.rmi.registry.Registry,从而绕过resolveProxyClass的判断,成功绕过了CVE-2017-3248漏洞的修复补丁,其他攻击流程相同。
影响版本:
WebLogic 10.3.6.0、12.1.3.0、12.2.1.2和12.2.1.3
CVE-2018-2893 JAVA反序列化
漏洞描述:
CVE-2018-2893漏洞,同样是对resolveProxyClass函数进行绕过,导致攻击者可以利用UnicastRef和远端建立tcp连接,获取RMI registry,再将加载的内容利用readObject解析,从而造成反序列化远程代码执行。
CVE-2018-2893漏洞绕过方式是利用StreamMessageImpl对ysoserial工具中的JRMPClient生成的payloadObject进行封装,由于StreamMessageImpl在进行反序列化时并不会被resolveProxyClass检测,导致绕过的产生,最后成功的进行了反序列化攻击。
影响版本:
WebLogic 10.3.6.0、12.1.3.0、12.2.1.2和12.2.1.3
1
CVE-2017-3506 XMLDecoder反序列化
漏洞描述:
Oracle融合中间件(子组件:Web服务)的Oracle WebLogic Server组件中的漏洞。难以攻击的漏洞允许未经身份验证的攻击者通过HTTP进行网络访问,从而危及Oracle WebLogic Server。对此漏洞的成功攻击可能导致对关键数据或所有Oracle WebLogic Server可访问数据的未经授权的创建、删除或修改访问,以及对关键数据的未经授权访问或对所有Oracle WebLogic Server可访问数据的完全访问。
影响版本:
WebLogic 10.3.6.0、12.1.3.0、12.2.1.0、12.2.1.1和12.2.1.2
CVE-2017-10271 XMLDecoder反 序列化
漏洞描述:
Oracle融合中间件的Oracle WebLogic Server组件中的漏洞(子组件:WLS安全性)。容易攻击的漏洞允许未经身份验证的攻击者通过T3进行网络访问,从而危及Oracle WebLogic Server。成功攻击此漏洞可导致接管Oracle WebLogic Server。
影响版本:
WebLogic 10.3.6.0.0、12.1.3.0.0、12.2.1.1.0和12.2.1.2.0
CVE-2019-2725 XMLDecoder反序列化
漏洞描述:
WebLogic Admin Server的两个组件(wls9_async_response.war 和 wls-wsat.war)可以在无身份认证无授权的情况下,攻击者可以发送精心构造的恶意HTTP请求,在未认证情况下达到远程执行代码的效果
影响版本:
WebLogic 10.3.6.0.0和12.1.3.0.0
CVE-2019-2729 XMLDecoder反序列化
漏洞描述:
和CVE-2019-2725相似,在修复反序列化漏洞所使用黑明单方式补丁找到了新的绕过方法,从而导致在之前的漏洞利用点依然能通过反序列化的方式来执行代码。
影响版本:
WebLogic 10.3.6.0.0、12.1.3.0.0和12.2.1.3.0
CVE-2020-2546 RCE
漏洞描述:
该漏洞通过T3协议实现利用、攻击者可通过此漏洞实现远程代码执行。
影响版本:
WebLogic Server 10.3.6.0.0 、WebLogic Server 12.1.3.0.0
CVE-2020-2551 RCE
漏洞描述:
该漏洞可以绕过Oracle官方在2019年10月份发布的最新安全补丁。攻击者可以通过IIOP协议远程访问Weblogic Server服务器上的远程接口,传入恶意数据,从而获取服务器权限并在未授权情况下远程执行任意代码。IIOP协议以Java接口的形式对远程对象进行访问,默认启用。
影响版本:
WebLogic 10.3.6.0.0 、12.1.3.0.0 、12.2.1.3.0 、12.2.1.4.0
CVE-2020-2551 IIOP反序列化漏洞
漏洞描述:
从Oracle 官方的CPU公告中可以看出该漏洞存在于weblogic核心组件,影响的协议为IIOP。其实经过分析发现,该漏洞原理上类似于RMI反序列化漏洞(CVE-2017-3241),和之前的T3协议所引发的一系列反序列化漏洞也很相似,都是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,并没有进行安全检查所导致的。
影响版本:
WebLogic 10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、 12.2.1.4.0