Een Kubernetes-cluster opbreken met Helm v2-tiller

Een Kubernetes-cluster opbreken met Helm v2-tiller

Helm is een pakketbeheerder voor Kubernetes, zoiets apt-get voor Ubuntu. In deze notitie zien we de vorige versie van helm (v2) met standaard de tiller-service geïnstalleerd, waarmee we toegang krijgen tot het cluster.

Laten we het cluster voorbereiden; voer hiervoor de opdracht uit:

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

Een Kubernetes-cluster opbreken met Helm v2-tiller

demonstratie

  • Als u niets extra configureert, start helm v2 de tiller-service, die RBAC heeft met volledige clusterbeheerdersrechten.
  • Na installatie in naamruimte kube-system komt naar voren tiller-deploy, en opent ook poort 44134, gebonden aan 0.0.0.0. Dit kan worden gecontroleerd via telnet.

$ telnet tiller-deploy.kube-system 44134

Een Kubernetes-cluster opbreken met Helm v2-tiller

  • Nu kunt u verbinding maken met de helmstokservice. We zullen het binaire bestand Helm gebruiken om handelingen uit te voeren tijdens de communicatie met de helmstokservice:

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

Een Kubernetes-cluster opbreken met Helm v2-tiller

  • Laten we proberen de Kubernetes-clustergeheimen uit de naamruimte te halen kube-system:

$ kubectl get secrets -n kube-system

Een Kubernetes-cluster opbreken met Helm v2-tiller

  • Nu kunnen we ons eigen diagram maken, waarin we een rol met beheerdersrechten zullen aanmaken en deze rol zullen toewijzen aan het standaard serviceaccount. Met behulp van het token uit dit serviceaccount hebben we volledige toegang gekregen tot ons cluster.

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

Een Kubernetes-cluster opbreken met Helm v2-tiller

  • Nu wanneer pwnchart geïmplementeerd, heeft het standaardserviceaccount volledige beheerderstoegang. Laten we opnieuw kijken hoe we geheimen kunnen verkrijgen kube-system

kubectl get secrets -n kube-system

Een Kubernetes-cluster opbreken met Helm v2-tiller

Succesvolle uitvoering van dit script hangt af van hoe tiller is geïmplementeerd; soms implementeren beheerders het in een aparte naamruimte met verschillende rechten. Helm 3 is niet gevoelig voor dergelijke kwetsbaarheden omdat... er zit geen helmstok in.

Noot van de vertaler: Het gebruik van netwerkbeleid om verkeer in een cluster te filteren, helpt beschermen tegen dit soort kwetsbaarheden.

Bron: www.habr.com

Voeg een reactie