【云安全】云服务-云服务器ECS-安全问题分析

ECS概念

弹性计算服务(Elastic Compute Service, ECS)是一种云计算基础设施服务。它可以轻松地创建和管理虚拟服务器,为用户提供弹性的计算能力。

弹性计算服务的主要特点包括:

  1. 弹性伸缩:用户可以根据实际需求自动或手动调整计算能力。可以根据业务负载的变化,动态地增加或减少虚拟服务器的数量,以确保应用程序始终具有足够的计算资源。

  2. 多种实例类型:弹性计算服务提供多种实例类型,包括通用型、计算型、内存型和存储型等,以满足不同应用场景的需求。用户可以根据应用程序的性能和存储需求选择合适的实例类型。

  3. 快速部署:用户可以通过简单的配置步骤快速部署虚拟服务器。云服务厂商提供了丰富的镜像和应用程序模板,用户可以选择适合自己需求的模板进行部署,大大减少了部署时间和复杂性。

  4. 安全可靠:弹性计算服务提供多层次的安全措施,包括数据加密、身份验证和访问控制等。此外,云服务厂商还提供了自动备份和容灾机制,以确保数据的安全性和可靠性。

  5. 弹性网络:弹性计算服务与云服务厂商的弹性 IP 和虚拟私有网络(VPC)等网络服务紧密集成,为用户提供弹性的网络配置选项。用户可以根据自己的需求灵活地创建和管理网络资源。

弹性计算服务广泛应用于网站托管、应用程序开发、大数据分析、企业应用部署等各种场景,为用户提供强大的计算能力和灵活的资源管理功能。

ECS不同叫法

各大云服务厂商关于ECS(弹性计算服务)的不同叫法:

  1. 亚马逊AWS(Amazon Web Services):EC2(Elastic Compute Cloud)

  2. 微软Azure:VM(Virtual Machines)

  3. 谷歌云(Google Cloud):GCE(Google Compute Engine)

  4. 阿里云(Alibaba Cloud):ECS(Elastic Compute Service)

  5. 腾讯云(Tencent Cloud):CVM(Cloud Virtual Machine)

  6. 华为云(Huawei Cloud):ECS(Elastic Cloud Server)

  7. 百度云(Baidu Cloud):BCS(Baidu Cloud Server)

ECS购买

ECS的购买也可称之为“创建实例”,这里以阿里云ECS举例

选择自身需要的配置

下单后,返回控制台,查看实例,这样就购买了一台ECS(创建了一个实例)

ECS安全问题

ECS主要安全问题:攻击者通过ECS实例上的相关权限,如SSRF漏洞,获取到实例元数据中的RAM角色的STS临时凭证信息,进而实现横向移动。

实例元数据(metadata)

ECS实例元数据是指实例ID、VPC信息、网卡信息等实例属性信息,支持在ECS实例内部通过访问元数据服务(Metadata Service)获取。通过该获取方式,您无需登录控制台或调用API,在实例内部即可访问实例信息,可以更便捷、安全地配置或管理正在运行的实例或实例上的程序。例如,运行在ECS实例中的应用程序,可以通过访问实例元数据服务获取绑定到实例上的RAM角色身份凭证(STS),以在不硬编码凭证的情况下访问授权资源(如OSS、KMS、其他ECS等)。

获取方式

不同云厂商提供不同的方式来获取实例元数据。以下是一些常见云厂商的实例元数据获取地址:

阿里云元数据地址:http://100.100.100.200/

腾讯云元数据地址:http://metadata.tencentyun.com/

华为云元数据地址:http://169.254.169.254/

亚马云元数据地址:http://169.254.169.254/

微软云元数据地址:http://169.254.169.254/

谷歌云元数据地址:http://metadata.google.internal/

阿里云服务器获取实例元数据示例

分别获取主机名称、mac地址、ipv4地址

访问控制RAM

RAM概念

阿里云RAM(Resource Access Management)是一种云身份和访问管理服务,它允许用户集中管理云资源的访问权限。通过RAM,用户可以创建和管理多个用户账号,并为这些账号分配不同的权限,从而实现对云资源的精细化访问控制。

阿里云RAM提供了以下功能:

  1. 用户管理:用户可以创建和管理多个子账号,并为每个子账号分配独立的访问密钥和权限。
  2. 权限管理:用户可以为每个子账号分配不同的权限,包括对云产品的访问、操作和管理权限。
  3. 身份验证:RAM支持多种身份验证方式,包括密码、证书和多因素认证,确保只有授权的用户可以访问云资源。
  4. 访问控制:用户可以通过RAM策略对云资源进行细粒度的访问控制,限制用户的权限范围,提高数据安全性。
  5. 资源共享:用户可以将云资源共享给其他子账号或外部账号,并设置访问权限和限制。

官方文档:什么是访问控制(RAM)_访问控制(RAM)-阿里云帮助中心

RAM角色

官方文档:什么是RAM角色_访问控制(RAM)-阿里云帮助中心

阿里云RAM角色(RAM Role)是阿里云RAM提供的一种身份类型,用于为云资源授权给其他阿里云实体(如云账号、用户、组等)提供访问权限。通过RAM角色,可以实现资源之间的信任关系,方便跨账号、跨地域或者跨云服务的资源访问和管理。

创建角色

为角色授权

将角色授予给实例

将角色授予给实例后,元数据会发生如下变化

 获取STS临时凭证信息

模拟攻击

受害者进行了如下操作:

1、RAM新建了某个角色,例如banana,并为banana授予了一定的权限

2、受害者的云服务器进行了授予角色-banana

攻击者进行如下操作:

拿到了受害者云服务器上的SSRF漏洞(只要有相关权限即可,这里以SSRF举例)

查询IP,发现是阿里云主机

于是尝试通过SSRF获取实例元数据,发现存在ram

继续探测,找到角色名,构造完整获取路径

输入完整路径,拿到STS临时凭证!

简单手工利用一下,尝试使用OSS客户端连接受害者存储桶

横向移动利用工具

这里使用CF演示,该工具作者teamssix团队已将其下架,但是可通过ONE-FOX集成工具箱使用

通过cf config填入获取的临时凭证信息

接着cf alibaba ls一键列出当前访问凭证的云服务资源

OSS资源

ECS资源

通过 cf alibaba console 一键监管控制台

但是输入密码后会有二次验证

支持反弹shell

 攻击者主机成功接受反弹 

当然在CF工具利用过程,受害者手机会收到告警短信!

并且,阿里云安全中心已将CF工具加入规则库

 

结尾

写这篇文章的初衷是记录和分享我的学习心得,但技术的发展日新月异,如果各位大佬有不同的想法或建议,欢迎指正,也期待与您一起探讨交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值