通过heapdump获取敏感信息并利用

通过heapdump获取敏感信息并利用

上一篇写了《XXL-JOB弱口令登录之后除了反弹Shell的其他思路》,这篇写关于获取到heapdump后的利用方法,实战记录,如果有不对,请各位指正。

开始正文:

e77a02e1e220241210232737

1、通过目录扫描等其他方式发现识别存在Actuator未授权,关于Actuator的路径有如下内容:

端点路径说明状态
/autoconfig展示应用程序自动配置的报告,包括启用和未启用的配置项(已废弃)在 Spring Boot 2.x 版本中已废弃
/beans显示应用上下文中所有的 Spring Beans,包括其依赖关系和作用域。默认启用
/caches可查看和管理应用程序中的缓存信息。默认启用,在更新版本中存在
/conditions提供有关自动配置的条件评估报告,类似 /autoconfig
,更详细
默认启用
/configprops展示所有的 @ConfigurationProperties
配置属性 bean 及其值
默认启用
/env显示所有的环境属性,包括系统属性、环境变量和应用程序属性。默认启用
/flyway提供 Flyway 数据库迁移信息。如果应用使用 Flyway,则存在
/health显示应用程序的健康状态,包括数据库连接和服务状态。默认启用,常用于健康检查和监控
/info显示应用程序的自定义信息,比如版本号和描述。默认启用
/integrationgraph显示 Spring Integration 应用程序的图形,描述消息流。如果使用 Spring Integration,则存在
/loggers查看和配置日志记录级别,并动态更改 Logger 级别。默认启用
/liquibase提供 Liquibase 数据库迁移信息。如果应用使用 Liquibase,则存在
/metrics提供应用程序的各种度量指标,包括内存、CPU 使用情况等。默认启用
/mappings列出所有的 @RequestMapping
路由信息,展示所有的请求路径映射。
默认启用
/pid显示应用程序进程的 PID(进程标识符)。需要通过配置文件启用
/prometheus提供符合 Prometheus 格式的指标信息,用于与 Prometheus 监控系统集成。如果配置了 Prometheus 支持,则存在
/sessions提供 Spring Session 支持时列出的 HTTP Session 信息。使用 Spring Session 时存在
/shutdown允许优雅地关闭应用程序(默认情况下是禁用的,需要显式启用)。默认禁用,需通过配置启用
/threaddump提供应用程序的线程转储信息,帮助分析应用的线程状态默认启用
/httptrace提供最近 HTTP 请求的跟踪信息,详细展示请求和响应的元数据信息。需要显式启用,并需要 spring-boot-starter-actuator
依赖

afab767cc720241210232746

2、发现存在actuator未授权后,直接访问/actuator/heapdump进行下载,直接下载到本地:

bba40a5d2a20241210232736

18f4a320c520241210232736

一、如何分析信息:

3、下载到本地后使用工具进行分析,常用工具有:

分析heapdump的时候使用多个工具可能会有更多收获,实际测试过程中有两个工具互相没发现的关键内容存在,所以要多工具结合

  • 工具一:IDEA内存分析
    • 需要一定专业水平

0f5a952a7620241210232739

  • 工具二:JDumpSpider
    • 可以直接分类输出格式化的内容,但是可能会漏掉很多东西
    • 使用命令:java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump

93c76ff54720241210232742

  • 工具三:heapdump_tool
    • 作者好像项目关了,没有资源可以全网搜索,或者联系我获取
    • 按关键字进行检索,需要仔细分析,比较费时,但很全
    • 使用命令:java -jar heapdump_tool.jar heapdump
    • 查询的关键字输出的内容会自动保存到文件中,可通过文件进行查看

be040e3e8720241210232753

二、获取哪些信息:

常用关键词:

access
secert
key
id
ding
wx
username
password
conf
rds
mysql
redis
……
或者查看有哪些关键类再进行查看

4、分析获取到AK,使用cf、云资产管理工具等等进行获取oss、rds、ecs权限:

  • 工具一:cf
    • 遍历,通过cf -h获取帮助使用,阿里云的AK有RDS权限,则可以接管数据库

7a3c8c9fe520241210232757

6108dc711e20241210232752

1494b638c620241210232756

  • 工具二:云资产管理工具

b3a73a1b6f20241210233149

df29ef20e620241210232816

  • 工具三:IDEA插件(直接插件搜索Alibaba)

a33cc3d59520241210232816

  • 工具四:OSS浏览器
    • 如果只有OSS权限,可以通过OSS浏览器查看

0e319adff820241210232753

三、获取到敏感信息后的利用方式:

5、获取钉钉配置:

  • 获取钉钉key可以直接获取内部人员信息等等,获取钉钉机器人配置后如果没有限定IP访问,则可以直接假冒机器人发送信息

e3a8ab266020241210232815

6、获取到数据库配置信息:

  • 直接使用数据库连接工具连接,如果数据库不对公网开放则需要进入内网后进行连接,可先收集密码
  • 当使用Navicat通过代理连接内网时,可通过Proxifier将Navicat进行代理

63877ca4df20241210232818

通过heapdump获取敏感信息并利用-棉花糖会员站
通过heapdump获取敏感信息并利用
此内容为付费阅读,请付费后查看
9999积分
付费阅读
已售 15
© 版权声明
THE END
喜欢就支持一下吧
点赞36 分享
评论 共1条

请登录后发表评论

    请登录后查看评论内容