44134 - Pentesting Tiller (Helm)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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
Si puedes enumerar pods y/o servicios de diferentes namespaces, enuméralos y busca aquellos con "tiller" en su nombre:
Ejemplos:
También podrías intentar encontrar este servicio en ejecución verificando el puerto 44134:
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 oficial de lanzamientos. Para más detalles, o para otras opciones, consulta la guía de instalación.
Luego, puedes enumerar el servicio:
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.
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.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)