Ламаем кластар Kubernetes праз Helm v2 tiller

Ламаем кластар Kubernetes праз Helm v2 tiller

Helm - пакетны менеджэр для Kubernetes, нешта накшталт apt-get для Ubuntu. У гэтай нататцы мы ўбачым папярэднюю версію helm (v2) з сэрвісам tiller, усталяваным па змаўчанні, праз які атрымаем доступ да кластара.

Падрыхтуем кластар, для гэтага запусцім каманду:

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

Ламаем кластар Kubernetes праз Helm v2 tiller

дэманстрацыя

  • Калі нічога дадаткова не наладжваць, helm v2 запускае сэрвіс tiller, які мае RBAC c поўнымі правамі адміністратара кластара.
  • Пасля ўстаноўкі ў namespace kube-system з'яўляецца tiller-deploy, а таксама адчыняецца порт 44134, прывязаны да 0.0.0.0. Гэта можна праверыць з дапамогай telnet.

$ telnet tiller-deploy.kube-system 44134

Ламаем кластар Kubernetes праз Helm v2 tiller

  • Цяпер можна падлучыцца да сэрвісу tiller. Будзем выкарыстоўваць бінарнік helm для правядзення аперацый пры зносінах з сэрвісам tiller:

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

Ламаем кластар Kubernetes праз Helm v2 tiller

  • Паспрабуем атрымаць сакрэты кластара Kubernetes з namespace kube-system:

$ kubectl get secrets -n kube-system

Ламаем кластар Kubernetes праз Helm v2 tiller

  • Цяпер мы можам стварыць свой уласны чарт, у якім створым ролю з правамі адміністратара і прызначым гэтую ролю дэфолтнага сэрвіс акаўнту. Выкарыстоўваючы токен ад гэтага сэрвіс акаўнта, мы атрымалі поўны доступ у наш кластар.

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

Ламаем кластар Kubernetes праз Helm v2 tiller

  • Цяпер, калі pwnchart разгорнуты, сэрвісны ўліковы запіс па змаўчанні мае поўны адміністрацыйны доступ. Праверым яшчэ раз атрыманне сакрэтаў з kube-system

kubectl get secrets -n kube-system

Ламаем кластар Kubernetes праз Helm v2 tiller

Паспяховае выкананне гэтага сцэнара залежыць ад таго, як быў разгорнуты tiller, часам адміністратары разгортваюць яго ў асобным namespace з іншымі прывілеямі. Helm 3 не схільны такім уразлівасцям, т.я. у ім няма tiller.

Заўвага перакладчыка: выкарыстанне сеткавых палітык для фільтравання трафіку ў кластары дапамагае абароніцца ад уразлівасцяў падобнага тыпу.

Крыніца: habr.com

Дадаць каментар