Pentesting Kubernetes

Reading time: 4 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

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:

Kubernetes Basics

Laboratórios para praticar e aprender

Fortalecendo o Kubernetes / Ferramentas Automáticas

Kubernetes Hardening

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:

Pentesting Kubernetes Services

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:

Attacking Kubernetes from inside a Pod

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:

Kubernetes Enumeration

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:

Kubernetes Role-Based Access Control(RBAC)

Sabendo sobre RBAC e tendo enumerado o ambiente, você pode agora tentar abusar das permissões com:

Abusing Roles/ClusterRoles in Kubernetes

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:

Kubernetes Namespace Escalation

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.

Kubernetes Pivoting to Clouds

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks