
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![]()
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-systemerscheinttiller-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
- 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![]()
- Versuchen wir, die Geheimnisse des Kubernetes-Clusters aus dem Namespace abzurufen
kube-system:
$ kubectl get secrets -n kube-system![]()
- 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
- Jetzt, da
pwnchartDie Standard-Service-Account besitzt vollständigen Administrationszugriff. Lassen Sie uns erneut die Geheimnisse vonkube-system
kubectl get secrets -n kube-system
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
