Bryter ett Kubernetes-kluster genom Helm v2 tiller

Bryter ett Kubernetes-kluster genom Helm v2 tiller

Helm - en paketmanager för Kubernetes, ungefär som apt-get för Ubuntu. I denna anteckning kommer vi att se den tidigare versionen av helm (v2) med tjänsten tiller installerad som standard, genom vilken vi får tillgång till klustret.

Låt oss förbereda klustret genom att köra kommandot:

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

Bryter ett Kubernetes-kluster genom Helm v2 tiller

Demonstration

  • Om inget ytterligare konfigureras kör helm v2 tjänsten tiller, som har RBAC med fullständiga administrativa rättigheter till klustret.
  • Efter installationen i namespace kube-system dyker upp tiller-deploy, öppnas också port 44134, som är bunden till 0.0.0.0. Detta kan kontrolleras med telnet.

$ telnet tiller-deploy.kube-system 44134

Bryter ett Kubernetes-kluster genom Helm v2 tiller

  • Nu kan vi koppla upp oss mot tjänsten tiller. Vi kommer att använda helm-binären för att utföra operationer när vi kommunicerar med tjänsten tiller:

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

Bryter ett Kubernetes-kluster genom Helm v2 tiller

  • Vi försöker hämta hemligheterna från Kubernetes-klustret i namespace kube-system:

$ kubectl get secrets -n kube-system

Bryter ett Kubernetes-kluster genom Helm v2 tiller

  • Nu kan vi skapa vår egen chart, där vi skapar en roll med administratörsrättigheter och tilldelar denna roll till standardtjänstekontot. Genom att använda token från detta tjänstekonto har vi fått full tillgång till vårt kluster.

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

Bryter ett Kubernetes-kluster genom Helm v2 tiller

  • Nu när pwnchart är distribuerad, har standard tjänstekontot fullständig administrativ tillgång. Vi kontrollerar återigen hämtningen av hemligheter från kube-system

kubectl get secrets -n kube-system

Bryter ett Kubernetes-kluster genom Helm v2 tiller

Att detta skript lyckas beror på hur tiller har distribuerats, ibland distribuerar administratörerna det i ett separat namespace med andra privilegier. Helm 3 är inte sårbart för sådana sårbarheter, eftersom det inte har tiller.

Översättarens anmärkning: användning av nätverkspolicyer för att filtrera trafik i kluster hjälper till att skydda mot sådana sårbarheter.

Källa: habr.com

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster