雲端 / 容器 / Kubernetes 安全
立即執行(讀完後立刻執行)
NOW: 讀取../field-journal/precedent-pentest.md— 雲端/K8s 測試必須書面授權NOW: case-init + scope;明確帳號邊界、禁止破壞性操作NOW: 確認是雲端元資料/容器/K8s/IAM,而非普通 Web 掃描(後者請用pentest-tools/)NEXT: tool-index;kubectl/aws/gcloud 等多為手動安裝ACT: 從「身份與暴露面」開始,禁止預設全網掃描
適用場景
- 雲端元資料 SSRF(169.254.169.254 / IMDS)
- IAM 過度權限、公開儲存桶、錯誤安全群組
- Docker/containerd 逃逸路徑評估
- Kubernetes RBAC、Secrets、Admission、供應鏈映像
- 容器映像漏洞(可聯動
supply-chain-security/)
工作流
Phase 1 — 身份與邊界
□ 當前身份:雲端 AK/SK、K8s SA、節點 SSH?
□ 範圍:單帳號 / 單 cluster / 單 namespace
□ 網路擋:authorized_target_only
Phase 2 — 雲端控制平面
# 範例(依廠商替換;MUST 在授權帳號內)
aws sts get-caller-identity
aws s3 ls
# Azure / GCP 對應 identity 命令
□ 公開桶 / 錯誤 ACL
□ 元資料:IMDSv1 vs v2;SSRF 鏈
□ 角色可扮演(PassRole)與橫向
Phase 3 — 容器
□ 是否 privileged / hostPath / hostNetwork
□ capabilities(SYS_ADMIN 等)
□ 可寫宿主機路徑 → 逃逸候選
□ 映像歷史與已知 CVE → Trivy
Phase 4 — Kubernetes
kubectl auth can-i --list
kubectl get pods,secrets,svc -A
kubectl get clusterrolebindings
□ SA token 掛載與權限
□ 危險 admission webhook 缺失
□ etcd / dashboard 暴露
□ 網路策略是否預設放行
工具鏈
| 工具 | 用途 | 自舉 |
|---|---|---|
| kubectl | 集群互動 | 手動 |
| trivy | 映像/IaC | bootstrap trivy 若可用 |
| kube-bench / kubeaudit | CIS/配置 | 手動 |
| pacu / scoutsuite | 雲端審計(授權) | 手動 |
| nuclei | 已知雲端漏洞模板 | bootstrap nmap/nuclei 生態 |
參考
references/k8s-cloud-checklist.md- CTF 對照:
../../CTF-Sandbox-Orchestrator/competition-agent-cloud/ ../supply-chain-security/../pentest-tools/
路由上下文
上游: MASTER R23
下游: 取得節點 shell → attack-chain / windows-ad;映像漏洞 → supply-chain
MUST NOT: 未授權掃公有雲其他租戶
任務完成自檢
- 是否限定在授權帳號/cluster?
- 發現是否含復現與影響?
- 是否避免破壞性操作?
- 報告 / journal?