GCP - Cloudbuild Privesc

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

cloudbuild

Για περισσότερες πληροφορίες σχετικά με το Cloud Build, ελέγξτε:

pageGCP - Cloud Build Enum

cloudbuild.builds.create

Με αυτήν την άδεια μπορείτε να υποβάλετε ένα cloud build. Η μηχανή cloudbuild θα έχει από προεπιλογή ένα διακριτικό του λογαριασμού υπηρεσίας cloudbuild: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com. Ωστόσο, μπορείτε να δηλώσετε οποιονδήποτε λογαριασμό υπηρεσίας μέσα στο έργο στη διαμόρφωση cloudbuild. Επομένως, μπορείτε απλά να κάνετε τη μηχανή να εξαγάγει στον διακομιστή σας το διακριτικό ή να πάρετε ένα αντίστροφο κέλυφος μέσα σε αυτό και να πάρετε το διακριτικό (το αρχείο που περιέχει το διακριτικό μπορεί να αλλάξει).

Μπορείτε να βρείτε το αρχικό σενάριο εκμετάλλευσης εδώ στο GitHub (αλλά η τοποθεσία από την οποία παίρνει το διακριτικό δεν λειτούργησε για μένα). Επομένως, ελέγξτε ένα σενάριο για την αυτοματοποίηση της δημιουργίας, εκμετάλλευσης και καθαρισμού ενός ευπάθους περιβάλλοντος εδώ και ένα πρόγραμμα σε python για να πάρετε ένα αντίστροφο κέλυφος μέσα στη μηχανή cloudbuild και να το κλέψετε εδώ (στον κώδικα μπορείτε να βρείτε πώς να καθορίσετε άλλους λογαριασμούς υπηρεσίας).

Για μια πιο λεπτομερή εξήγηση, επισκεφθείτε https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/

cloudbuild.builds.update

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

TODO

cloudbuild.repositories.accessReadToken

Με αυτήν την άδεια ο χρήστης μπορεί να πάρει το διακριτικό πρόσβασης για ανάγνωση που χρησιμοποιείται για την πρόσβαση στο αποθετήριο:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{}' \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>/repositories/<repo-id>:accessReadToken"

cloudbuild.repositories.accessReadWriteToken

Με αυτήν την άδεια, ο χρήστης μπορεί να λάβει το διακριτικό πρόσβασης για ανάγνωση και εγγραφή που χρησιμοποιείται για την πρόσβαση στο αποθετήριο:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{}' \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>/repositories/<repo-id>:accessReadWriteToken"

cloudbuild.connections.fetchLinkableRepositories

Με αυτήν την άδεια μπορείτε να πάρετε τα αποθετήρια στα οποία έχει πρόσβαση η σύνδεση:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>:fetchLinkableRepositories"
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated