第六章-实用渗透技巧-1:针对云环境的渗透

针对云环境的渗透

1.云术语概述

1.1.RDS

关系数据库服务(Relational Database Service,RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务

RDS 采用即开即用的方式,兼容 MySQL、SQL Server 两种关系数据库,并提供数据库在线扩容、备份回滚、性能检测及分析等功能

RDS 与云服务器搭配使用,可使 I/O 性能倍增,内网互通,避免网络瓶颈

1.2.OSS

对象存储服务(Object Storage Service,OSS)是阿里云对外提供的海量、安全和高可靠的云存储服务

1.3.ECS

云服务器(Elastic Compute Service,ECS)与传统数据中心机房的服务器相似,云服务器部署在云端,由云服务商直接提供底层硬件环境

1.4.安全组

一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域

同一安全组内的 ECS 实例之间默认内网互通

2.云渗透思路

云渗透,即 SaaS 或 PaaS 渗透

由于服务器上云或其部分功能模块被部署在云上,站点也可能对比云服务器进行请求,所以除了常规的 Web 漏洞,新技术也会带来新的风险(如 Access Key 泄露利用、配置不当利用等问题)

2.1.Access Key

Access Key 由云服务商颁发给云服务器的所有者,Access Key 即所有者身份的证明

Access Key 通常分为 Access Key ID 和 Access Key Secret 两个部分

当调用云服务器的某些 API 接口、某些服务或某些功能点时,可能需要使用 Access Key 对身份进行认证。所以,如果能获取对应云服务器的 Access Key,就可以通过对应的 Access Key 完成身份认证

每个云服务商为 Access Key 分配的权限不同,Access Key 泄露可能造成的危害也不同。例如:阿里云为云服务器提供的 Access Key 是 root 用户;AWS 为云服务器提供的 Access Key 有限制,有些则是 S3 或 EC2,但并不一定都拥有上传或修改的权限

对于常规渗透泄露出来的 Access Key,可以通过特殊手段利用其获取目标镜像,还原 VMware 虚拟机或通过 DiskGinus 查看文件

 

在进行云环境渗透时,攻击者将更关注是否存在敏感信息、Access Key 泄露的情况

  • 进行资产信息收集(包括子域名查找、端口扫描、目录扫描、指纹识别等)
  • 在查找过程中留意 Access Key 等密钥,可能会在 APK 文件、GitHub 仓库、Web 页面、API 接口、JavaScript 文件、常规配置文件中出现
  • 也可使用 FOFA、ZoomEye、Hunter 等网络空间搜索引擎对 Access Key 等关键词进行查找
  • AWS 的云产品可通过 DNS 缓存、buckets.grayhatwarfare 查找

当测试者发现 Access Key 后,通过行云管家、OSS Browser、API Explorer、AWS CLI 等云服务器管理工具进行连接

2.2.云渗透实际运用

2.2.1.用户 Access Key 泄露的利用

通常,在以下几种情况下,可能存在 Access Key 泄露:

  • 在 APK 文件中存放 Access Key;
  • 前端代码泄露,例如在 JavaScript 中硬编码 Key 导致的泄露;
  • GitHub 查找目标关键字发现 Access Key 与 Access Key Secret;
  • 在拥有 Webshell 低权限的情况下,搜集阿里云 Access Key 并利用;
  • 通过 Web 注入的方式获取 Access Key。

2.2.2.Spring 敏感信息泄露(例)

收集信息时,发现目标对应的三级子域名存在 spring 的接口未授权访问,在 /actuator/env 下发现多个密码,且其中存在 Access Key ,尝试调用 heapdump 接口,下载内存,提取密文

下载成功后,使用 MemoryAnalyzer 搜索转存下来的内存文件,获取阿里云的 Access Key 密文

在 dump 的内存文件中还获取了一些内网的 Redis 和 MySQL 明文密码

posted @ 2024-04-06 23:09  落落的学习  阅读(68)  评论(0编辑  收藏  举报