Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

Helm — gestor de paquetes para Kubernetes, algo así como apt-get para Ubuntu. En esta nota veremos la versión anterior de helm (v2) con el servicio tiller, instalado por defecto, a través del cual accederemos al clúster.

Prepararemos el clúster, para ello ejecutaremos el comando:

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

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

Demostración

  • Si no se configura nada adicional, helm v2 ejecuta el servicio tiller, que tiene RBAC con permisos de administrador completo en el clúster.
  • Después de la instalación en el namespace kube-system aparece tiller-deploy, también se abre el puerto 44134, vinculado a 0.0.0.0. Esto se puede comprobar con telnet.

$ telnet tiller-deploy.kube-system 44134

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

  • Ahora se puede conectar al servicio tiller. Usaremos el binario helm para realizar operaciones al comunicarnos con el servicio tiller:

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

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

  • Intentemos obtener los secretos del clúster Kubernetes desde el namespace kube-system:

$ kubectl get secrets -n kube-system

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

  • Ahora podemos crear nuestro propio chart, en el que crearemos un rol con permisos de administrador y asignaremos este rol a la cuenta de servicio predeterminada. Usando el token de esta cuenta de servicio, obtuvimos acceso completo a nuestro clúster.

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

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

  • Ahora que pwnchart está desplegado, la cuenta de servicio predeterminada tiene acceso administrativo completo. Verifiquemos nuevamente la obtención de secretos desde kube-system

kubectl get secrets -n kube-system

Rompiendo un clúster de Kubernetes a través de Helm v2 tiller

La ejecución exitosa de este guion depende de cómo se desplegó tiller, a veces los administradores lo despliegan en un namespace separado con otros privilegios. Helm 3 no está sujeto a estas vulnerabilidades, ya que no tiene tiller.

Nota del traductor: el uso de políticas de red para filtrar el tráfico en el clúster ayuda a protegerse contra vulnerabilidades de este tipo.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster