IRF-SpringBoot-Actuator未授权


I

这是IRF系列的第一篇。何为IRF,IRF是Enomothem于2023年1月31日提出的漏洞管理信息方法,IRF分别为Information、Recurrence和Fix plan

I: 漏洞的基本信息、物体Object(什么应用)、时间Time(可选)、空间Space(版本范围,受影响范围)、编号(CVE等等)

R: 漏洞复现方法、具备的条件

F: 漏洞修复计划。

基本信息

Springboot Actuator未授权访问。Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计。

漏洞分析:在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息,从而导致信息泄露甚至服务器被接管的事件发生。默认配置会出现接口未授权访问,部分接口会泄露网站流量信息和内存信息等,使用Jolokia库特性甚至可以远程执行任意代码,获取服务器权限。

OTS

  • Spring Boot

R

分析

NULL

复现

Actuator 存在两个版本

v1

/configprops # 显示所有@ConfigurationProperties
/env # 公开 Spring 的ConfigurableEnvironment
/health # 显示应用程序运行状况信息
/httptrace # 显示 HTTP 跟踪信息
/metrics # 显示当前应用程序的监控指标信息。
/mappings # 显示所有@RequestMapping路径的整理列表
/threaddump # 线程转储

/heapdump # 堆转储
/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法

v2

/actuator/configprops # 显示所有@ConfigurationProperties
/actuator/env # 公开 Spring 的ConfigurableEnvironment
/actuator/health # 显示应用程序运行状况信息
/actuator/httptrace # 显示 HTTP 跟踪信息
/actuator/metrics # 显示当前应用程序的监控指标信息。
/actuator/mappings # 显示所有@RequestMapping路径的整理列表
/actuator/threaddump # 线程转储
/actuator/heapdump # 堆转储
/actuator/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法

其实在实战中,最重要的就是heapdump文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息

heapdump使用工具解密,工具如下

https://github.com/wyzxxz/heapdump_tool

使用方法:

java -jar heapdump_tool.jar heapdump
然后选择1,搜索关键字,如pass,access

F

1.禁用所有接口,将配置改成:endpoints.enabled = false

2.引入spring-boot-starter-security

# 依赖

org.springframework.boot
spring-boot-starter-security

3.开启security功能,配置访问权限验证,类似配置如下:

management.port=8099
management.security.enabled=true
security.user.name=xxxxx
security.user.password=xxxxx

文章作者: Enomothem
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Enomothem !
  目录