Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

Ang Helm ay isang manager ng package para sa Kubernetes, tulad ng apt-get para sa Ubuntu. Sa talang ito makikita natin ang nakaraang bersyon ng timon (v2) na may naka-install na tiller service bilang default, kung saan maa-access natin ang cluster.

Ihanda natin ang kumpol; upang gawin ito, patakbuhin ang utos:

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

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

Pagpapakita

  • Kung hindi ka magko-configure ng anumang karagdagang bagay, sisimulan ng helm v2 ang tiller service, na mayroong RBAC na may ganap na mga karapatan ng administrator ng cluster.
  • Pagkatapos ng pag-install sa namespace kube-system lilitaw tiller-deploy, at nagbubukas din ng port 44134, na nakatali sa 0.0.0.0. Maaari itong suriin gamit ang telnet.

$ telnet tiller-deploy.kube-system 44134

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

  • Ngayon ay maaari ka nang kumonekta sa tiller service. Gagamitin namin ang helm binary upang magsagawa ng mga operasyon kapag nakikipag-ugnayan sa serbisyo ng tiller:

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

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

  • Subukan nating kunin ang mga lihim ng Kubernetes cluster mula sa namespace kube-system:

$ kubectl get secrets -n kube-system

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

  • Ngayon ay makakagawa na kami ng sarili naming chart, kung saan gagawa kami ng tungkulin na may mga karapatan ng administrator at itatalaga ang tungkuling ito sa default na account ng serbisyo. Gamit ang token mula sa service account na ito, nakatanggap kami ng ganap na access sa aming cluster.

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

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

  • Ngayon kung kailan pwnchart na-deploy, ang default na account ng serbisyo ay may ganap na administratibong pag-access. Suriin natin muli kung paano makakuha ng mga lihim mula sa kube-system

kubectl get secrets -n kube-system

Pagsira sa isang Kubernetes cluster gamit ang Helm v2 tiller

Ang matagumpay na pagpapatupad ng script na ito ay nakasalalay sa kung paano na-deploy ang tiller; kung minsan ang mga administrator ay nagde-deploy nito sa isang hiwalay na namespace na may iba't ibang mga pribilehiyo. Ang Helm 3 ay hindi madaling kapitan sa mga ganitong kahinaan dahil... walang magsasaka dito.

Tala ng tagasalin: Ang paggamit ng mga patakaran sa network upang i-filter ang trapiko sa isang cluster ay nakakatulong na maprotektahan laban sa ganitong uri ng mga kahinaan.

Pinagmulan: www.habr.com

Magdagdag ng komento