# 云渗透测试
## 目的
对 Microsoft Azure、Amazon Web Services (AWS) 和 Google Cloud Platform (GCP) 的云基础设施进行全面的安全评估。此技能涵盖了授权云安全参与中的侦察、认证测试、资源枚举、权限提升、数据提取和持久化技术。
## 前置条件
### 所需工具
bash
# Azure 工具
Install-Module -Name Az -AllowClobber -Force
Install-Module -Name MSOnline -Force
Install-Module -Name AzureAD -Force
# AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
# GCP CLI
curl https://sdk.cloud.google.com | bash
gcloud init
# 其他工具
pip install scoutsuite pacu
### 所需知识
- 云架构基础
- 身份与访问管理 (IAM)
- API 认证机制
- DevOps 和自动化概念
### 所需权限
- 书面测试授权
- 测试凭据或访问令牌
- 定义明确的范围和交战规则
## 输出和交付物
1. **云安全评估报告** - 全面的发现结果和风险评级
2. **资源清单** - 枚举的服务、存储和计算实例
3. **凭据发现** - 暴露的密钥、机密信息和配置错误
4. **修复建议** - 各平台的加固指南
## 核心工作流
### 第一阶段:侦察
收集关于目标云环境的初始信息:
bash
# Azure: 获取联合身份验证信息
curl "https://login.microsoftonline.com/
[email protected]&xml=1"
# Azure: 获取租户 ID
curl "https://login.microsoftonline.com/target.com/v2.0/.well-known/openid-configuration"
# 按公司名称枚举云资源
python3 cloud_enum.py -k targetcompany
# 检查 IP 是否属于云服务商
cat ips.txt | python3 ip2provider.py
### 第二阶段:Azure 认证
对 Azure 环境进行认证:
powershell
# Az PowerShell 模块
Import-Module Az
Connect-AzAccount
# 使用凭据(可能绕过 MFA)
$credential = Get-Credential
Connect-AzAccount -Credential $credential
# 导入被盗上下文
Import-AzContext -Profile 'C:TempStolenToken.json'
# 导出上下文以实现持久化
Save-AzContext -Path C:TempAzureAccessToken.json
# MSOnline 模块
Import-Module MSOnline
Connect-MsolService
### 第三阶段:Azure 枚举
发现 Azure 资源和权限: