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

admin 2022年2月14日18:11:41评论139 views字数 2072阅读6分54秒阅读模式

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

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


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

一、前言

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环境下的渗透总结

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


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

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


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

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


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

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


3、env端点攻击

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


3.1、获取脱敏敏感信息

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

如下为某企业微信api key,微信有公开的api文档,通过这些可以获取目标大量人员信息,甚至是加入到目标的企业微信中。

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


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

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


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


3.2、env端点下的RCE

历史RCEGitHub项目中已经提及七七八八,各位师傅可以下载项目中的靶场环境进行复现,需要注意的一点就是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的状态。

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


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

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


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

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

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


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

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


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

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


访问index路由。

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


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

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


再次进行刷新配置。

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


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

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


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


END

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

雁行安全团队

微信号 : YX_Security

敬请关注

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

原文始发于微信公众号(四叶草安全):技术分享|Spring Boot环境下的渗透总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月14日18:11:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   技术分享|Spring Boot环境下的渗透总结http://cn-sec.com/archives/777608.html

发表评论

匿名网友 填写信息