利用Azure、AWS和GCP中的配置错误
云作为主要攻击面
向云基础设施的转型从根本上重塑了对抗格局。企业利用Azure和Google Cloud Platform(GCP)时,常常低估了保护分布式身份、基于角色的访问控制(RBAC)和资源供应模型的复杂性。这引入了配置错误,红队可以利用这些错误来提升权限、窃取敏感数据或实现持久访问。
侦察和枚举
Azure
凭据访问(通过Az CLI):
|
|
MicroBurst(PowerShell):
|
|
Google Cloud Platform(GCP)
使用gcloud CLI进行枚举:
|
|
CloudFox示例命令:
|
|
AWS(Amazon Web Services)
通过AWS CLI进行凭据枚举:
|
|
工具: enumerate-iam, Pacu, CloudSploit, ScoutSuite, awscli
GCP、AWS和Azure中的高影响配置错误
配置错误通常由于过度宽松的IAM策略、公共资源的不当暴露以及对内部权限边界的忽视而产生。
Azure配置错误
配置错误、攻击向量和影响:
- 订阅上的贡献者角色: 允许创建资源,包括Function Apps和Key Vault滥用。
- 公共存储容器: 允许未经身份验证的访问、数据泄漏或恶意软件托管。
- 暴露的服务主体凭据: 硬编码或泄漏的密钥被重用,以冒充特权服务。
- 应用注册令牌泄露: 令牌在日志或存储库中暴露;提升Graph API访问或身份冒充。
工具: MicroBurst, StormSpotter, ADDInternals, Az CLI
GCP配置错误
配置错误、攻击向量和影响:
- 公共GCS存储桶: 威胁参与者可以列出、下载或覆盖敏感内容。
- 计算实例上的元数据API暴露: 通过
进行凭据收集;实现横向移动。 - 编辑器/所有者IAM角色: 完全项目接管;过多的默认访问权限。
- 函数部署权限: 允许攻击者部署带有持久性的后门云函数。
工具: gcloud, CloudFox, GCPBuckeBrute, Pacu
AWS配置错误
配置错误、攻击向量和影响:
- IAM策略通配符(例如,“Action”:”*”): 授予对服务的无限制访问,实现权限提升。
- 公共S3存储桶: 导致数据泄漏或存储中的恶意软件托管。
- 过度特权的Lambda函数: 具有广泛IAM的Lambda可以调用其他服务或修改资源。
- EC2元数据服务滥用: 对169.254.169.254的无限制访问产生AWS临时凭据,用于权限提升。
- 配置错误的AssumeRole策略: 通过AWS STS AssumeRole进行跨账户或意外角色提升。
工具: enumerate-iam, CloudSploit, Pacu, ScoutSuite, AWSBucketDump
权限提升和横向移动
Azure提升链示例:
|
|
GCP提升链示例:
|
|
AWS提升链示例:
|
|
动手实验和模拟
Azure实验室
- HTB → ReadyCloudGoat Azure
- Azurite + 本地MSI模拟
GCP实验室
- Flaws.cloud (GCP)
- CloudGoat GCP Fork
- Pacu实验室脚本
AWS实验室
- CloudGoat AWS
- Flaws2.cloud
- Pacu + LocalStack
- Terraform AWS IAM Playground
蓝队对策
云平台和防御措施
- Azure: 监控Function App日志;强制执行RBAC和最小应用范围。
- GCP: 审计IAM绑定;阻止来自暴露服务的元数据访问。
- AWS: 限制IAM通配符;监控STS使用和EC2元数据日志。
工具: ScoutSuite, Prowler, Security Hub, CloudSploit, AWS Config
最终思考
云安全是权限继承、隐式信任和用户错误的复杂网络。红队必须采用云原生策略,这些策略在身份提供商之间横向移动,滥用角色假设,并在无服务器环境中持久存在。
在2025年,最危险的云利用不是漏洞,而是你忘记存在的配置错误的角色。