44134 - Pentesting Tiller (Helm)
Informations de base
Helm est le gestionnaire de packages pour Kubernetes. Il permet de regrouper des fichiers YAML et de les distribuer dans des référentiels publics et privés. Ces packages sont appelés Helm Charts. Tiller est le service exécuté par défaut sur le port 44134 offrant le service.
Port par défaut : 44134
Énumération
Si vous pouvez énumérer les pods et/ou services de différents espaces de noms, énumérez-les et recherchez ceux avec "tiller" dans leur nom:
Exemples :
Vous pourriez également essayer de trouver ce service en vérifiant le port 44134 :
Une fois que vous l'avez découvert, vous pouvez communiquer avec lui en téléchargeant l'application client helm. Vous pouvez utiliser des outils comme homebrew
, ou consulter la page des versions officielles. Pour plus de détails, ou pour d'autres options, consultez le guide d'installation.
Ensuite, vous pouvez énumérer le service:
Élévation de privilèges
Par défaut, Helm2 était installé dans l'espace de noms kube-system avec des privilèges élevés, donc si vous trouvez le service et y avez accès, cela pourrait vous permettre d'élever les privilèges.
Tout ce que vous avez à faire est d'installer un package comme celui-ci : https://github.com/Ruil1n/helm-tiller-pwn qui donnera accès au jeton de service par défaut à tout dans l'ensemble du cluster.
Dans http://rui0.cn/archives/1573, vous avez l'explication de l'attaque, mais en gros, si vous lisez les fichiers clusterrole.yaml et clusterrolebinding.yaml à l'intérieur de helm-tiller-pwn/pwnchart/templates/ vous pouvez voir comment tous les privilèges sont accordés au jeton par défaut.
Last updated