Pentesting Kubernetes
{{#include ../../banners/hacktricks-training.md}}
Noções Básicas de Kubernetes
Se você não sabe nada sobre Kubernetes, este é um bom começo. Leia para aprender sobre a arquitetura, componentes e ações básicas no Kubernetes:
{{#ref}} kubernetes-basics.md {{#endref}}
Laboratórios para praticar e aprender
Fortalecendo o Kubernetes / Ferramentas Automáticas
{{#ref}} kubernetes-hardening/ {{#endref}}
Pentest Manual de Kubernetes
De Fora
Existem vários serviços Kubernetes que você pode encontrar expostos na Internet (ou dentro de redes internas). Se você encontrá-los, sabe que há um ambiente Kubernetes lá.
Dependendo da configuração e dos seus privilégios, você pode ser capaz de abusar desse ambiente. Para mais informações:
{{#ref}} pentesting-kubernetes-services/ {{#endref}}
Enumeração dentro de um Pod
Se você conseguir comprometer um Pod, leia a página seguinte para aprender como enumerar e tentar escalar privilégios/escapar:
{{#ref}} attacking-kubernetes-from-inside-a-pod.md {{#endref}}
Enumerando Kubernetes com Credenciais
Você pode ter conseguido comprometer credenciais de usuário, um token de usuário ou algum token de conta de serviço. Você pode usá-lo para se comunicar com o serviço API do Kubernetes e tentar enumerá-lo para aprender mais sobre ele:
{{#ref}} kubernetes-enumeration.md {{#endref}}
Outro detalhe importante sobre enumeração e abuso de permissões no Kubernetes é o Controle de Acesso Baseado em Funções (RBAC) do Kubernetes. Se você quiser abusar de permissões, primeiro deve ler sobre isso aqui:
{{#ref}} kubernetes-role-based-access-control-rbac.md {{#endref}}
Sabendo sobre RBAC e tendo enumerado o ambiente, você pode agora tentar abusar das permissões com:
{{#ref}} abusing-roles-clusterroles-in-kubernetes/ {{#endref}}
Escalada de Privilégios para um Namespace Diferente
Se você comprometeu um namespace, pode potencialmente escapar para outros namespaces com permissões/recursos mais interessantes:
{{#ref}} kubernetes-namespace-escalation.md {{#endref}}
Do Kubernetes para a Nuvem
Se você comprometeu uma conta K8s ou um pod, pode ser capaz de se mover para outras nuvens. Isso ocorre porque em nuvens como AWS ou GCP é possível dar permissões a um SA K8s sobre a nuvem.
{{#ref}} kubernetes-pivoting-to-clouds.md {{#endref}}
{{#include ../../banners/hacktricks-training.md}}