Modelo de ameaças do Kubernetes
Descubra onde os clusters são atacados.
Modelo de ameaças do Kubernetes é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
Por que o Kubernetes é um alvo
O Kubernetes orquestra contêineres em muitos nós. Ele centraliza segredos, redes e recursos computacionais, portanto comprometer o cluster pode significar comprometer cada carga de trabalho executada por ele.
- Um único servidor da API controla todo o cluster.
- Os nós executam lado a lado as cargas de trabalho de vários locatários.
- Configurações incorretas são muito mais comuns do que CVEs no núcleo.
Recapitulação da arquitetura do cluster
Para modelar ameaças, conheça os componentes.
- Plano de controle: servidor da API, etcd, agendador e gerenciador de controladores.
- Nós: kubelet, ambiente de execução de contêineres, kube-proxy e pods.
- etcd armazena todo o estado e os segredos do cluster.
O servidor da API é o único ponto de entrada; o etcd é o ativo de dados mais valioso.
O mapa da superfície de ataque
Os ataques têm como alvo camadas distintas.
- Externa: servidor da API, painéis e entrada expostos.
- Carga de trabalho: uma aplicação comprometida dentro de um pod.
- Identidade: tokens de contas de serviço e RBAC.
- Nó: API do kubelet e escape do contêiner para o host.
- Cadeia de suprimentos: imagens e dependências maliciosas.
Plano de controle exposto
Um servidor da API acessível pela internet ou um kubelet com autenticação fraca é um caminho direto para assumir o controle do cluster.
- Acesso anônimo ativado no servidor da API.
- API de leitura/gravação do kubelet (porta 10250) exposta.
- Painel do Kubernetes aberto com vinculação administrativa.
# Probe an exposed kubelet for running pods
curl -sk https://NODE_IP:10250/pods
# Test anonymous API access
kubectl --insecure-skip-tls-verify --server https://API:6443 get podsO ponto de apoio dentro do pod
O ponto de entrada mais comum é uma RCE em uma aplicação em execução em um pod. De dentro de um pod, os invasores encontram:
- Um token de conta de serviço montado em
/var/run/secrets/.... - Serviços internos acessíveis (sem política de rede).
- O servidor da API, geralmente resolvível como
kubernetes.default.
# From inside a pod: read the mounted SA token
cat /var/run/secrets/kubernetes.io/serviceaccount/token
# Use it against the API
curl -sk -H "Authorization: Bearer $(cat .../token)" https://kubernetes.default/api/v1/namespaces/default/podsEscape de contêiner
Sair de um contêiner para chegar ao nó permite acessar todas as cargas de trabalho naquele host.
- Contêineres privilegiados podem acessar dispositivos do host e escapar.
- As montagens hostPID/hostNetwork/hostPath ampliam o impacto.
- Um soquete do Docker montado permite iniciar um contêiner privilegiado.
- Capacidades perigosas (
SYS_ADMIN) permitem o escape.
# A privileged pod can mount the host filesystem and chroot to it
mount /dev/sda1 /mnt && chroot /mnt shetcd: o armazenamento de segredos
O etcd contém todo o estado do cluster, incluindo os Segredos, que por padrão são apenas codificados em base64. O acesso direto ao etcd (frequentemente não autenticado em clusters com configuração incorreta) expõe todos os segredos.
# Read all secrets from an exposed etcd
etcdctl --endpoints=https://NODE:2379 get / --prefix --keys-onlyMovimentação lateral em clusters
Depois de entrar, os invasores fazem o pivô usando a identidade e a rede do cluster.
- Uma conta de serviço permissiva permite criar pods privilegiados.
- Redes de pods sem segmentação (sem NetworkPolicy) permitem alcançar qualquer serviço.
- Agendar um pod em um nó-alvo permite comprometer o nó.
Metadados da nuvem a partir de pods
Em clusters gerenciados (EKS/GKE/AKS), os pods podem alcançar o serviço de metadados da nuvem do nó e roubar as credenciais IAM/de função do nó, fazendo a ponte entre o comprometimento do cluster e a conta da nuvem.
As defesas incluem IMDSv2, o bloqueio dos metadados na camada de rede e o uso da identidade da carga de trabalho em vez de funções de nó.
Mapeando com ferramentas
As ferramentas automatizam a avaliação de ameaças ao cluster.
- kube-hunter investiga componentes expostos.
- kube-bench verifica a conformidade com o referencial CIS.
- Peirates / kubeletctl testam caminhos de ataque dentro do cluster.
# Assess attack surface
kube-hunter --remote API_IP
# CIS benchmark check on a node
kube-bench run --targets nodePrioridades defensivas
O modelo de ameaças aponta prioridades defensivas claras: proteger o servidor da API, restringir o RBAC, isolar os pods, fortalecer os nós e proteger a cadeia de suprimentos. As próximas lições detalham cada uma.
Durante os testes, ataque apenas clusters para os quais você tenha autorização e evite desestabilizar as cargas de trabalho de produção.
Verificação rápida
Confirme seus conhecimentos básicos sobre a modelagem de ameaças do Kubernetes.
Recapitulação
Você mapeou onde os clusters Kubernetes são atacados.
- O servidor da API e o etcd são os alvos centrais e de maior valor.
- Pontos de apoio dentro de pods aproveitam tokens SA montados e redes sem segmentação.
- Pods privilegiados ou com hostPath permitem o escape do contêiner para o nó.
- Clusters gerenciados correm o risco de pivotamento para a nuvem baseado em metadados.
A seguir: RBAC e contas de serviço.
Aprenda Cyber Security Academy com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 76
- Aulas
- 303
Perguntas Frequentes
A aula “Modelo de ameaças do Kubernetes” é grátis?
Sim — o texto completo de “Modelo de ameaças do Kubernetes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Modelo de ameaças do Kubernetes”?
Descubra onde os clusters são atacados. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Modelo de ameaças do Kubernetes”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Modelo de ameaças do Kubernetes
- RBAC e contas de serviço
- Segurança de pods e políticas de rede
- Protegendo a cadeia de suprimentos e os segredos