Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

Helm je správca balíkov pre Kubernetes, niečo ako apt-get pre Ubuntu. V tejto poznámke uvidíme predchádzajúcu verziu kormidla (v2) s predvolene nainštalovanou službou kormidla, cez ktorú budeme pristupovať ku klastru.

Pripravme klaster; na tento účel spustite príkaz:

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

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

demonštrácie

  • Ak nenakonfigurujete nič navyše, helm v2 spustí službu obrábača, ktorá má RBAC s plnými právami správcu klastra.
  • Po inštalácii do menného priestoru kube-system objavia tiller-deploya tiež otvorí port 44134, viazaný na 0.0.0.0. Dá sa to skontrolovať pomocou telnetu.

$ telnet tiller-deploy.kube-system 44134

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

  • Teraz sa môžete pripojiť k službe kultivátora. Binárku kormidla použijeme na vykonávanie operácií pri komunikácii so službou kormidla:

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

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

  • Pokúsme sa získať tajomstvá klastra Kubernetes z menného priestoru kube-system:

$ kubectl get secrets -n kube-system

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

  • Teraz si môžeme vytvoriť vlastný graf, v ktorom vytvoríme rolu s administrátorskými právami a priradíme túto rolu predvolenému účtu služby. Pomocou tokenu z tohto účtu služby sme získali úplný prístup k nášmu klastru.

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

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

  • Teraz kedy pwnchart nasadený, predvolený účet služby má úplný administratívny prístup. Pozrime sa znova, ako získať tajomstvá z kube-system

kubectl get secrets -n kube-system

Rozbitie klastra Kubernetes pomocou kultivátora Helm v2

Úspešné vykonanie tohto skriptu závisí od toho, ako bol kultivátor nasadený; niekedy ho správcovia nasadia do samostatného priestoru názvov s rôznymi privilégiami. Helm 3 nie je náchylný na takéto zraniteľnosti, pretože... nie je v ňom kormidlo.

Poznámka prekladateľa: Používanie sieťových politík na filtrovanie prevádzky v klastri pomáha chrániť sa pred týmto typom zraniteľností.

Zdroj: hab.com

Pridať komentár