Kubernetes-Cluster über Helm v2 tiller angreifen

Kubernetes-Cluster über Helm v2 tiller angreifen

Helm — ein Paketmanager für Kubernetes, ähnlich wie apt-get für Ubuntu. In diesem Artikel werden wir die vorherige Version von Helm (v2) mit dem standardmäßig installierten Tiller-Service betrachten, über den wir Zugriff auf den Cluster erhalten.

Bereiten wir den Cluster vor, indem wir den folgenden Befehl ausführen:

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

Kubernetes-Cluster über Helm v2 tiller angreifen

Demonstration

  • Wenn keine zusätzlichen Anpassungen vorgenommen werden, startet Helm v2 den Tiller-Service, der RBAC mit vollständigen Administratorrechten für den Cluster hat.
  • Nach der Installation im Namespace kube-system erscheint tiller-deploy, wird auch der Port 44134 geöffnet, der an 0.0.0.0 gebunden ist. Dies kann mit telnet überprüft werden.

$ telnet tiller-deploy.kube-system 44134

Kubernetes-Cluster über Helm v2 tiller angreifen

  • Jetzt können wir uns mit dem Tiller-Service verbinden. Wir werden das Helm-Binärpaket verwenden, um Operationen mit dem Tiller-Service durchzuführen:

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

Kubernetes-Cluster über Helm v2 tiller angreifen

  • Versuchen wir, die Geheimnisse des Kubernetes-Clusters aus dem Namespace abzurufen kube-system:

$ kubectl get secrets -n kube-system

Kubernetes-Cluster über Helm v2 tiller angreifen

  • Jetzt können wir unsere eigene Chart erstellen, in der wir eine Rolle mit Administratorrechten erstellen und diese Rolle dem Standard-Servicekonto zuweisen. Mit dem Token dieses Servicekontos haben wir vollen Zugang zu unserem Cluster.

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

Kubernetes-Cluster über Helm v2 tiller angreifen

  • Jetzt, da pwnchart Die Standard-Service-Account besitzt vollständigen Administrationszugriff. Lassen Sie uns erneut die Geheimnisse von kube-system

kubectl get secrets -n kube-system

Kubernetes-Cluster über Helm v2 tiller angreifen

Der erfolgreiche Abschluss dieses Skripts hängt davon ab, wie tiller bereitgestellt wurde; manchmal stellen Administratoren ihn in einem separaten Namespace mit anderen Berechtigungen bereit. Helm 3 ist solchen Schwachstellen nicht ausgesetzt, da es tiller nicht beinhaltet.

Hinweis des Übersetzers: Die Verwendung von Netzwerk-Policies zur Filterung des Verkehrs im Cluster hilft, sich vor Schwachstellen dieser Art zu schützen.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster