【云安全】云服务安全攻防
一、云服务安全事件
1、CVE-2021-44228:
AWS Log4Shell热补丁漏洞,用来进行容器逃逸和权限提升
2、CVE-2022-30137:
Microsoft Azure Service Fabic权限提升漏洞,允许攻击者在容器内提升权限至主机节点root权限
FabricScape: Escaping Service Fabric and Taking Over the Cluster
3、Google Cloud Platform PostgreSQL漏洞
GCP对PostgreSQL代码进行二次修改,导致攻击者可以在云服务环境中进行容器逃逸,实现跨租户攻击
二、云服务攻防技术
1、CloudShell
利用该shell,攻击者可以进行恶意攻击,如安装恶意的python脚本并执行。
2、元数据服务
当攻击者通过一些手段获取到云服务器的访问权限时,便可以尝试利用元数据服务进行权限提升。通过元数据服务可以访问实例的敏感数据,例如角色的临时凭据,然后利用该凭据进行横向移动或权限提升。
3、IAM服务
IAM权限、角色在使用过程中可能存在配置不当,从而产生安全风险。
4、对象存储服务
用户在使用云存储服务时,可能会出现错误设置的情况,导致可以公开读或公开写存储桶中的数据,造成数据泄露。针对对象存储桶的攻击路径主要有以下几种:
1)Bucket公开访问
2)Bukcet桶爆破
3)特定的Bucket策略配置
4)Bucket Object遍历
5)任意文件上传与覆盖
6)AccessKeyID/SecretAccessKey泄露
7)Bucket劫持与子域接管
8)存储桶的配置可写
9)修改Bucket策略为Deny使业务瘫痪
10)修改网站引用的S3资源进行钓鱼
5、CloudTrail服务
AWS CloudTrail 是一项 AWS 服务,可帮助您对 AWS 账户进行操作和风险审核、监管和合规性检查。用户、角色或 AWS 服务执行的操作将记录为 CloudTrail 中的事件。事件包括在 AWS Management Console、AWS Command Line Interface 和 AWS 开发工具包和 API 中执行的操作。通俗地说, CloudTrail监视着用户的所有行为。
由于CloudTrail服务会记录下大部分AWS账户日志,因此在攻击AWS时攻击者往往会考量绕过该服务的检测。针对CloudTrail的绕过方式主要有以下几种:
1)中止服务
2)删除服务
3)利用标签include-global-service-events
6、RDS服务
RDS即关系型数据库,为了保护数据安全,数据用户往往会进行数据库备份。而为了便于数据恢复,给数据库拍快照是常用一种手段,当快照配置错误时会导致未加密的RDS快照作为公有快照进行共享。当攻击者获取到还原数据库的权限时,便可以将公有快照还原至某个可控的实例中,从实例中窃取用户数据。
7、AWS ECS服务
AWS ECS即是弹性容器服务,用户可以使用它来运行、停止和管理集群上的容器。使用 AWS ECS,用户的容器是在用于运行单个任务或服务内的Task Definitions中定义的。而Task Definitions可配置的参数包括如图所示。其中可能包含容器在启动时运行的命令信息、租户运行任务时使用的 IAM 角色信息等。
三、AWS攻防实验
1、AWS攻防靶场,RhinoSecurityLabs开源的cloudgoat:
<检测到利用lambda函数漏洞提升用户权限进行敏感数据搜索>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/vulnerable_lambda/README.md
<利用Amazonm Congnito错误配置绕过提权并获取凭据>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/vulnerable_cognito/README.md
<利用SSRF漏洞获取S3存储桶数据>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/ec2_ssrf/README.md
<检测到命令指令获取容器凭据信息的操作>:https://github.com/RhinoSecurityLabs/cloudgoat/tree/master/scenarios/ecs_takeover
<检测到攻击者检索S3存储桶凭据后访问AWS关系数据库服务,通过回复RDS快照劫持包含客户数据的数据库>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/rds_snapshot/README.md
<攻击者远程登录受害设备后进一步获取RDS数据>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/rce_web_app/README.md
<攻击者通过SQL注入后反弹shell获取SSM参数>:https://github.com/RhinoSecurityLabs/cloudgoat/blob/master/scenarios/glue_privesc/README.md