spring actuator未授权之heapdump自动化利用【JDumpSpider】

前言

在日常得渗透测试工作中,经常遇到spring actuator未授权漏洞,而且在实际过程中也常常会下载到heapdump这个文件。了解过这个文件的人知道,Heap Dump也叫堆转储文件,是一个Java进程在某个时间点上的内存快照。Heap Dump是有着多种类型的。不过总体上heap dump在触发快照的时候都保存了java对象和类的信息。通常在写heap dump文件前会触发一次FullGC,所以heap dump文件中保存的是FullGC后留下的对象信息。 我们可以通过Heap Dump做哪些事情?

一般在Heap Dump文件中可以获取到(这仍然取决于heap dump文件的类型)如下信息:

    对象信息:类、成员变量、直接量以及引用值; 类信息:类加载器、名称、超类、静态成员; Garbage Collections Roots:JVM可达的对象; 线程栈以及本地变量:获取快照时的线程栈信息,以及局部变量的详细信息。 一般在渗透测试中我们会通过Eclipse MemoryAnalyzer工具对泄露的heapdump文件进行分析,查询加载到内存中的明文密码信息,比如redis密码,mysql数据库账号和密码。但是这样可能导致获取的敏感信息不全面,甚至无法获取到敏感信息,今天推荐一款自动化分析heapdumo的工具 - JDumpSpider。

工具介绍

工具简介

HeapDump敏感信息提取工具 项目地址:https://github.com/whwlsfb/JDumpSpider

支持范围

该工具暂支持提取以下类型的敏感信息

数据源
    SpringDataSourceProperties
    WeblogicDataSourceConnectionPoolConfig
    MongoClient
    AliDruidDataSourceWrapper
配置文件信息
    MapPropertySource
    OriginTrackedMapPropertySource
    MutablePropertySource
    ConsulPropertySource
    OSS(模糊搜索)
Redis配置
    RedisStandaloneConfiguration
    JedisClient
ShiroKey
    CookieRememberMeManager

工具使用

本工具需要使用Oracle JDK 1.8版本(更高版本将导致异常)。

$ java -jar . argetJDumpSpider-1.0-SNAPSHOT-full.jar Missing required parameter: ‘’ Usage: JDumpSpider [-hV] Extract sensitive information from heapdump file. Heap file path. -h, --help Show this help message and exit. -V, --version Print version information and exit.

实战记录

java -jar JDumpSpider-1.0-SNAPSHOT-full.jar heapdump

结语

经验分享 程序员 微信小程序 职场和发展