Cyber Security Academy · Aula

Modelo de ameaças do Kubernetes

Descubra onde os clusters são atacados.

Aula 1 de 413 etapas

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 pods

O 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/pods

Escape 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 sh

etcd: 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-only

Movimentaçã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 node

Prioridades 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.

Grátis para começar

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

  1. Modelo de ameaças do Kubernetes
  2. RBAC e contas de serviço
  3. Segurança de pods e políticas de rede
  4. Protegendo a cadeia de suprimentos e os segredos
← Voltar para Cyber Security Academy