0x00 Introduction
本篇章中将说明云服务器相关的概念,以及其存在的安全风险。个人才疏学浅,有未阐述清楚或遗漏的地方,还请谅解,相关的内容可自行搜索。注:以下所有的内容都是以阿里云为主。
云服务器的官方介绍:云服务器 ECS(Elastic Compute Service)是一种安全可靠、弹性可伸缩的云计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。云服务器 ECS 免去采购 IT 硬件的前期准备,就像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。简单理解就是远程的一台服务器,这台服务器省略了很多搭建前的工作(比如:硬件的组装、系统和软件的安装、配置和维护等),除此之外,还可以根据需要,随时变更服务器配置等。
云服务器通常包含:实例、镜像、块存储、安全组、快照、网络等功能组件。
-
实例:是云上的虚拟服务器,包含 vCPU、内存、操作系统、网络和磁盘等基本组件 -
镜像:是创建实例的基础模板,包含启动和运行实例所需的操作系统和预配置数据 -
块存储:是阿里云为云服务器提供的块设备产品,可当作物理硬盘来使用 -
安全组:是一种虚拟防火墙,能够控制实例的出入站流量 -
快照:是指云盘数据在某个时刻的完整拷贝,是一种重要的数据容灾手段 -
网络:阿里云支持多种网络服务,可根据实际需要来进行选择
1. OSS Browser
OSS Browser 是阿里云官方提供的一款图形化桌面应用程序,专门用于管理和操作阿里云对象存储服务(OSS)中的文件和数据。使用阿里云账号的 AK/SK 进行登录,即可开始管理 OSS 资源。下载地址:https://help.aliyun.com/zh/oss/developer-reference/ossbrowser-2-0-overview/
登录后,即可对存储桶进行操作。
2. 元数据
元数据(Metadata)是指描述和定义其他数据的数据,元数据通常包括资源的创建时间、配置详情、所有者信息、网络设置、存储位置以及安全策略等。简单来说,元数据就是关于云服务器实例的描述信息。
ECS 实例元数据是指实例 ID、VPC 信息、网卡信息等实例属性信息,支持在 ECS 实例内部通过访问元数据服务(Metadata Service)获取。详细内容可以查看官网的说明文档,文档地址:https://help.aliyun.com/zh/ecs/user-guide/view-instance-metadata
# 将链接中的 XXX 替换为下述内容curl http://100.100.100.200/latest/meta-data/XXX -w 'n'instance/instance-name # 实例名称mac # 实例 MAC 地址instance-id # 实例 IDowner-account-id # 实例拥有者的阿里云账号 IDprivate-ipv4 # 实例主网卡的私网 IPv4 地址public-ipv4 # 实例主网卡的公网 IPv4 地址public-keys/0/openssh-key # 公有密钥ram/security-credentials/ecs # 获取凭证信息
0x01 Usage
这里选择“快速购买”,如果有其他更精细化的需求(如:更高的配置、不同类型的镜像、快照等),可以选“自定义购买”。随后,系统选择“Ubuntu”、预装应用“Docker”、“按量付费”,最后“确认下单”即可。注:按量付费需要账户余额高于 100 元。
-
ECS 购买链接:https://www.aliyun.com/product/ecs -
说明文档:https://help.aliyun.com/zh/ecs/
创建完后,可在“实例”处查看。
在“更多操作”中“重置实例密码”,重置后即可进行 SSH 登录。
0x02 Vulnerability
对于云服务器的渗透,除了常规的:端口扫描、目录扫描、指纹识别、漏洞探测、漏洞利用等外,还存在其特有的 AK/SK 泄漏、元数据利用等问题。如下主要介绍云特用的漏洞,且主要以阿里云为主,靶场还是用 TerraformGoat 搭建,搭建教程可参考《云安全(二):对象存储》,靶场地址:https://github.com/HXSecurity/TerraformGoat
1. SSRF+Meta Data
虽然云厂商元数据的链接是固定的,但获取元数据的链接只能在实例内部访问,外部无法直接访问元数据。而如果实例上存在 SSRF 漏洞,那么就可以利用该漏洞来获取实例的元数据。
如果安装时报错 Zone.NotOnSale
,这表示指定的可用区在当前地域中没有可用的资源或服务。
将文件 main.tf
中的 cn-beijing-h
修改为 cn-beijing-g
即可。
结合 dnslog 平台可以知道,目标存在 SSRF 漏洞。
利用 SSRF 获取目标实例的元数据,拿到 AK/SK。
2. AK/SK 利用
2.1 泄漏
当然,除了上述的 SSRF 外,还可以通过其他漏洞(如:未授权访问、文件读取、SQL 注入等)来挖掘目标的 AK/SK,甚至可以先拿到目标 Shell 后,通过实例本身来获取其元数据,从而拿到 AK/SK 等敏感信息。这些需要根据实际情况来选择。各种 AK/SK 特征的正则表达式:https://wiki.teamssix.com/CloudService/more/
常见 AK/SK 泄漏的地方包括:
-
APK 或小程序(反编译后的文件中) -
Github 信息泄漏 -
源码信息泄漏,包括:JS 代码、网站备份文件、配置文件、 .git
文件泄漏等 -
实例元数据 -
数据库
2.2 利用
在获取目标的 AK/SK 后,可以通过 CF 进行后渗透。输入命令 cf config
来配置 AK/SK 等信息。
配置完成后,可以通过 CF 来便捷的执行相关的操作。详细的使用说明可参考:https://wiki.teamssix.com/cf/
# 列出目标所有 ECScf.exe alibaba ecs ls
创建后门用户。命令:cf.exe alibaba console
目前阿里云已开启双因子验证,无法直接使用后门用户登录。后续如有好的利用手法,会在之后的文章中阐述,这里不做过多的说明。
删除后门用户。命令:cf.exe alibaba console cancel
0x03 Reference
https://help.aliyun.com/zh/ecs/
http://cloudsec.huoxian.cn/docs/articles
https://wiki.teamssix.com/cloudservice/iam/aliyun-console-takeover.html
原文始发于微信公众号(JJ1ng):云安全(三):弹性计算
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论