Romper un clúster de Kubernetes usando tiller Helm v2

Romper un clúster de Kubernetes usando tiller Helm v2

Helm é un xestor de paquetes para Kubernetes, algo así apt-get para Ubuntu. Nesta nota veremos a versión anterior de helm (v2) co servizo tiller instalado por defecto, a través do cal accederemos ao clúster.

Imos preparar o clúster; para facelo, execute o comando:

kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash

Romper un clúster de Kubernetes usando tiller Helm v2

Demostración

  • Se non configura nada adicional, helm v2 inicia o servizo tiller, que ten RBAC con dereitos de administrador de clúster completos.
  • Despois da instalación no espazo de nomes kube-system aparece tiller-deploy, e tamén abre o porto 44134, ligado a 0.0.0.0. Isto pódese comprobar usando telnet.

$ telnet tiller-deploy.kube-system 44134

Romper un clúster de Kubernetes usando tiller Helm v2

  • Agora podes conectarte ao servizo de timón. Usaremos o binario de timón para realizar operacións cando nos comuniquemos co servizo de timón:

$ helm --host tiller-deploy.kube-system:44134 version

Romper un clúster de Kubernetes usando tiller Helm v2

  • Tentemos obter os segredos do clúster de Kubernetes do espazo de nomes kube-system:

$ kubectl get secrets -n kube-system

Romper un clúster de Kubernetes usando tiller Helm v2

  • Agora podemos crear o noso propio gráfico, no que crearemos un rol con dereitos de administrador e asignaremos este rol á conta de servizo predeterminada. Usando o token desta conta de servizo, recibimos acceso total ao noso clúster.

$ helm --host tiller-deploy.kube-system:44134 install /pwnchart

Romper un clúster de Kubernetes usando tiller Helm v2

  • Agora cando pwnchart implementada, a conta de servizo predeterminada ten acceso administrativo completo. Imos comprobar de novo como obter segredos de kube-system

kubectl get secrets -n kube-system

Romper un clúster de Kubernetes usando tiller Helm v2

A execución exitosa deste script depende de como se implantou o tiller; ás veces, os administradores implantan nun espazo de nomes separado con privilexios diferentes. Helm 3 non é susceptible a tales vulnerabilidades porque... non hai labra nel.

Nota do tradutor: Usar políticas de rede para filtrar o tráfico nun clúster axuda a protexerse contra este tipo de vulnerabilidades.

Fonte: www.habr.com

Engadir un comentario