JDumpSpiderPlus:JavaHeapDump敏感信息提取利器"

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

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

检测逻辑:

  • 类名无包名或包含随机字符
  • 类名包含 shell、evil、inject 等关键词
  • 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 \"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      # 内置模块扫描结果
├── regex_scan.txt     # HaE 规则匹配结果
├── report.csv         # Excel 格式报告
└── memshell/          # 内存马检测摘要

典型使用场景

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

目标存在 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 \"AKIA[0-9A-Z]{16}\" -reg \"内部系统地址.*http\"

编译构建

git clone https://github.com/nu0l/JDumpSpiderPlus.git
cd 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。



如何获取

在后台发送JDumpSpiderPlus或heapdump获取下载链接


JDumpSpiderPlus:JavaHeapDump敏感信息提取利器" 网络安全文章

JDumpSpiderPlus:JavaHeapDump敏感信息提取利器"

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

Ghost-Sender漏洞使得ExchangeOnline中的发件人欺骗成为可能"

微软ExchangeOnline中存在名为Ghost-Sender的配置漏洞,允许攻击者绕过SPF、DKIM和DMARC验证,伪造任意发件人向目标租户内收件人发送邮件。该漏洞利用混合模式下外部MX记录导致的内置过滤绕过,微软将其定性为`已知架构限制`而非产品漏洞。建议通过部署特定连接器或创建邮件流规则进行缓解,目前修复责任由管理员承担。
CVE复现|CVE-2026-34197漏洞复现" 网络安全文章

CVE复现|CVE-2026-34197漏洞复现"

本文详细复现了ApacheActiveMQCVE-2026-34197远程代码执行漏洞,该漏洞影响5.19.4之前版本及6.0.0-6.2.2版本。攻击者通过构造包含恶意SpringXML配置的vm://传输URL,结合Jolokia接口实现认证后RCE。文档提供了完整的Docker环境搭建、POC.xml文件编写、BurpSuite攻击配置及结果验证步骤,成功演示了命令执行过程。
Redis严重漏洞可能允许攻击者执行代码并劫持服务器" 网络安全文章

Redis严重漏洞可能允许攻击者执行代码并劫持服务器"

Redis严重漏洞CVE-2026-23631(DarkReplica)利用复制子系统中的释放后使用(UAF)条件,可使经身份验证的攻击者通过滥用slaveof命令、操纵同步过程及触发Lua函数引擎中的竞态条件,最终实现远程代码执行并完全控制服务器。Redis官方已于2026年5月5日发布补丁修复,建议受影响组织立即更新补丁,并限制复制配置、关闭不必要的Lua功能以降低风险。
评论:0   参与:  0