Releases: ReaJason/MemShellParty
Releases · ReaJason/MemShellParty
v2.7.2
Fixed
- 修复 Web 回显马生成界面,调试模式、绕过模块限制等开关不可用(Thanks @xcxmiku)
Full Changelog: v2.7.1...v2.7.2
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.7.2.jarv2.7.1
Fixed
- 修复 SpELSpringGzipJDK17 高版本 org.springframework.util.Base64Utils 类被删除导致无法使用
- 修复 TongWeb 7.0.4.9、BES 11.0.0 回显失效
- 修复命名错误 struct2 -> struts2
Changed
- 依赖更新、文档更新
Full Changelog: v2.7.0...v2.7.1
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.7.1.jarv2.7.0
Added
- 添加 Alibaba Dubbo 和 Apache Dubbo Service 内存马,专门针对 Dubbo Provider 的场景(#32 By @ReaJason)
- 为 Attacher 添加默认列举 Java 进程和
all参数注入所有 Java 进程的代码(与 JMG Agent.jar 命令一致)java -jar agent.jar # 列举所有 Java 进程 java -jar agent.jar <pid> # 注入指定 PID Java 进程 java -jar agent.jar all # 注入所有 Java 进程
- 添加 Command Base64 Encryptor,方便测试 Base64 流量特征攻击
Fixed
- 修复测试用例 WAS7(IBM JDK6) 下需要添加
-Xshareclasses:noneJVM 参数才能注入成功,否则报错 UnmodifiableClassException
Changed
- 添加 tomcat-embed-core 依赖,Spring Boot 4 应用依赖时能直接使用 Tomcat 容器进行部署(Spring Boot 4 不再支持 Undertow)
- 前端依赖更新,将格式化工具 biomejs 改为 oxc
Full Changelog: v2.6.1...v2.7.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.7.0.jarv2.6.1
Fixed
- (UI)修复 SpringWebMVC 生成 Controller 点击生成按钮无效(#140 Thanks @ekkoo-z By @ReaJason)
- 修复 WebSocket Proxy OOM(#127 Thanks @xiaoxiaoranxxx)
Changed
- 依赖更新
- web docs 更新,支持复制 markdown 以及点击跳转 GitHub 等界面
Full Changelog: v2.6.0...v2.6.1
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.6.1.jarv2.6.0
Added
- 为 ByteBuddyGenerator 添加 postProcessBytes 模板方法,支持生成后对 shell bytes 进行操作
- 支持 Resin 2.1.17 Agent 内存马的生成
- 同步更新 Suo5V2 v2.1.0 修复逻辑(#135 By @zema1)
Fixed
- (UI)修复生成按钮防连点失效(By @ReaJason)
- 修复 ServletRenameVisitorWrapper 可能会导致部分 ByteBuddy Advisor 方法选中失效
- 去除 JSP 脚本中
Class<?>泛型,改为Class,修复低版本 Servlet 容器解析失败
Changed
- Suo5V2 抽取 Loader 进行 Suo5V2 的核心代码加载,增加可维护性(#136)
- 依赖更新
Full Changelog: v2.5.0...v2.6.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.6.0.jarv2.5.0
Added
- 添加 WebSocket BypassNginx 实现,使用方式见文档(By @ReaJason)
- 添加 WebSocket Proxy 实现,使用方式见文档(#126,Thanks @xiaoxiaoranxxx)
- 添加 JSP/JSPX Unicode 打包方式(#116 Thanks @Ch1ngg)
- (UI)添加目标 JRE 版本的选择,防止部分情况下无法使用 JDK8 API(#131 Thanks @LTP414)
Fixed
Changed
- 调整哥斯拉 WebSocket 马使用 AES_RAW 同时支持 GitHub 插件和特战版都可连接,使用方式见文档
- 重构 MemShell 和 ProbeShell 集成测试用例,减少代码量
- 支持 Spring 相关集成测试用例调用远程 docker 完成测试(目前所有集成测试用例可支持在远程 docker 执行)customizing-docker-host-detection
- 配置 Gradle 构建打包自动发布至 Maven Central(不需要额外去网页手动点 Publish)
- 重命名仓库中 asserts -> assets
- 依赖更新
Full Changelog: v2.4.2...v2.5.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.5.0.jarv2.4.2
Added
- 新增对 WebSphere open-liberty 的内存马注入以及回显马(By @ReaJason)
- 添加 libs 子模块,存放部分中间件源码包方便进行代码编写和调试以及便于编写后续源码分析文档
- 支持 Filter 调序为第一个,解决部分鉴权 Filter 的连接干扰
- 新增回显马可回显 Filter 列表
- 目标服务文档填写适配表格,展示各版本该如何选取对应内存马挂载类型,https://dev-party.mem.mk/ui/docs/server-intro
- 添加文档 tree 结构,欢迎一起完善文档
Fixed
- 修复注入器上下文获取失败时不会正确打印
context not found - 修复文档页直接点击子菜单时 502 无法正确显示
- 修复 web 前端项目无法在 Windows 环境正确编译(Thanks @kN6jq)
- 修复 Jetty 回显马,直接使用 Request 和 Callback 导致部分环境 ClassNotFound 问题(改用反射调用)
Changed
- 调整 testcontainer 获取 host 的处理,支持使用远程 docker 环境完成测试
- 简化 WebLogic context 获取代码,改为从 JMX 中获取
- 依赖更新
Full Changelog: v2.4.1...v2.4.2
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.4.2.jarv2.4.1
Fixed
- 修复 Suo5v2、Godzilla、Command Listener 等无法中断请求的场景下未 close 响应流导致连接失败 (#120 By @ReaJason, @zema1 Thanks @whwlsfb)
- 修复非调试模式下,throwable.printStackTrace 未被正确移除
- 修复 responseBody 回显马如果业务优先触发 getOutputStream 或 getWriter 导致回显失败(#122 Thanks @localurk)
- 修复某软新版获取不到 context 导致 Tomcat 内存马无法注入的问题(Thanks @unam4)
Changed
- generator 模块去除 bcel 依赖,简化 jackson 依赖
- UI 添加 tooltip 简易描述方便使用,并优化部分布局细节
- UI 迁移 radix-ui 至 base-ui
- 文档更新、依赖更新
Full Changelog: v2.4.0...v2.4.1
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.4.1.jarv2.4.0
Added
Changed
- ui 探测马生成去除 jar 相关打包方式
Full Changelog: v2.3.0...v2.4.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.4.0.jarv2.3.0
Added
- 支持 Jetty Handler 与 Customizer 内存马生成(By @ReaJason)
- 支持 Jetty ee8~ee11 的回显马(无法从 post urlencoded 中获取 parameter,请从 url queryParam 或 header 传入参数)
- 内存马生成支持回显模式对接回显马
- 支持 Tomcat Upgrade 内存马注入(仅 Tomcat8+ 可用)
- 支持添加 lambda 类名后缀开关(#97)
- 命令执行内存马与回显马支持自定义命令模板(#115 Thanks @ViCrack)
- 添加 ScriptEngine 绕过 Java 模块限制生成以及支持 H2URLPacker(metabase 漏洞测试)
- web 模块添加 fumadocs 框架,支持文档编写
- 回显马运行字节码时支持 base64 和 gzipBase64 字节码传入
- 支持 GroovyTransformJar 打包方式(fastjson 漏洞注入 #112 Thanks @DongHuangT1)
- 回显马参数名称支持默认随机生成
Changed
- 由于 jetty handler 依赖的类干扰,boot 容器从 jetty 改为 undertow
- 注入器和回显马添加 ok 标识仅运行一次,降低代码运行时间
Full Changelog: v2.2.0...v2.3.0
更新方式
Docker 部署
docker rm -f memshell-party
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latestJar 包启动
仅支持 JDK17 及以上版本
java -jar --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED boot-2.3.0.jar