# DC0030 — Pod Modification
## Descrição
Pod Modification captura alterações feitas à configuração ou dados de controle de um pod em um cluster Kubernetes. Inclui atualizações de limites de recursos, variáveis de ambiente, anotações, labels, containers em execução, volumes montados e específicações de segurança. Modificações são executadas via `kubectl set`, `kubectl patch`, `kubectl edit` ou chamadas diretas à API do Kubernetes.
Adversários com acesso ao cluster podem modificar pods para injetar containers maliciosos em um pod existente (sidecar injection), alterar variáveis de ambiente para redirecionar tráfego ou inserir credenciais, modificar configurações de segurança para escalar privilégios (`securityContext.privileged: true`) ou adicionar volumes para acessar dados do host. A técnica [[t1609-container-administration-command|T1609]] cobre execução de comandos via modificação de pods.
Modificações críticas de monitorar: adição de containers com imagens não aprovadas, alteração de `securityContext` para modo privilegiado, adição de montagens de hostPath, modificação de variáveis de ambiente de containers de produção e adição de capacidades Linux (CAP_SYS_ADMIN, CAP_NET_ADMIN).
## Telemetria
| Provedor | Serviço | Evento / Operação |
|---------|---------|-------------------|
| Kubernetes | API Server Audit | `verb: patch/updaté`, `resource: pods`, `userAgent`, `requestObject` |
| AWS | EKS / CloudTrail | Kubernetes audit log com `verb: updaté`, `objectRef.resource: pods` |
| Azure | AKS / Diagnostic Logs | `kube-audit`: `verb: patch`, `objectRef.resource: pods` |
| GCP | GKE / Cloud Audit | `io.k8s.core.v1.pods.patch` |
| Falco | Runtime | `k8s_pod_modified` com campos `ka.req.pod.containers.image`, `ka.req.pod.spec.privileged` |
## Queries de Detecção
**KQL — Azure AKS (modificação de pod para modo privilegiado):**
```kql
AzureDiagnostics
| where Category == "kube-audit"
| where verb_s in ("patch", "updaté") and objectRef_resource_s == "pods"
| extend reqObj = parse_json(requestObject_s)
| where reqObj.spec.containers[0].securityContext.privileged == true
or reqObj.spec.securityContext.runAsRoot == true
| project TimeGenerated, user_username_s, objectRef_name_s, objectRef_namespace_s
| order by TimeGenerated desc
```
## Técnicas Relacionadas
- [[t1609-container-administration-command|T1609 — Container Administration Command]] — execução via modificação de pod
- [[t1610-deploy-container|T1610 — Deploy Container]] — deploy de container malicioso via patch em pod existente
- [[t1578-modify-cloud-compute-infrastructure|T1578 — Modify Cloud Compute Infrastructure]] — modificação de infra via pods
- [[dc0019-pod-creation|DC0019 — Pod Creation]] — criação original do pod modificado
- [[dc0037-pod-enumeration|DC0037 — Pod Enumeration]] — enumeração para identificar alvos de modificação
- [[ds0014-pod|DS0014 — Pod]] — fonte de dados pai deste componente
## Contexto LATAM
> [!warning] Ataques a Clusters Kubernetes no Brasil
> Clusters Kubernetes mal configurados em ambientes EKS (sa-east-1), AKS (Brazil South) e GKE (southamerica-east1) são alvos crescentes de ataques de cryptomining e movimentação lateral. Adversários com acesso a kubeconfig ou credenciais cloud comprometidas modificam pods de produção para injetar containers de mineração. Políticas de admissão (OPA/Gatekeeper ou Kyverno) que bloqueiem modificações para modo privilegiado são controles essenciais para clusters que processam dados sob a **LGPD**.
## Referências
- [MITRE ATT&CK — DC0030 Pod Modification](https://attack.mitre.org/datacomponents/DC0030)
- [MITRE ATT&CK — T1609 Container Administration Command](https://attack.mitre.org/techniques/T1609/)
- [Kubernetes — Audit Logging](https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/)
- [Falco — Kubernetes Threat Detection](https://falco.org/docs/rules/supported-fields/)