Kubernetes pod escape
Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.
O vetor
Vetor: pod privilegiado, hostPath, service account com RBAC amplo → escapar do pod para o nó/cluster.
O que testamos (se houver K8s): securityContext, RBAC, NetworkPolicy.
Os passos
Passo 1 (🟢) — auditar contexto de segurança:
kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{" priv="}{.spec.containers[*].securityContext.privileged}{"\n"}{end}'
kubectl auth can-i --list # o que este service account pode fazer
O que esperar
- VULNERÁVEL:
privileged=true,hostPathmontado, SA comcluster-admin, sem NetworkPolicy. - SEGURO: Pod Security "restricted" (
runAsNonRoot,readOnlyRootFilesystem,drop ALL), RBAC mínimo, NetworkPolicy deny-all.
Como corrigir
Correção (P2): aplicar Pod Security Standards; RBAC por papel; kube-bench/kube-hunter no pipeline. (DOCUMENTACAO §4.6.) Limpeza: nenhuma.