Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

Helm — správce balíčků pro Kubernetes, něco jako apt-get pro Ubuntu. V této poznámce se podíváme na předchozí verzi helm (v2) se službou tiller, která je výchozím nastavením a prostřednictvím které získáme přístup ke klastru.

Připravíme klastr, k tomu spustíme příkaz:

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

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

Demonstrace

  • Pokud nic navíc nenastavujeme, helm v2 spouští službu tiller, která má RBAC s plnými administrátorskými právy pro klastr.
  • Po instalaci v namespace kube-system se objevuje tiller-deploy, a také se otevře port 44134, připojený k 0.0.0.0. To lze zkontrolovat pomocí telnetu.

$ telnet tiller-deploy.kube-system 44134

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

  • Nyní se můžeme připojit k službě tiller. Použijeme binární soubor helm pro provádění operací při komunikaci se službou tiller:

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

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

  • Zkusíme získat tajemství z Kubernetes klastru z namespace kube-system:

$ kubectl get secrets -n kube-system

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

  • Nyní můžeme vytvořit vlastní chart, ve kterém vytvoříme roli s administrátorskými právy a přiřadíme tuto roli výchozímu služebnímu účtu. Použitím tokenu z tohoto služebního účtu jsme získali plný přístup do našeho klastru.

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

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

  • Teď, když pwnchart byl nasazen, výchozí služební účet má plný administrátorský přístup. Znovu zkontrolujeme získání tajemství z kube-system

kubectl get secrets -n kube-system

Rozbíjíme Kubernetes cluster pomocí Helm v2 tiller

Úspěšné provedení tohoto skriptu závisí na tom, jak byl tiller nasazen, někdy ho administrátoři nasazují ve zvláštním namespace s jinými oprávněními. Helm 3 není náchylný k takovým zranitelnostem, protože neobsahuje tiller.

Poznámka překladatele: používání síťových politik pro filtrování provozu v klastru pomáhá chránit před zranitelnostmi tohoto typu.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster