Razbijanje Kubernetes klastera pomoću Helm v2 tillera

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

Helm je upravitelj paketa za Kubernetes, nešto slično apt-get za Ubuntu. U ovoj bilješci vidjet ćemo prethodnu verziju helma (v2) sa standardno instaliranom uslugom tiller preko koje ćemo pristupati klasteru.

Pripremimo klaster; da biste to učinili, pokrenite naredbu:

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

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

demonstracija

  • Ako ne konfigurirate ništa dodatno, helm v2 pokreće uslugu upravljanja, koja ima RBAC s punim pravima administratora klastera.
  • Nakon instalacije u imenski prostor kube-system Čini tiller-deploy, a također otvara port 44134, vezan za 0.0.0.0. Ovo se može provjeriti pomoću telneta.

$ telnet tiller-deploy.kube-system 44134

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

  • Sada se možete spojiti na uslugu kormila. Koristit ćemo binarnu datoteku kormila za izvođenje operacija kada komuniciramo s uslugom upravljanja:

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

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

  • Pokušajmo dobiti tajne Kubernetes klastera iz prostora imena kube-system:

$ kubectl get secrets -n kube-system

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

  • Sada možemo izraditi vlastiti grafikon u kojem ćemo stvoriti ulogu s administratorskim pravima i tu ulogu dodijeliti zadanom servisnom računu. Koristeći token s ovog servisnog računa, dobili smo puni pristup našem klasteru.

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

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

  • Sad kad pwnchart postavljen, zadani račun usluge ima puni administrativni pristup. Provjerimo ponovno kako dobiti tajne od kube-system

kubectl get secrets -n kube-system

Razbijanje Kubernetes klastera pomoću Helm v2 tillera

Uspješno izvođenje ove skripte ovisi o tome kako je tiller postavljen; ponekad ga administratori postavljaju u zasebnom prostoru imena s različitim privilegijama. Helm 3 nije osjetljiv na takve ranjivosti jer... u njemu nema kormila.

Napomena prevoditelja: Korištenje mrežnih pravila za filtriranje prometa u klasteru pomaže u zaštiti od ove vrste ranjivosti.

Izvor: www.habr.com

Dodajte komentar