安全矩阵

 找回密码
 立即注册
搜索
查看: 2584|回复: 0

技术分享|Spring Boot环境下的渗透总结

[复制链接]

141

主题

153

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2022-2-15 14:22:29 | 显示全部楼层 |阅读模式
技术分享|Spring Boot环境下的渗透总结[url=]四叶草安全[/url] 2022-02-14 17:10

四叶草安全旗下雁行安全团队多年协助客户实施信息安全服务,已总结成为一套科学的、规范的信息安全服务实践方法。团队结合工作中积累的大量项目经验,将各类技术问题总结撰文,发布至公众号“雁行安全团队”,以供技术交流。今天就一起来学习学习干货吧~


一、前言
Spring Boot现如今可以说是java开发的一个入门框架,深受各个公司青睐,现有java站点Spring Boot还是有一定比例的,所以说还是有必要对Spring Boot渗透有一定了解。

二、攻击思路
1、总体分析
对于Spring Boot框架,常见的攻击思路主要是监控端点以及Swagger-UI接口的一些利用,已有的文章算是比较多了,这里给一个GitHub的地址:https://github.com/LandGrey/SpringBootVulExploit,其中对于漏洞的介绍算是比较详细,所以在这里主要介绍一些经验之谈以及一些新东西。

2、版本
对于Spring Boot框架识别,大部分师傅可能已经了解,这里稍微提一下,可以根据图中的两个特征或者cookie中的Spring Boot标识等确定目标站点是否为Spring Boot。


Spring Boot大版本可以分为1.x和2.x,通过暴露的监控端点可以区分其版本。1.x版本在监控端点未授权的情况下,默认是监控端点是全部打开的,而在2.x版本,可能是官方为了安全着想,默认仅开启了几个无伤大雅的端点。

下图为Spring Boot1.x启动时开启的监控端点。


下图为Spring Boot2.x启动时开启的监控端点。


只有当Endpoint. Shutdown. Enabled属性设置为true时才会暴露出其他敏感端点。


3、env端点攻击
env端点是在渗透时候比较重要的一个端点,一些历史RCE漏洞基本都需要依赖该端点POST数据给服务器,并且该端点还会暴露系统一些比较敏感的信息。

3.1、获取脱敏敏感信息
该端点对敏感信息会进行脱敏处理,对于获取脱敏敏感信息,主要分为远程请求VPS和heapdump内存中查找。我建议从内存中查找,这样可以避免VPS地址暴露。其次敏感信息不局限于数据库密码等,还有可能存在邮箱账号,企业微信api key,微信小程序api key等,这些都是在项目中确切获取到过的。
如下为某企业微信api key,微信有公开的api文档,通过这些可以获取目标大量人员信息,甚至是加入到目标的企业微信中。


如下为某小程序微信api key,使用官方api查看该小程序存在大量用户,拥有该小程序的某些控制权限危害还是比较大的。


对于获取到的数据库连接信息都是内网的,不要认为没有用处,密码和端口还是有一定作用,对于非随机的密码,可以在目标所属ip段进行碰撞或者组合密码规则获取数据库权限也是有可能的。微信api key、邮箱账号等权限都是重要信息,可以更加贴近目标,对于接下来的攻击做铺垫。

3.2、env端点下的RCE
历史RCE在GitHub项目中已经提及七七八八,各位师傅可以下载项目中的靶场环境进行复现,需要注意的一点就是1.x和2.x中提交数据时的Content-Type分别为application/x-www-form-urlencoded和application/json,否则会提交数据失败。

4、httptrace端点
httptrace端点可以获取当前web访问的请求信息,可能找到未销毁的管理员cookie信息,在这里建议判断到一个web为Spring Boot开发时候不要扫描目录,别问我是怎么知道的(/(ㄒoㄒ)/~~,因为这个端点的记录是有上限的,有一次扫描目录后发现所有的记录都是我扫描的记录,可能把有些有用的东西给覆盖了)。

5、Gateway端点
Gateway端点的利用主要是SSRF,现有文章可能比较少,这边做一个复现。当Gateway端点存在未授权时,直接访问Gateway是一个404的状态。



访问actuator/Gateway/routes路由,可以看到系统的所有接口信息。


我们可以为该接口添加路由,比如添加个index路由,将路由地址设置为百度,状态回显201则路由创建成功。



访问/actuator/Gateway/refresh刷新配置。


刷新成功后我们可以再次请求actuator/Gateway/routes看到index路由被添加。


访问index路由。


当然我们也可以删除掉路由,delete /actuator/Gateway/routes/index接口。


再次进行刷新配置。


查看路由,发现index路由已经不在了。


对于Gateway端点的利用,很多师傅可能脑中会有很多自己的攻击思路,比如钓鱼,如果一个目标域名的站点存在漏洞,那么该钓鱼的可信程度会大大增加。SSRF基于伪协议的利用暂未实现成功。

END
今天的分享就到这里啦~如果您想了解更多攻防、渗透技术,也可以关注“雁行安全团队”公众号。
雁行安全团队
微信号 : YX_Security
敬请关注

喜欢此内容的人还喜欢
求你别自己瞎写工具类了,Spring自带的这些他不香麽?
Hollis
不喜欢
不看的原因
确定

           
  • 内容质量低
           

  •        
  • 不看此公众号
转存失败重新上传取消
微信扫一扫
关注该公众号




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-5-17 20:19 , Processed in 0.016122 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表