java内存马?一键查杀,自动生成报告

admin 2026-01-14 23:22:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章介绍基于MCP的一键Java内存马查杀工具,通过FastMCP框架集成本地与SSH命令执行、自动下载detector-agent与memory-shell-detector-cli.jar、利用AI反编译可疑类并二次确认后执行-r-p清除,支持Servlet/Filter/Listener及SpringController/Interceptor场景,输出Markdown报告与配置,给出完整mcpServersJSON及攻防演示,附项目与加速下载地址。 综合评分: 78 文章分类: 渗透测试,代码审计,安全工具,漏洞分析,应急响应


cover_image

java内存马?一键查杀,自动生成报告

网络安全007

2026年1月14日 15:50 广东

以下文章来源于角宿安全 ,作者弱鸡

角宿安全 .

更快 更好 更简洁 更方便 更贴近

0.1 自动化查杀java内存马

GitHub项目地址:https://github.com/RuoJi6/memory-shell-mcp

执行效果展示:

0.1.1 编写思路

这个是笔者在使用kiro编写内存马查MCP的提示词

帮我编写一个内存马查看/清理的MCP:
前置:
1、你需要在网络搜索什么是MCP
2、了解python的uv(当前目录下,我已执行:uv venv --python python3.12 ,uv init,你后面执行命令统一在虚拟环境执行:source .venv/bin/activate,在uv init 创建的main.py文件中编写代码)
3、查看当前目录下的`工具使用说明.md`文件

结合查看`工具使用说明.md`文件完成下面需求(提示:使用FastMCP编写完成):
1、本地执行命令(来执行:4,5,6,7)
2、ssh连接并可以执行命令(来执行:4,5,6,7)
3、可以让用户输入工具目录地址,如果没有输入就使用下面地址下载到临时目录(注意windows/linux/macos等临时目录)【此处下载需要先测试网络环境是否可用,可用就可以下载。注意:windows/linux/macos 中下载的命令,尽可能的兼容系统】
https://xget.xi-xu.me/gh/RuoJi6/memory-shell-detector/releases/download/2/detector-agent-1.0.0-SNAPSHOT.jar
https://xget.xi-xu.me/gh/RuoJi6/memory-shell-detector/releases/download/2/memory-shell-detector-cli.jar
4、结合查看`工具使用说明.md`文件可以执行工具命令(-l)
5、结合查看`工具使用说明.md`文件可以执行工具命令(-s)
6、结合查看`工具使用说明.md`文件可以执行工具命令(-v -p)
7、结合查看`工具使用说明.md`文件可以执行工具命令(-r -p)
【注意,在执行此命令删除内存马的时候,需要:1、使用-v命令获取内存马源代码,并发送给AI,惊喜判断是否是内存马,如果是方可清除 2、在执行此命令的时候,会有下面信息,需要输入y,如:[!] 警告: 移除内存马可能影响应用正常运行确认移除 org.apache.jsp.filter_002dinject_jsp$ShellFilter? (y/N): y】
8、运行完成之后,在当前目录输出md文件,描述功能,以及mcp配置信息

其中:

  • https://github.com/private-xss/memory-shell-detector – Java 内存马检测工具核心实现
  • https://github.com/xixu-me/Xget – GitHub 文件加速下载服务

0.1.2 运行效果-查找内存马

内存马项目地址:https://github.com/0ofo/java-memshell

测试环境:

  • servlet+tomchat

  • servlet

  • filter

  • Listeneri

  • 模型:glm4.7

MCP配置(TOOLS_DIR可以为空不设置,将会自动下载到tmp目录,参考:https://github.com/RuoJi6/memory-shell-mcp):

{  "mcpServers": {    "memory-shell-detector": {      "command": "uvx",      "args": ["memory-shell-mcp"],      "env": {},      "disabled": false,      "autoApprove": []    }  }}

提示词:

帮我查看本机的java web服务,并排查是否存在内存马(判断标准):工具扫描出来之后,你需要反编译源代码,通过分析源代码,判断是否是内存马,以免在后续操作中,误删正确信息。

运行结果:

AI工具调用图:

AI思考流程图:

0.1.2 运行效果-删除内存马

测试环境:

  • springboot

  • controller

  • interceptor

  • 模型:glm-4.7

  • Agent:claude

MCP配置(TOOLS_DIR可以为空不设置,将会自动下载到tmp目录,参考:https://github.com/RuoJi6/memory-shell-mcp):

{
  "mcpServers": {
    "memory-shell-detector": {
      "command": "uvx",
      "args": ["memory-shell-mcp"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

提示词

这个:(进程名包含 com.example.demo.DemoApplication) 可选,笔者只是为了让AI快速找到这个服务。

帮我检测本机的 Java Web 服务(进程名包含 com.example.demo.DemoApplication),排查是否存在内存马。

检测要求:
1. 先下载检测工具,然后列出 Java 进程找到目标 PID
2. 扫描该进程,获取所有可疑类列表
3. 对每个可疑类反编译源代码,分析是否为内存马
4. 如果确认是内存马,执行移除操作
5. 移除后再次扫描验证,某些内存马需要多次移除才能彻底清除
6. 最后给我一个检测报告总结

运行结果:

0.2 编写思路

帮我编写一个内存马查看/清理的MCP:
前置:
1、你需要在网络搜索什么是MCP
2、了解python的uv(当前目录下,我已执行:uv venv --python python3.12 ,uv init,你后面执行命令统一在虚拟环境执行:source .venv/bin/activate,在uv init 创建的main.py文件中编写代码)
3、查看当前目录下的`工具使用说明.md`文件

结合查看`工具使用说明.md`文件完成下面需求(提示:使用FastMCP编写完成):
1、本地执行命令(来执行:4,5,6,7)
2、ssh连接并可以执行命令(来执行:4,5,6,7)
3、可以让用户输入工具目录地址,如果没有输入就使用下面地址下载到临时目录(注意windows/linux/macos等临时目录)【此处下载需要先测试网络环境是否可用,可用就可以下载。注意:windows/linux/macos 中下载的命令,尽可能的兼容系统】
https://xget.xi-xu.me/gh/RuoJi6/memory-shell-detector/releases/download/2/detector-agent-1.0.0-SNAPSHOT.jar
https://xget.xi-xu.me/gh/RuoJi6/memory-shell-detector/releases/download/2/memory-shell-detector-cli.jar
4、结合查看`工具使用说明.md`文件可以执行工具命令(-l)
5、结合查看`工具使用说明.md`文件可以执行工具命令(-s)
6、结合查看`工具使用说明.md`文件可以执行工具命令(-v -p)
7、结合查看`工具使用说明.md`文件可以执行工具命令(-r -p)
【注意,在执行此命令删除内存马的时候,需要:1、使用-v命令获取内存马源代码,并发送给AI,惊喜判断是否是内存马,如果是方可清除 2、在执行此命令的时候,会有下面信息,需要输入y,如:[!] 警告: 移除内存马可能影响应用正常运行确认移除 org.apache.jsp.filter_002dinject_jsp$ShellFilter? (y/N): y】
8、运行完成之后,在当前目录输出md文件,描述功能,以及mcp配置信息

我们以上面的提示词为例,你需要明白:

  1. 让AI了解最新的知识(AI的知识库并不是最新的,你需要让AI知道最新的技术)

  2. 了解最新的MCP,以及uvx使用

  3. 了解项目的工具使用说明.md描述文件

  4. 让AI了解你想做什么(让AI知道你具体想干什么?怎么样干)

  5. 本地执行命令

  6. ssh连接执行命令

  7. 列出进程

  8. 反编译内存马

  9. 删除内存马

  10. 下载工具

0.3 参考

https://github.com/RuoJi6/memory-shell-mcp

https://github.com/private-xss/memory-shell-detector

https://github.com/xixu-me/Xget

https://github.com/0ofo/java-memshell

| | | — | | 免责声明:  本文章仅做网络安全技术研究使用!另利用网络安全007公众号所提供的所有信息进行违法犯罪或造成任何后果及损失,均由使用者自身承担负责,与网络安全007公众号无任何关系,也不为其负任何责任,请各位自重!公众号发表的一切文章如有侵权烦请私信联系告知,我们会立即删除并对您表达最诚挚的歉意!感谢您的理解!让我们一起为中国网络安全事业尽一份自己的绵薄之力! |

推荐阅读

应急响应系列

未授权访问漏洞系列

Nessus漏扫神器之攻防两用

红队如何在攻防演练中一夜暴富?

浅谈Nacos漏洞之超管权限后续利用

超级弱口令工具+超级字典,攻防必备!

记某APP服务端渗透测试实战GetShell

日常实战渗透小技巧,掌握就无需担心漏洞产出为零!

实战|某网站未授权访问=》数据库权限=》服务器权限

全方位揭秘:50多种横向渗透提权终极技巧,一篇文章彻底掌握!


写作不易,分享快乐

期待你的 分享点赞●在看●关注●收藏****


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全007 《java内存马?一键查杀,自动生成报告》

评论:0   参与:  0