Хелм је менаџер пакета за Кубернетес, нешто слично apt-get
за Убунту. У овој напомени видећемо претходну верзију кормила (в2) са подразумевано инсталираном услугом тиллер, преко које ћемо приступити кластеру.
Хајде да припремимо кластер; да бисте то урадили, покрените команду:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Демонстрација
- Ако не конфигуришете ништа додатно, хелм в2 покреће сервис тиллер, који има РБАЦ са пуним администраторским правима кластера.
- Након инсталације у именском простору
kube-system
појављује сеtiller-deploy
, а такође отвара порт 44134, везан за 0.0.0.0. Ово се може проверити помоћу телнета.
$ telnet tiller-deploy.kube-system 44134
- Сада можете да се повежете са сервисом руде. Користићемо бинарни програм кормила за обављање операција када комуницирамо са сервисом руде:
$ helm --host tiller-deploy.kube-system:44134 version
- Хајде да покушамо да добијемо тајне Кубернетес кластера из простора имена
kube-system
:
$ kubectl get secrets -n kube-system
- Сада можемо да креирамо сопствени графикон, у коме ћемо креирати улогу са администраторским правима и доделити ову улогу подразумеваном налогу услуге. Користећи токен са овог налога услуге, добили смо пун приступ нашем кластеру.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Сада када
pwnchart
распоређен, подразумевани налог услуге има пун административни приступ. Хајде да поново проверимо како да добијемо тајне одkube-system
kubectl get secrets -n kube-system
Успешно извршавање ове скрипте зависи од тога како је тиллер примењен; понекад га администратори примењују у засебном именском простору са различитим привилегијама. Хелм 3 није подложан таквим рањивостима јер... у њему нема фрезе.
Напомена преводиоца: Коришћење мрежних смерница за филтрирање саобраћаја у кластеру помаже у заштити од ове врсте рањивости.
Извор: ввв.хабр.цом