Helm hè un gestore di pacchetti per Kubernetes, qualcosa di simile apt-get
per Ubuntu. In questa nota, vedemu a versione precedente di helm (v2) cù u serviziu di tiller installatu per difettu, attraversu quale accede à u cluster.
Preparamu u cluster per fà questu, eseguite u cumandamentu:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Dimostrazione
- Se ùn cunfigurate nunda di più, helm v2 principia u serviziu tiller, chì hà RBAC cù diritti di amministratore di cluster cumpletu.
- Dopu a stallazione in namespace
kube-system
apparetiller-deploy
, è apre ancu u portu 44134, ligatu à 0.0.0.0. Questu pò esse verificatu cù telnet.
$ telnet tiller-deploy.kube-system 44134
- Avà vi ponu cunnette vi à u serviziu tiller. Useremu u binariu di timone per fà operazioni quandu cumunicà cù u serviziu di tiller:
$ helm --host tiller-deploy.kube-system:44134 version
- Pruvemu di ottene i secreti di u cluster Kubernetes da u spaziu di nomi
kube-system
:
$ kubectl get secrets -n kube-system
- Avà pudemu creà a nostra propria carta, in quale creeremu un rolu cù diritti di amministratore è assignà stu rolu à u contu di serviziu predeterminatu. Utilizendu u token da stu contu di serviziu, avemu ricevutu un accessu cumpletu à u nostru cluster.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Avà quandu
pwnchart
implementatu, u contu di serviziu predeterminatu hà accessu amministrativu cumpletu. Cuntrollemu di novu cumu uttene sicreti dakube-system
kubectl get secrets -n kube-system
L'esekzione riescita di stu script dipende da cume tiller hè statu implementatu à volte l'amministratori implementanu in un spaziu di nome separatu cù privilegi differenti. Helm 3 ùn hè micca suscettibile à tali vulnerabilità perchè ... ùn ci hè micca tiller in questu.
Nota di u traduttore: L'usu di e pulitiche di rete per filtrà u trafficu in un cluster aiuta à prutezzione di stu tipu di vulnerabilità.
Source: www.habr.com