JDumpSpiderPlus:JavaHeapDump敏感信息提取利器

admin 2026-06-30 06:36:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: JDumpSpiderPlus是一款基于JDumpSpider二次开发的开源JavaHeapDump敏感信息提取工具,集成HaE规则引擎支持30+种敏感信息自动识别。核心能力包括数据库凭证提取、内存马检测、加密配置解密等,新增19个检测模块和10项工程能力,支持远程下载、多线程扫描和多种输出格式。工具适用于渗透测试信息收集和应急响应内存马排查场景,通过命令行即可快速提取堆转储中的关键数据。 综合评分: 85 文章分类: 渗透测试,应急响应,恶意软件,安全工具,红队


cover_image

JDumpSpiderPlus:Java HeapDump 敏感信息提取利器

原创

iak3ec iak3ec

薛定谔的安全

2026年6月9日 19:34 江苏

在小说阅读器读本章

去阅读

JDumpSpiderPlus:Java HeapDump 敏感信息提取利器

一行命令,从堆转储中提取数据库凭证、密钥、内存马等 30+ 种敏感信息


为什么需要 HeapDump 分析工具?

在渗透测试和应急响应中,Java 应用的 HeapDump 文件是一个被严重低估的信息金矿。

一个 HeapDump 文件动辄几百 MB 甚至数 GB,里面包含了 JVM 堆中所有对象的完整快照——数据库连接串、Redis 密码、API Key、加密密钥、用户会话数据……这些敏感信息就静静地躺在那里,等待被发现。

但问题是: 手动分析 HeapDump 极其痛苦。用 MAT 或 VisualVM 打开大文件卡到怀疑人生,翻找敏感信息如同大海捞针。

JDumpSpiderPlus 就是为解决这个问题而生的——自动化提取,精准命中,一行命令搞定。


工具简介

JDumpSpiderPlus 是一款开源的 Java HeapDump 敏感信息自动提取工具,基于 JDumpSpider 二次开发,集成了 HaE 规则引擎,支持 30+ 种敏感信息类型 的自动识别与提取。

核心能力一览

| 能力 | 说明 | | — | — | | 数据库凭证提取 | Spring DataSource、WebLogic、Druid、HikariCP、MongoDB | | 缓存/消息队列 | Redis(单机/集群/哨兵)、Kafka、RabbitMQ | | 搜索/注册中心 | Elasticsearch、Nacos、Consul | | 对象存储密钥 | 阿里云 OSS、腾讯云 COS、AWS S3 | | 认证信息 | Shiro Key、Cookie、Auth Token、JWT | | 配置信息 | Spring PropertySource、Java Properties、环境变量 | | 敏感数据 | 用户密码、手机号、身份证、银行卡、邮箱(HaE 规则) | | 内存马检测 | 8 种类型:Filter/Servlet/Listener/Controller/Interceptor/WebSocket/Agent/Valve | | 加密配置解密 | jasypt ENC、druid RSA、Spring Cloud {cipher}、Vault | | 会话信息 | Tomcat/Spring/Shiro Session | | 信息提取 | URL、内网 IP、文件路径 |


相比原版 JDumpSpider,Plus 版新增了什么?

原版 JDumpSpider 支持 13 个检测模块,主要覆盖基础数据源和配置提取。JDumpSpiderPlus 在此基础上新增了 19 个检测模块和 10+ 项工程能力,从一个”能用的工具”进化为一个”好用的武器”。

新增检测模块(+19)

| 新增模块 | 功能说明 | | — | — | | MemShellDetector01 | 内存马检测(8 种类型,支持 ClassLoader 分析和字段内容扫描) | | EncryptedConfigDetector01 | 加密配置识别与自动解密(jasypt/Cloud/dRuid/Vault) | | InfoExtractor01 | URL、内网 IP、文件路径批量提取 | | SessionExtractor01 | Tomcat/Spring/Shiro Session 数据提取 | | JwtKeyExtractor01 | JWT 签名密钥提取(原版 JwtKey01 仅提取 token) | | AuthThief | Auth Token / Bearer Token 提取 | | CookieThief | Cookie 信息提取 | | Elasticsearch01 | Elasticsearch 连接配置提取 | | Kafka01 | Kafka 配置提取 | | RabbitMQ01 | RabbitMQ 配置提取 | | Nacos01 | Nacos 注册中心配置提取 | | Redis03 | Redis 哨兵模式配置(原版仅支持单机和 Jedis) | | MongoDB01 | MongoDB 连接配置提取 | | PropertySource05 | 额外属性源支持 | | EnvProperty01 | Java 环境变量提取 | | HeapdumpRegexSpider | HaE 规则引擎正则扫描 | | HeapdumpRegexSpiderParallel | 多线程并行正则扫描 | | RegexSearchSpider | 自定义正则搜索(-reg 参数) | | ExportAllString | 导出堆中所有字符串(export-strings 命令) |

新增工程能力(+10)

| 能力 | 说明 | | — | — | | URL 远程下载 | -u 参数直接从 Actuator 等端点下载 HeapDump | | HTTP 代理支持 | --proxy 参数,适配内网渗透场景 | | 自定义请求头 | --header 参数,支持带认证下载 | | HaE 规则引擎 | 内置 40+ 条正则规则,覆盖手机号/身份证/银行卡/云密钥等 | | 自定义正则 | -reg 参数,命令行追加任意正则 | | 多线程并行 | 大文件扫描性能优化 | | JSON 输出 | --format json ,方便自动化处理 | | Excel 报告 | --format excel ,生成 CSV 格式报告 | | 加密配置解密 | 内置弱密码字典 + 自定义字典 + 指定密钥三种模式 | | 中文姓名校验 | 内置中文姓名验证器 |

对比总览

| 维度 | 原版 JDumpSpider | JDumpSpiderPlus | | — | — | — | | 检测模块数 | 13 | 32+ | | 内存马检测 | 无 | 8 种类型 | | 加密配置解密 | 无 | 支持 5 种加密格式 | | 远程下载 | 无 | 支持(含代理和认证头) | | 正则引擎 | 无 | HaE 集成 + 自定义正则 | | 输出格式 | text | text / json / excel | | 多线程 | 无 | 支持 | | 命令行参数 | 2 个 | 11 个 |


技术亮点

1. 内存马检测

内存马(Memory Shell)是当前高级攻击中的常见手法,传统 Webshell 查杀工具难以检测。JDumpSpiderPlus 直接从 HeapDump 层面检测以下 8 种内存马类型:

| 类型 | 检测方式 | | — | — | | Filter | 检查 ApplicationFilterConfig 中的 Filter 类 | | Servlet | 检查 StandardWrapper 中的 Servlet 类 | | Listener | 检查 StandardContext 中的 Listener 类 | | Controller | 检查 RequestMappingHandlerMapping 中的 Handler | | Interceptor | 检查 AbstractHandlerMapping 中的 Interceptor | | WebSocket | 检查 WsServerContainer 中的 Endpoint | | Agent | 检查 TransformerManager 中的 Transformer | | Valve | 检查 Pipeline 中的 Valve |

检测逻辑:

  • 类名无包名或包含随机字符
  • 类名包含 shellevilinject 等关键词
  • ClassLoader 非系统类加载器
  • 实例字段中引用 Runtime、ProcessBuilder、ScriptEngine 等危险类
  • 字符串字段中包含危险关键词(含 Base64 编码变体)

2. 加密配置自动解密

很多应用使用加密方式存储配置(数据库密码、API Key 等),手动解密繁琐且耗时。JDumpSpiderPlus 内置了多种解密能力:

支持的加密格式:

  • ENC(...) — jasypt 加密
  • {cipher} — Spring Cloud Config 加密
  • druid RSA 加密
  • Base64 编码值
  • Hex 编码值

三种解密方式:

# 方式1:内置弱密码字典自动尝试(默认行为,无需额外参数)
java -jar JDumpSpiderPlus.jar heapdump.hprof

# 方式2:指定解密密钥
java -jar JDumpSpiderPlus.jar heapdump.hprof --decrypt-key mySecretKey

# 方式3:使用自定义密码字典(每行一个密码)
java -jar JDumpSpiderPlus.jar heapdump.hprof --decrypt-dict passwords.txt

3. HaE 规则引擎集成

集成 HaE 规则引擎,在堆中字符串上运行正则匹配,自动识别:

  • 手机号、身份证号、银行卡号
  • 邮箱地址
  • 云服务密钥(AWS AKIA、阿里云 LTAI)
  • Authorization Header
  • 敏感配置字段

支持自定义规则文件:

java -jar JDumpSpiderPlus.jar heapdump.hprof --rules /path/to/custom-rules.yml

也支持命令行直接追加正则:

java -jar JDumpSpiderPlus.jar heapdump.hprof -reg "password" -reg "secret.*=.*" -reg "AKIA[0-9A-Z]{16}"

4. 多线程并行扫描

针对大文件(数百 MB ~ 数 GB)场景,采用多线程并行扫描架构,充分利用多核 CPU,显著缩短扫描时间。


使用方法

获取 HeapDump

# jmap(JDK 自带)
jmap -dump:live,format=b,file=/tmp/dumpHeap.hprof <PID>

# jcmd(JDK 自带)
jcmd <PID> GC.heap_dump /tmp/dumpHeap.hprof

# Spring Boot Actuator(远程获取)
curl -o heapdump http://target:8080/actuator/heapdump

基础用法

# 扫描本地文件
java -jar JDumpSpiderPlus.jar heapdump.hprof

# 从 URL 远程下载并扫描
java -jar JDumpSpiderPlus.jar -u http://target.com/actuator/heapdump

# 使用代理下载
java -jar JDumpSpiderPlus.jar -u http://target.com/actuator/heapdump --proxy http://127.0.0.1:8080

# 添加认证头
java -jar JDumpSpiderPlus.jar -u http://target.com/actuator/heapdump --header&nbsp;"Cookie: JSESSIONID=abc123"

输出格式

# 默认 text 格式
java -jar JDumpSpiderPlus.jar heapdump.hprof

# JSON 格式
java -jar JDumpSpiderPlus.jar heapdump.hprof --format json

# Excel 报告(CSV 格式,可直接用 Excel 打开)
java -jar JDumpSpiderPlus.jar heapdump.hprof --format excel

# 输出到文件
java -jar JDumpSpiderPlus.jar heapdump.hprof -out result.txt

完整参数速查

| 参数 | 说明 | | — | — | | <heapfile> | 本地 heapdump 文件路径 | | -u <url> | 从 URL 下载 heapdump | | --proxy <proxy> | HTTP 代理 | | --header <header> | 自定义请求头(可多次使用) | | --rules <path> | 自定义 HaE 规则 YAML 文件 | | --format <format> | 输出格式:text / json / excel | | -out <path> | 输出到文件 | | -reg <pattern> | 自定义正则搜索(可多次使用) | | --decrypt-key <key> | 指定解密密钥 | | --decrypt-dict <path> | 密码字典文件 | | export-strings | 导出堆中所有字符串 |


输出结果

扫描结果自动保存到 heapdump 文件所在目录的 results/ 文件夹:

results/
├── tool_scan.txt &nbsp; &nbsp; &nbsp;# 内置模块扫描结果
├── regex_scan.txt &nbsp; &nbsp;&nbsp;# HaE 规则匹配结果
├── report.csv &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;# Excel 格式报告
└── memshell/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 内存马检测摘要

典型使用场景

场景一:渗透测试中的信息收集

目标存在 Spring Boot Actuator 未授权访问,直接下载 HeapDump 提取数据库凭证、Redis 密码、API Key:

java -jar JDumpSpiderPlus.jar -u http://target:8080/actuator/heapdump

场景二:应急响应中的内存马排查

怀疑服务器被植入内存马,通过 HeapDump 检测:

jmap -dump:live,format=b,file=/tmp/heap.hprof <PID>
java -jar JDumpSpiderPlus.jar /tmp/heap.hprof

场景三:加密配置解密

拿到 HeapDump 后发现数据库密码是 jasypt 加密的,使用字典爆破:

java -jar JDumpSpiderPlus.jar heapdump.hprof --decrypt-dict common-passwords.txt

场景四:自定义敏感信息搜索

搜索 AWS 密钥和自定义业务关键词:

java -jar JDumpSpiderPlus.jar heapdump.hprof -reg&nbsp;"AKIA[0-9A-Z]{16}"&nbsp;-reg&nbsp;"内部系统地址.*http"

编译构建

git&nbsp;clone&nbsp;https://github.com/nu0l/JDumpSpiderPlus.git
cd&nbsp;JDumpSpiderPlus
mvn clean package -DskipTests

target/JDumpSpiderPlus-<version>-full.jar编译产物:target/JDumpSpiderPlus-<version>-full.jar

运行环境:Java 8+


版本历史

| 版本 | 主要更新 | | — | — | | v2.4.3 | 内存马检测增强:ClassLoader 分析、字段内容扫描、覆盖 TemplatesImpl/Proxy/ScriptEngine/Cipher/JNDI 等 bypass 手段 | | v2.4.2 | 优化误报率:URL -77%、IP -98%、File Path -99%,HaE 规则全面调优 | | v2.4.0 | 新增内存马检测、加密配置解密、JWT/Session 提取、自定义正则 | | v2.3 | 新增 URL 下载、代理支持、JSON 输出 | | v2.0 | 从 JDumpSpider 升级为 JDumpSpiderPlus,集成 HaE 规则引擎 |


致谢

  • JDumpSpider – 原版工具
  • HaE – 规则引擎

JDumpSpiderPlus 是一款开源工具,欢迎 Star、Issue 和 PR。



如何获取

在后台发送JDumpSpiderPlusheapdump获取下载链接


免责声明:

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

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

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

本文转载自:薛定谔的安全 iak3ec iak3ec《JDumpSpiderPlus:Java HeapDump 敏感信息提取利器》

评论:0   参与:  0