MCPcopy Index your code
hub / github.com/ReaJason/MemShellParty

github.com/ReaJason/MemShellParty @v2.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.8.0 ↗ · + Follow
4,990 symbols 16,422 edges 921 files 1,293 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MemShellParty

中文 | English

release MavenCentral docker-pulls

Telegram OnlinePartyWebSite

[!WARNING] 本工具仅供安全研究人员、网络管理员及相关技术人员进行授权的安全测试、漏洞评估和安全审计工作使用。使用本工具进行任何未经授权的网络攻击或渗透测试等行为均属违法,使用者需自行承担相应的法律责任。

[!TIP] 由于本人仅是安全产品研发,无实战经验,如使用或实现有相关疑问或者适配请求可提 issue 或加入 TG 交流群,欢迎一起学习交流。

MemShellParty 是一款专注于主流 Web 中间件的内存马快速生成工具,致力于简化安全研究人员和红队成员的工作流程,提升攻防效率。

normal_memshell agent_memshell dnslog_probe about_page

主要特性

  • 无侵入性:生成的内存马不会影响目标中间件正常流量,即使同时注入十几个不同的内存马。
  • 强兼容性:覆盖攻防场景下常见中间件和框架,以及 JDK 适配 JDK6 ~ JDK21。
  • 高可用性:对所有支持的中间件框架建立了全面的自动化测试矩阵,确保每一次生成的载荷都具备最高的可用性和稳定性,杜绝实战中的不确定性。
  • 极致轻量化:通过深度优化的字节码生成策略,MemShellParty 将内存马体积相较于 JMG 等传统工具进行了大幅缩小,常规内存马缩小了 30%,Agent 内存马采用 ASM 技术缩小了 80%
  • 傻瓜一键化:内置针对主流表达式注入、反序列化、SSTI 等常见漏洞的载荷生成。系统会自动根据绕过 Java 模块限制配置,动态生成最优攻击载荷。可实现常规漏洞载荷一键生成。
  • 高灵活性:原生支持哥斯拉、冰蝎、蚁剑、Suo5、NeoreGeorg 等常用内存马功能,通过高度灵活的自定义内存马上传功能,可以将任何定制化载荷融入 MemShellParty 的生成体系,打造最贴合自身战术需求的攻击平台。

快速使用

使用前必看

适配情况,用于了解 MemShellParty 中针对各个服务适配的情况,针对不同的应用选择合适的服务类型。

探测马中探测服务类型已经做了一一对应,探测出来的服务类型,即是可生成内存马的服务类型(非中间件类型,例如 Apusic10 探测出来的结果为 GlassFish,因为它使用的是 GlassFish 进行的二开)。

在线站点

仅限尝鲜的小伙伴,对于其他暴露在公网的服务请谨慎使用,小心生成的内存马带后门

可访问(master 分支) https://party.mem.mk。每次 Release 都会自动部署最新的镜像。

对于正在开发的功能可访问(dev 分支) https://dev-party.mem.mk 抢先体验。

本地部署(推荐)

适合内网或本地快速部署,直接使用 Docker 启动服务方便快捷

使用 docker 部署之后访问 http://127.0.0.1:8080

# 使用 Docker Hub 源,拉取最新的镜像
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party reajason/memshell-party:latest

# 使用 Github Container Registry 源,拉取最新的镜像
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party ghcr.io/reajason/memshell-party:latest

# 网络质量不太好?使用南大 Github Container Registry 镜像源
docker run --pull=always --rm -it -d -p 8080:8080 --name memshell-party ghcr.nju.edu.cn/reajason/memshell-party:latest

Special Thanks

Let's start the party 🎉

Extension points exported contracts — how you extend this code

Response (Interface)
@author ReaJason @since 2025/11/29 [10 implementers]
generator/src/main/java/org/eclipse/jetty/server/Response.java
AttachmentProvider (Interface)
An attachment provider is responsible for making the Java attachment API available. [8 implementers]
memshell-agent/memshell-agent-attacher/src/main/java/Attacher.java
JarPacker (Interface)
@author ReaJason @since 2025/1/1 [6 implementers]
packer/src/main/java/com/reajason/javaweb/packer/JarPacker.java
BytecodeLoadingService (Interface)
(no doc) [5 implementers]
vul/vul-dubbo/src/dubboProviderCommon/java/io/github/reajason/dubbo/fixture/api/BytecodeLoadingService.java
BytecodeLoadingService (Interface)
(no doc) [4 implementers]
tools/command/src/dubboClientCommon/java/io/github/reajason/dubbo/fixture/api/BytecodeLoadingService.java
ProbeConfig (Interface)
(no doc)
web/app/types/probeshell.ts
Handler (Interface)
@author ReaJason @since 2025/11/29 [7 implementers]
generator/src/main/java/org/eclipse/jetty/server/Handler.java
ProcessProvider (Interface)
A process provider is responsible for providing the process id of the current VM. [7 implementers]
memshell-agent/memshell-agent-attacher/src/main/java/Attacher.java

Core symbols most depended-on inside this repo

getClass
called by 1024
tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Payload.java
close
called by 498
packer/src/main/java/com/reajason/javaweb/packer/jar/attach/VirtualMachine.java
write
called by 434
packer/src/main/java/com/reajason/javaweb/packer/jar/attach/VirtualMachine.java
newInstance
called by 373
memshell-party-common/src/main/java/com/reajason/javaweb/util/ClassUtils.java
of
called by 350
memshell-agent/memshell-agent-attacher/src/main/java/Attacher.java
get
called by 308
generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5.java
invoke
called by 292
generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java
build
called by 281
generator/src/main/java/com/reajason/javaweb/probe/generator/SleepGenerator.java

Shape

Method 3,774
Class 917
Function 194
Interface 76
Enum 29

Languages

Java95%
TypeScript4%
Python1%
Kotlin1%
C1%

Modules by API surface

packer/src/main/java/com/reajason/javaweb/packer/jar/attach/VirtualMachine.java189 symbols
memshell-agent/memshell-agent-attacher/src/main/java/VirtualMachine.java189 symbols
packer/src/main/java/com/reajason/javaweb/packer/jar/attach/Attacher.java92 symbols
memshell-agent/memshell-agent-attacher/src/main/java/Attacher.java90 symbols
generator/src/main/java/com/reajason/javaweb/memshell/injector/dubbo/ApacheDubboServiceInjector.java57 symbols
tools/godzilla/src/main/java/com/reajason/javaweb/godzilla/Payload.java51 symbols
generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2.java49 symbols
assets/neoreg/neoreg.py37 symbols
generator/src/main/java/com/reajason/javaweb/memshell/injector/dubbo/AlibabaDubboServiceInjector.java34 symbols
generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Valve.java33 symbols
generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Servlet.java33 symbols
generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Interceptor.java32 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add MemShellParty \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact