✎ 阅读须知
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
更新时间:2022.07.20
说明
前段时间很多师傅都发了这个漏洞,其他师傅已经写的很好了,所以在这里主要是看下该漏洞环境是如何搭建的。
1. 漏洞介绍
Spring Boot Actuator
模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP
跟踪等,帮助监控和管理Spring Boot
应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。
来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
Actuator
是Spring Boot
提供的应用系统监控的开源框架。在攻防场景里经常会遇到Actuator
配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heapdump
文件,从而可进一步获取敏感信息。
来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
2. 漏洞环境搭建
搭建环境:windows10
java1.8
可以直接按照命令进行操作,但是在环境搭建中,可能会遇到一定的问题:
git clone https://github.com/callicoder/spring-boot-actuator-demo.git
cd spring-boot-actuator-demo-master
mvn package
java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar
mvn
的安装,可以百度下,比较容易。
执行mvn package
此时出现报错:
因为我们使用的没有IDE
,所以在这可以用这个方法:
https://blog.csdn.net/qq_39323945/article/details/125110368
其他的方法可能不是很合适。继续编译,等待一会之后,编译成功:
然后启动环境:
代码语言:javascript复制java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar
访问当前的ip信息:http://10.211.55.5:8080/
此时环境搭建完成。
3. 漏洞利用
3.1 漏洞发现
一般来说,这种可以通过扫描工具发现漏洞,在这里可以用fscan
来试试:
./fscan_darwin -h 10.211.55.5
在这里可以发现有两个漏洞:
代码语言:javascript复制[ ] http://10.211.55.5:8080 poc-yaml-springboot-env-unauth spring2
[ ] http://10.211.55.5:8080 poc-yaml-spring-actuator-heapdump-file
3.2 利用方法
来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
Actuator
存在两个版本
1.x版本
代码语言:javascript复制/configprops # 显示所有@ConfigurationProperties
/env # 公开 Spring 的ConfigurableEnvironment
/health # 显示应用程序运行状况信息
/httptrace # 显示 HTTP 跟踪信息
/metrics # 显示当前应用程序的监控指标信息。
/mappings # 显示所有@RequestMapping路径的整理列表
/threaddump # 线程转储
/heapdump # 堆转储
/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法
2.x版本
代码语言:javascript复制/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的替代方法
3.2 springboot-env-unauth
公开 Spring
的ConfigurableEnvironment
http://10.211.55.5:8080/actuator/env
代码语言:javascript复制http://10.211.55.5:8080/actuator/configprops
2.3 spring-actuator-heapdump
其实在实战中,最重要的就是heapdump
文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息。
http://10.211.55.5:8080/actuator/heapdump
该文件可以直接下载到本地来,使用专业工具进行解密;
专业工具地址:
代码语言:javascript复制https://github.com/wyzxxz/heapdump_tool
使用方法:java -jar heapdump_tool.jar heapdump
image.png
在这里选择1
,然后搜索关键字:
image.png
当然,在这个环境中,暂时没有发现什么敏感信息,但是在实战里面,有概率是可以发现敏感数据的:
image.png
4. 总结
关于其他的工具来获取明文信息的,可以参考以下链接: https://mp.weixin.qq.com/s/JKq4WxFKwh7IDIAqTKcTHw