GCP Pentesting
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)
Πριν ξεκινήσετε το pentesting ενός GCP περιβάλλοντος, υπάρχουν μερικά βασικά πράγματα που πρέπει να γνωρίζετε για το πώς λειτουργεί, ώστε να σας βοηθήσει να κατανοήσετε τι πρέπει να κάνετε, πώς να βρείτε κακοδιαμορφώσεις και πώς να τις εκμεταλλευτείτε.
Έννοιες όπως η ιεραρχία της οργάνωσης, οι άδειες και άλλες βασικές έννοιες εξηγούνται στο:
GCP - Basic InformationΓια να ελέγξετε ένα περιβάλλον GCP, είναι πολύ σημαντικό να γνωρίζετε: ποιες υπηρεσίες χρησιμοποιούνται, τι εκτίθεται, ποιος έχει πρόσβαση σε τι και πώς συνδέονται οι εσωτερικές υπηρεσίες GCP με τις εξωτερικές υπηρεσίες.
Από την οπτική γωνία της Red Team, το πρώτο βήμα για να συμβιβαστεί ένα περιβάλλον GCP είναι να καταφέρετε να αποκτήσετε κάποια διαπιστευτήρια. Εδώ έχετε μερικές ιδέες για το πώς να το κάνετε αυτό:
Leaks στο github (ή παρόμοια) - OSINT
Social Engineering (Δείτε τη σελίδα Workspace Security)
Password reuse (password leaks)
Ευπάθειες σε εφαρμογές που φιλοξενούνται στο GCP
Server Side Request Forgery με πρόσβαση στο metadata endpoint
Local File Read
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3rd parties breached
Internal Employee
Ή με συμβιβασμό μιας μη αυθεντικοποιημένης υπηρεσίας που εκτίθεται:
GCP - Unauthenticated Enum & AccessΉ αν κάνετε μια ανασκόπηση, μπορείτε απλά να ζητήσετε διαπιστευτήρια με αυτούς τους ρόλους:
GCP - Permissions for a PentestΑφού καταφέρετε να αποκτήσετε διαπιστευτήρια, πρέπει να γνωρίζετε σε ποιον ανήκουν αυτά τα creds, και σε τι έχουν πρόσβαση, οπότε πρέπει να εκτελέσετε κάποια βασική αρίθμηση:
Για περισσότερες πληροφορίες σχετικά με το πώς να αριθμήσετε τα GCP metadata, ελέγξτε την παρακάτω σελίδα hacktricks:
Στο GCP μπορείτε να δοκιμάσετε πολλές επιλογές για να προσπαθήσετε να μαντέψετε ποιος είστε:
Μπορείτε επίσης να χρησιμοποιήσετε το API endpoint /userinfo
για να αποκτήσετε περισσότερες πληροφορίες σχετικά με τον χρήστη:
Αν έχετε αρκετά δικαιώματα, η έλεγχος των προνομίων κάθε οντότητας μέσα στον λογαριασμό GCP θα σας βοηθήσει να κατανοήσετε τι μπορείτε να κάνετε εσείς και άλλες ταυτότητες και πώς να κλιμακώσετε τα προνόμια.
Αν δεν έχετε αρκετά δικαιώματα για να καταγράψετε το IAM, μπορείτε να τα κλέψετε με brute-force για να τα ανακαλύψετε. Δείτε πώς να κάνετε την καταγραφή και το brute-forcing στο:
GCP - IAM, Principals & Org Policies EnumΤώρα που έχετε κάποιες πληροφορίες σχετικά με τα διαπιστευτήριά σας (και αν είστε red team ελπίζω να δεν έχετε ανιχνευθεί). Είναι καιρός να κατανοήσετε ποιες υπηρεσίες χρησιμοποιούνται στο περιβάλλον. Στην επόμενη ενότητα μπορείτε να δείτε μερικούς τρόπους για να καταγράψετε κάποιες κοινές υπηρεσίες.
Η GCP έχει μια εκπληκτική ποσότητα υπηρεσιών, στην επόμενη σελίδα θα βρείτε βασικές πληροφορίες, καταγραφή cheatsheets, πώς να αποφύγετε την ανίχνευση, να αποκτήσετε επιμονή, και άλλα tricks μετά την εκμετάλλευση σχετικά με μερικές από αυτές:
GCP - ServicesΣημειώστε ότι δεν χρειάζεται να εκτελέσετε όλη τη δουλειά χειροκίνητα, παρακάτω σε αυτή την ανάρτηση μπορείτε να βρείτε μια ενότητα σχετικά με αυτόματα εργαλεία.
Επιπλέον, σε αυτό το στάδιο μπορεί να έχετε ανακαλύψει περισσότερες υπηρεσίες εκτεθειμένες σε μη αυθεντικοποιημένους χρήστες, μπορεί να είστε σε θέση να τις εκμεταλλευτείτε:
GCP - Unauthenticated Enum & AccessΟ πιο κοινός τρόπος μόλις έχετε αποκτήσει κάποια διαπιστευτήρια cloud ή έχετε παραβιάσει κάποια υπηρεσία που εκτελείται μέσα σε ένα cloud είναι να καταχραστείτε κακώς ρυθμισμένα προνόμια που μπορεί να έχει ο παραβιασμένος λογαριασμός. Έτσι, το πρώτο πράγμα που πρέπει να κάνετε είναι να καταγράψετε τα προνόμιά σας.
Επιπλέον, κατά τη διάρκεια αυτής της καταγραφής, θυμηθείτε ότι τα δικαιώματα μπορούν να ρυθμιστούν στο υψηλότερο επίπεδο "Οργάνωσης" επίσης.
GCP - Privilege EscalationGCP - Post ExploitationGCP - PersistenceΚατά την καταγραφή υπηρεσιών GCP μπορεί να έχετε βρει κάποιες από αυτές να εκθέτουν στοιχεία στο Διαδίκτυο (θύρες VM/Containers, βάσεις δεδομένων ή υπηρεσίες ουρών, στιγμιότυπα ή κάδους...). Ως pentester/red teamer θα πρέπει πάντα να ελέγχετε αν μπορείτε να βρείτε ευαίσθητες πληροφορίες / ευπάθειες σε αυτές καθώς μπορεί να σας παρέχουν περαιτέρω πρόσβαση στον λογαριασμό AWS.
Σε αυτό το βιβλίο θα πρέπει να βρείτε πληροφορίες σχετικά με το πώς να βρείτε εκτεθειμένες υπηρεσίες GCP και πώς να τις ελέγξετε. Σχετικά με το πώς να βρείτε ευπάθειες σε εκτεθειμένες υπηρεσίες δικτύου θα σας συνιστούσα να αναζητήσετε την συγκεκριμένη υπηρεσία στο:
Η παραβίαση οντοτήτων σε μία πλατφόρμα μπορεί να επιτρέψει σε έναν επιτιθέμενο να παραβιάσει την άλλη, ελέγξτε το στο:
GCP <--> Workspace PivotingΣτην κονσόλα GCloud, στο https://console.cloud.google.com/iam-admin/asset-inventory/dashboard μπορείτε να δείτε πόρους και IAM που χρησιμοποιούνται από το έργο.
Εδώ μπορείτε να δείτε τα περιουσιακά στοιχεία που υποστηρίζονται από αυτή την API: https://cloud.google.com/asset-inventory/docs/supported-asset-types
Δείτε εργαλεία που μπορούν να χρησιμοποιηθούν σε πολλές cloud εδώ.
gcp_scanner: Αυτό είναι ένα scanner πόρων GCP που μπορεί να βοηθήσει να προσδιορίσετε τι επίπεδο πρόσβασης έχουν ορισμένα διαπιστευτήρια στο GCP.
gcp_enum: Bash script για την καταμέτρηση ενός περιβάλλοντος GCP χρησιμοποιώντας gcloud cli και αποθήκευση των αποτελεσμάτων σε ένα αρχείο.
GCP-IAM-Privilege-Escalation: Scripts για την καταμέτρηση υψηλών IAM δικαιωμάτων και για την κλιμάκωση δικαιωμάτων στο GCP εκμεταλλευόμενα αυτά (δεν μπόρεσα να εκτελέσω το script καταμέτρησης).
BF My GCP Permissions: Script για την βίαιη αναζήτηση των δικαιωμάτων σας.
Θυμηθείτε ότι μπορείτε να χρησιμοποιήσετε την παράμετρο --log-http
με το gcloud
cli για να εκτυπώσετε τις αιτήσεις που εκτελεί το εργαλείο. Αν δεν θέλετε τα αρχεία καταγραφής να αποκρύπτουν την τιμή του token, χρησιμοποιήστε gcloud config set log_http_redact_token false
Επιπλέον, για να παγιδεύσετε την επικοινωνία:
Για να χρησιμοποιήσετε ένα εξαγόμενο OAuth token υπηρεσίας από το endpoint μεταδεδομένων μπορείτε απλά να κάνετε:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)