|
| 1 | +# Java 服务简介 |
| 2 | + |
| 3 | +以下服务仅我个人遇到的一些场景,与实际攻防场景可能仍有差距,但是在 MemShellParty |
| 4 | +中可用于参考进行内存马生成。个别其他服务还请自行辨别其服务类型。如果有其他环境补充,欢迎 PR 交流学习~ |
| 5 | + |
| 6 | +## Tomcat |
| 7 | + |
| 8 | +> https://tomcat.apache.org/ |
| 9 | +
|
| 10 | +Tomcat 使用的是自己 Catalina 模块提供的 Servlets 实现,限制较少,在 MemShellParty 中,服务类型选 Tomcat 即可生成 Tomcat |
| 11 | +内存马。 |
| 12 | + |
| 13 | +一般而言,SpringWebMVC 项目大多使用 Tomcat 提供 Servlets 容器功能,比如 Nacos,这种情况下可以选择 Tomcat 内存马注入。 |
| 14 | + |
| 15 | +其他服务中,致远 OA、Confluence、帆软使用的是 Tomcat。 |
| 16 | + |
| 17 | +## Jetty |
| 18 | + |
| 19 | +> https://jetty.org/ |
| 20 | +
|
| 21 | +Jetty6 版本使用的包名为 `org.mortbay.jetty`,而 7 以上使用的是 `org.eclipse.jetty`,在测试最新的 Jenkins 时,发现 Jetty11+ |
| 22 | +版本支持 ee8 ~ ee10 的环境,包名对应的是 `org.eclipse.jetty.ee8`,这些在 MemShellParty 中均已支持,因此服务类型选 Jetty |
| 23 | +即可生成 Jetty 内存马。 |
| 24 | + |
| 25 | +在 SpringWebMVC 项目中也是有可能使用的。 |
| 26 | + |
| 27 | +## JBoss |
| 28 | + |
| 29 | +> JBossAS: https://jbossas.jboss.org/downloads |
| 30 | +
|
| 31 | +> JBossEAP: https://developers.redhat.com/products/eap/download |
| 32 | +
|
| 33 | +JBoss 分为 JBossAS 和 JBossEAP,JBossAS 全版本和 JBossEAP6 使用的 Catalina 模块提供的 Servlets 实现,JBossEAP7 及其以上使用的 |
| 34 | +[Undertow](https://undertow.io/) 提供的 Servlets 实现。 |
| 35 | + |
| 36 | +因此 JBossAS 4~7 以及 JBossEAP6 服务类型选择 JBoss 进行内存马的生成,而 JBossEAP7 服务类型需要选择 |
| 37 | +Undertow 进行内存马的生成。 |
| 38 | + |
| 39 | +## Wildfly |
| 40 | + |
| 41 | +> https://www.wildfly.org/ |
| 42 | +
|
| 43 | +Wildfly 使用的 [Undertow](https://undertow.io/) 提供的 Servlets 实现,因此服务类型选择 Undertow 生成内存马 |
| 44 | + |
| 45 | +## GlassFish |
| 46 | + |
| 47 | +> https://glassfish.org/ |
| 48 | +
|
| 49 | +GlassFish 使用的是 Catalina 提供的 Servlets 实现,但是使用了 OSGI 类加载模式,因此类限制较为严重,在 MemShellParty 中,服务类型选择 |
| 50 | +GlassFish 进行内存马的生成。 |
| 51 | + |
| 52 | +## Payara |
| 53 | + |
| 54 | +> https://www.payara.fish/downloads/ |
| 55 | +
|
| 56 | +基于 GlassFish 开发,服务类型选择 GlassFish 进行内存马的生成。 |
| 57 | + |
| 58 | +## Resin |
| 59 | + |
| 60 | +> https://caucho.com/products/resin/download |
| 61 | +
|
| 62 | +Resin 使用的包名为 `com.caucho.`,服务类型选择 Resin 进行内存马的生成。 |
| 63 | + |
| 64 | +泛微 OA 使用的就是 Resin 提供的服务。 |
| 65 | + |
| 66 | +## WebLogic |
| 67 | + |
| 68 | +> https://www.oracle.com/middleware/technologies/weblogic-server-installers-downloads.html |
| 69 | +
|
| 70 | +WebLogic 使用的包名为 `weblogic.`,服务类型选择 WebLogic 进行内存马的生成。 |
| 71 | + |
| 72 | +## WebSphere |
| 73 | + |
| 74 | +> https://www.ibm.com/products/websphere-application-server |
| 75 | +
|
| 76 | +WebSphere 是 IBM 研发的商用 Servlets 容器,开源版本为 Websphere liberty, |
| 77 | +包名为 `com.ibm.`,服务类型选择 WebSphere 进行内存马的生成。 |
| 78 | + |
| 79 | +## BES |
| 80 | + |
| 81 | +> https://www.bessystem.com/ |
| 82 | +
|
| 83 | +BES 宝兰德,其基于 Tomcat 进行二开,在 BES 9.5.1 版本中没有进行包名修改,而在 BES 9.5.2 |
| 84 | +版本之后包名修改为了 `com.bes.enterprise.`。因此 BES 9.5.1 版本,服务类型选择 Tomcat 进行内存马的生成,BES 9.5.2+ 服务类型选择 |
| 85 | +BES 进行内存马的生成。 |
| 86 | + |
| 87 | +## TongWeb |
| 88 | + |
| 89 | +> https://www.tongtech.com/sy.html |
| 90 | +
|
| 91 | +TongWeb 东方通,其基于 Tomcat 进行二开,并且在最初的 6 版本就进行了包名修改,每个版本都进行了修改。 |
| 92 | + |
| 93 | +- TongWeb6: `com.tongweb.web.thor.` |
| 94 | +- TongWeb7: `com.tongweb.catalina.` |
| 95 | +- TongWeb8: `com.tongweb.server.` |
| 96 | + |
| 97 | +这三个版本在 MemShellParty 中均有适配,服务类型选择 TongWeb 进行内存马的生成。 |
| 98 | + |
| 99 | +## Apusic |
| 100 | + |
| 101 | +> https://www.apusic.com/ |
| 102 | +
|
| 103 | +金蝶中间件,Apusic9 疑似魔改自 GlassFish,不过改得面目全非了,自 Apusic10 开始使用原版 GlassFish 进行二开。因此 Apusic9 |
| 104 | +版本服务类型选择 |
| 105 | +Apusic 进行内存马生成,Apusic10 版本选择 GlassFish 进行内存马生成。 |
| 106 | + |
| 107 | +## Primeton |
| 108 | + |
| 109 | +> https://www.primeton.com/products/pas/ |
| 110 | +
|
| 111 | +普元中间件,Primeton6.5 版本基于 GlassFish |
| 112 | +二开,高版本疑似做了包名修改,但没有环境,因此暂未适配([#60](https://github.com/ReaJason/MemShellParty/issues/60))因此当前仅支持 |
| 113 | +Primeton6.5 版本,服务类型选择 GlassFish 进行内存马生成。 |
| 114 | + |
| 115 | +## InforSuite |
| 116 | + |
| 117 | +中创中间件,InforSuite 基于 GlassFish 进行二开,不过因为 InforSuite10 版本针对 filterConfigs 字段做了手脚改成了 |
| 118 | +iasFilterConfigs 因此 Filter 注入单独进行了适配。服务类型选择 InforSuite 进行内存马注入。 |
| 119 | + |
| 120 | +## SpringWebMVC |
| 121 | + |
| 122 | +Spring 框架,默认的 MVC 架构,官方 Servlets 容器实现可选 Tomcat、Jetty 与 Undertow,也可打包成 war 包部署于任意 Servlets |
| 123 | +容器上。内存马注入场景下不推荐框架内存马,而是具体的 Servlets 容器内存马,因为可绕过框架的限制(鉴权或其他)。服务类型选择 |
| 124 | +SpringWebMVC 进行内存马生成。 |
| 125 | + |
| 126 | +## SpringWebFlux |
| 127 | + |
| 128 | +Spring Boot 项目中基于 reactor 异步 IO 模型的服务组件,底层使用的 Netty,一般常见于各种 SpringCloud 项目,例如网关。服务类型选择 |
| 129 | +SpringWebFlux 进行内存马生成。 |
| 130 | + |
0 commit comments