# GCP Pentesting

GCP 云环境渗透测试总体方法论。当目标使用 Google Cloud Platform、发现 GCP 相关资产（GCS Bucket/Compute...

- Repository: https://github.com/wgpsec/AboutSecurity (1833 stars)
- Category: DevOps
- License: see repository
- Last updated: 2026-10-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add wgpsec/AboutSecurity --skill gcp-pentesting -g -a claude-code -y`
Codex: `npx skills add wgpsec/AboutSecurity --skill gcp-pentesting -g -a codex -y`
Cursor: `npx skills add wgpsec/AboutSecurity --skill gcp-pentesting -g -a cursor -y`
Gemini CLI: `npx skills add wgpsec/AboutSecurity --skill gcp-pentesting -g -a gemini-cli -y`

## Description

GCP 云环境渗透测试总体方法论。当目标使用 Google Cloud Platform、发现 GCP 相关资产（GCS Bucket/Compute Engine/Cloud Functions/GKE）、获取 GCP 凭据（Service Account Key/OAuth Token/Metadata Token）、或需要对 GCP 环境进行安全评估时使用。提供从未授权枚举到提权、后渗透、GCP-to-Workspace 穿越的全流程决策树。覆盖 37+ GCP 服务攻击面

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# GCP 云环境渗透测试方法论

GCP 是全球三大公有云之一，承载了大量企业核心业务。其独特的资源层级模型（Organization → Folder → Project → Resource）、Service Account 机制和 IAM 权限继承模型构成了与 AWS/Azure 截然不同的攻击面。本技能以攻击阶段（Phase）为主线，组织从"零凭据"到"完全控制"的完整渗透路径。

### GCP 与 AWS 的核心区别

| 概念 | GCP | AWS |
|---|---|---|
| 资源层级 | Organization → Folder → Project → Resource | Account → OU → Resource |
| 身份主体 | Google Account、Service Account、Group | IAM User、IAM Role |
| 凭据类型 | SA Key (JSON)、OAuth Token、Metadata Token | AK/SK、STS Token、Instance Profile |
| 权限绑定 | 在资源上绑定（get-iam-policy） | 在主体上附加策略（Policy） |
| PassRole 等价 | `iam.serviceAccounts.actAs` | `iam:PassRole` |
| 元数据端点 | 需要 `Metadata-Flavor: Google` 头 | IMDSv1 无需头 / IMDSv2 需 Token |
| 访问范围 | OAuth Scopes 限制 Token 能力 | 无等价机制 |

## 深入参考

识别到具体攻击阶段后，加载对应参考文档获取完整技术细节：

- 37 服务提权路径（按集群分组） → 读 [references/iam-privesc.md](references/iam-privesc.md)
- 后渗透与持久化技术清单（20+ 服务） → 读 [references/post-exploit-persistence.md](references/post-exploit-persistence.md)

## Phase 0: 攻击面判断

拿到一个 GCP 相关目标后，首先判断当前手持的资产类型，决定进入哪个攻击阶段：

```
当前持有什么？
├── 无任何凭据
│   ├── 有目标域名/IP → Phase 1（未授权枚举）
│   ├── 有 SSRF 漏洞 → 直接打 Metadata 获取 SA Token → Phase 2
│   └── 仅知道组织名称 → OSINT + Phase 1
│
├── 有 Service Account Key（JSON 格式，含 private_key 字段）
│   └── → Phase 2（凭据验证与权限评估）
│
├── 有 OAuth Access Token（ya29. 开头）
│   └── → Phase 2（注意：有效期通常 1 小时，需快速行动）
│
├── 有 Refresh Token（从 gcloud 本地配置窃取）
│   └── → 生成新 Access Token → Phase 2（可长期维持）
│
├── 在 Compute Engine / Cloud Functions / Cloud Run 实例内部
│   └── → 通过 Metadata 获取绑定 SA 的 Token → Phase 2
│
└── 有 gcloud CLI 配置目录（~/.config/gcloud/）
    └── → 提取 access_tokens.db / credentials.db → Phase 2
```

### GCP 凭据类型速查

The rest: https://github.com/wgpsec/AboutSecurity/blob/HEAD/skills/cloud/gcp-pentesting/SKILL.md
