44134 - Pentesting Tiller (Helm)
Informazioni di base
Helm è il gestore di pacchetti per Kubernetes. Permette di impacchettare file YAML e distribuirli in repository pubbliche e private. Questi pacchetti sono chiamati Helm Charts. Tiller è il servizio in esecuzione per impostazione predefinita sulla porta 44134 che offre il servizio.
Porta predefinita: 44134
Enumerazione
Se puoi enumerare i pod e/o i servizi di diversi namespace, enumerali e cerca quelli con "tiller" nel loro nome:
Esempi:
Puoi anche provare a trovare questo servizio in esecuzione controllando la porta 44134:
Una volta che l'hai scoperto, puoi comunicare con esso scaricando l'applicazione client helm. Puoi usare strumenti come homebrew
, o guardare la pagina ufficiale delle release. Per ulteriori dettagli, o per altre opzioni, consulta la guida all'installazione.
Poi, puoi enumerare il servizio:
Privilege Escalation
Per impostazione predefinita, Helm2 è stato installato nel namespace kube-system con elevati privilegi, quindi se trovi il servizio e hai accesso ad esso, questo potrebbe consentirti di escalare i privilegi.
Tutto ciò che devi fare è installare un pacchetto come questo: https://github.com/Ruil1n/helm-tiller-pwn che darà al token di servizio predefinito accesso a tutto nell'intero cluster.
In http://rui0.cn/archives/1573 hai la spiegazione dell'attacco, ma fondamentalmente, se leggi i file clusterrole.yaml e clusterrolebinding.yaml all'interno di helm-tiller-pwn/pwnchart/templates/ puoi vedere come tutti i privilegi vengono dati al token predefinito.
Last updated