GCP - Containers & GKE Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Στα κοντέινερ GCP μπορείτε να βρείτε τις περισσότερες από τις υπηρεσίες που βασίζονται σε κοντέινερ που προσφέρει το GCP, εδώ μπορείτε να δείτε πώς να καταγράψετε τις πιο κοινές:
Στην επόμενη σελίδα μπορείτε να ελέγξετε πώς να καταχραστείτε τις άδειες κοντέινερ για να κλιμακώσετε τα προνόμια:
GCP - Container PrivescΑυτές είναι οι ομάδες μηχανών (κόμβοι) που σχηματίζουν τα clusters kubernetes.
Για πληροφορίες σχετικά με το τι είναι το Kubernetes, ελέγξτε αυτή τη σελίδα:
Kubernetes PentestingΑρχικά, μπορείτε να ελέγξετε αν υπάρχουν οποιοιδήποτε Kubernetes clusters στο έργο σας.
Αν έχετε ένα cluster, μπορείτε να έχετε το gcloud
να ρυθμίζει αυτόματα το αρχείο ~/.kube/config
σας. Αυτό το αρχείο χρησιμοποιείται για να σας πιστοποιήσει όταν χρησιμοποιείτε το kubectl, το εγγενές CLI για αλληλεπίδραση με τα K8s clusters. Δοκιμάστε αυτή την εντολή.
Στη συνέχεια, ρίξτε μια ματιά στο αρχείο ~/.kube/config
για να δείτε τα παραγόμενα διαπιστευτήρια. Αυτό το αρχείο θα χρησιμοποιηθεί για την αυτόματη ανανέωση των διακριτικών πρόσβασης με βάση την ίδια ταυτότητα που χρησιμοποιεί η ενεργή σας gcloud
συνεδρία. Αυτό φυσικά απαιτεί τις σωστές άδειες.
Αφού ρυθμιστεί αυτό, μπορείτε να δοκιμάσετε την παρακάτω εντολή για να αποκτήσετε τη διαμόρφωση του κλάστερ.
Μπορείτε να διαβάσετε περισσότερα για το gcloud
για κοντέινερ εδώ.
Αυτό είναι ένα απλό σενάριο για την καταμέτρηση του kubernetes στο GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Αρχικά, αυτή η τεχνική κλιμάκωσης προνομίων επέτρεπε privesc μέσα στο GKE cluster επιτρέποντας αποτελεσματικά σε έναν επιτιθέμενο να συμβιβάσει πλήρως το σύστημα.
Αυτό συμβαίνει επειδή το GKE παρέχει TLS Bootstrap credentials στα μεταδεδομένα, τα οποία είναι προσβάσιμα από οποιονδήποτε απλά συμβιβάζοντας ένα pod.
Η τεχνική που χρησιμοποιήθηκε εξηγείται στις παρακάτω αναρτήσεις:
Και αυτό το εργαλείο δημιουργήθηκε για να αυτοματοποιήσει τη διαδικασία: https://github.com/4ARMED/kubeletmein
Ωστόσο, η τεχνική εκμεταλλεύτηκε το γεγονός ότι με τα διαπιστευτήρια μεταδεδομένων ήταν δυνατό να δημιουργηθεί ένα CSR (Certificate Signing Request) για έναν νέο κόμβο, ο οποίος ήταν αυτόματα εγκεκριμένος. Στη δοκιμή μου, διαπίστωσα ότι αυτές οι αιτήσεις δεν εγκρίνονται αυτόματα πια, οπότε δεν είμαι σίγουρος αν αυτή η τεχνική είναι ακόμα έγκυρη.
Στην παρακάτω ανάρτηση ανακαλύφθηκε μια διεύθυνση Kubelet API προσβάσιμη από μέσα σε ένα pod στο GKE που παρέχει λεπτομέρειες για τα pods που εκτελούνται:
Ακόμα και αν το API δεν επιτρέπει την τροποποίηση πόρων, θα μπορούσε να είναι δυνατό να βρεθούν ευαίσθητες πληροφορίες στην απάντηση. Το endpoint /pods βρέθηκε χρησιμοποιώντας Kiterunner.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)