Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 15:26
· 48 commits to master since this release

Added

  1. 添加 BigInteger、ScriptEngineBigInteger 打包方式(#86 by @wanswu
  2. 添加 SpELSpringGzipJDK17 打包方式(#83 by @xcxmiku and @ReaJason
  3. 添加 JXPathSpringGzipPacker、JXPathSpringGzipPackerJDK17 打包方式(GeoServer 漏洞注入)
  4. 添加 Base64URLEncoded 打包方式(配合回显马进行小马拉大马测试)
  5. 支持回显马在进行自定义字节码执行时去除 Java 魔数流量特征
    /path/code?payload=yv66vgAAADIBVQEAJ29yZy9hcGFj...
    
    改为只需要如下方式
    /path/code?payload=IBVQEAJ29yZy9hcGFj...
    

Fixed

  1. 修复非调试模式下,构造方法中的 e.printStackTrace() 并没有被移除
  2. 修复使用 Dockerfile 进行自定义构建时,自定义路由无法正常工作
  3. 修复探测内存马中 Sleep 和 DNSLog 自定义类名失效(#89 Thanks @yinsel
  4. 修复自定义内存马中,不会自动调用 listener 添加 getResponseFromRequest 实现代码和 valve 修改包名的逻辑(使用自定义内存马请参考:如何使用自定义内存马功能 进行实现,否则会出现不可用的问题)
  5. 修复使用 SDK 时,Agent Packer 在 jar-with-dependencies(fatjar) 中会出现打包整个 jar 的问题
  6. 修复 Tomcat Listener 注入会使之前所有 Listener 失效(#93

Changed

  1. 修改 Packer 中对于 Thread.currentThread().getContextClassLoader() 的纯依赖改为新建 URLClassLoader,使得回显马可多次执行
  2. 去除 logback(java11)和 okhttp 无用依赖,解决使用 SDK 打包部分场景会出现类版本不支持的问题
  3. 实现 Lombok SuperBuilder 自定义 Builder 简化配置类的创建代码(#9f8f3baa)
  4. 优化命令执行内存马,改为和回显马逻辑一致,使用 ProcessBuilder.redirectErrorStream 简化流读取
  5. 修改 packer 中脚本存放添加 memshell-party 一级,防止打包成 fatjar 时文件全在根目录,可能会被覆盖导致功能破坏
  6. 优化资源读取,通过工具类 loadTemplateFromResource 统一实现
  7. 优化 Agent Attacher JDK11 异常处理
  8. 依赖更新

Full Changelog: v2.0.0...v2.1.0

更新方式

Docker 部署

docker rm -f memshell-party

docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latest

Jar 包启动

仅支持 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.1.0.jar