# DC0037 — Pod Enumeration
## Descrição
Pod Enumeration refere-se ao processo de listagem ou recuperação de informações sobre pods em execução ou existentes dentro de um ambiente de cluster Kubernetes. Pods são as menores unidades implantáveis em um cluster Kubernetes e representam tipicamente uma aplicação ou carga de trabalho em execução. A enumeração de pods fornece ao adversário visibilidade sobre a estrutura e o estado das aplicações que executam no cluster, incluindo nomes de pods, namespaces associados e metadados relevantes.
Adversários com acesso ao servidor da API Kubernetes — sejá via credenciais comprometidas, tokens de service account vazados ou exploração de controles RBAC mal configurados — frequentemente realizam enumeração de pods como etapa de reconhecimento interno. O objetivo é mapear workloads disponíveis, identificar pods privilegiados, localizar segredos montados como variáveis de ambiente e descobrir serviços internos acessíveis lateralmente.
Este componente de dados é coletado principalmente por meio dos logs de auditoria do servidor de API Kubernetes (chamadas `GET /api/v1/pods`), de ferramentas EDR com visibilidade em nível de cluster e de plataformas SIEM que ingerem logs de API Kubernetes. A detecção eficaz exige correlação entre identidade (qual principal realizou a enumeração), frequência (volume anormal de requisições) e contexto (namespace acessado, horário, IP de origem).
## Telemetria
| Plataforma | Fonte de Log | Evento / API Call | Notas |
|------------|-------------|-------------------|-------|
| Kubernetes | API Server Audit Logs | `GET /api/v1/pods`, `GET /api/v1/namespaces/{ns}/pods` | Habilitar auditoria com nível `Request` ou `RequestResponse` |
| AWS EKS | CloudTrail + K8s Audit | `kubernetes.io/pods` list operations | Integrar via Amazon CloudWatch Logs |
| Azure AKS | Azure Monitor / Diagnostic Logs | `pods/list`, `pods/get` no control plane | Exportar via Log Analytics Workspace |
| GCP GKE | Cloud Logging | `k8s_cluster` resource, method `list` em `io.k8s.core.v1.pods` | Filtrar por `protoPayload.methodName` |
| Self-managed | auditd / Sysmon for Linux | Comandos `kubectl get pods` em nodes com kubectl instalado | Monitorar execução de processo |
## Queries de Detecção
### KQL — Azure AKS: enumeração de pods por identity externa
```kql
AzureDiagnostics
| where Category == "kube-audit"
| where log_s contains "\"verb\":\"list\""
| where log_s contains "\"resource\":\"pods\""
| extend User = extract("\"username\":\"([^\"]+)\"", 1, log_s)
| extend SourceIP = extract("\"sourceIPs\":\\[\"([^\"]+)\"\\]", 1, log_s)
| where User !startswith "system:"
| summarize Count = count() by User, SourceIP, bin(TimeGenerated, 5m)
| where Count > 20
| project TimeGenerated, User, SourceIP, Count
| order by Count desc
```
## Técnicas Relacionadas
| Técnica | Nome | Relação |
|---------|------|---------|
| [[t1613-container-and-resource-discovery\|T1613-container-and-resource-discovery]] | Container and Resource Discovery | Técnica primária — enumeração de pods é um método central de T1613 |
| [[t1069-permission-groups-discovery\|T1069-permission-groups-discovery]] | Permission Groups Discovery | Adversários enumeram pods para descobrir service accounts com permissões elevadas |
| [[t1526-cloud-service-discovery\|T1526-cloud-service-discovery]] | Cloud Service Discovery | Contexto mais amplo de reconhecimento em ambientes cloud-native |
> **Ver também:** [[ds0014-pod|DS0014 — Pod]], [[dc0077-container-start]], [[dc0072-container-creation]], [[t1078-valid-accounts|T1078-valid-accounts]]
## Contexto LATAM
> [!info] Adoção de Kubernetes no Brasil
> O Brasil é o maior mercado de cloud pública da América Latina, com adoção acelerada de Kubernetes em setores financeiro, varejo e telecomúnicações. Incidentes envolvendo enumeração de pods em clusters EKS e GKE têm sido observados em campanhas de cryptojacking direcionadas à região. A [[LGPD]] (Lei Geral de Proteção de Dados) exige que organizações mantenham logs de auditoria de acesso a sistemas que processam dados pessoais — o que inclui logs de API Kubernetes em clusters que hospedam aplicações com dados de usuários. Times de segurança devem garantir que logs de auditoria do control plane estejam habilitados e retidos por no mínimo 1 ano para conformidade regulatória.
## Referências
- [MITRE ATT&CK — DC0037 Pod Enumeration](https://attack.mitre.org/datacomponents/DC0037)
- [MITRE ATT&CK — T1613 Container and Resource Discovery](https://attack.mitre.org/techniques/T1613/)
- [Kubernetes Audit Logging — Documentação Oficial](https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/)
- [Amazon EKS — Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html)
- [NSA/CISA Kubernetes Hardening Guide](https://media.defense.gov/2022/Aug/29/2003066362/-1/-1/0/CTR_KUBERNETES_HARDENING_GUIDANCE_1.2_20220829.PDF)