GCP - Federation Abuse
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)
Για να δώσετε πρόσβαση στις Github Actions από ένα repo του Github σε έναν λογαριασμό υπηρεσίας GCP, απαιτούνται τα εξής βήματα:
Δημιουργήστε τον Λογαριασμό Υπηρεσίας για πρόσβαση από τις github actions με τις επιθυμητές άδειες:
Δημιουργήστε μια νέα πισίνα ταυτότητας φόρτου εργασίας:
Δημιουργήστε έναν νέο workload identity pool OIDC provider που εμπιστεύεται τις github actions (με βάση το όνομα οργανισμού/αποθετηρίου σε αυτό το σενάριο):
Τέλος, επιτρέψτε στον κύριο από τον πάροχο να χρησιμοποιήσει έναν υπηρεσιακό κύριο:
Σημειώστε πώς στην προηγούμενη μέθοδο καθορίζουμε το org-name/repo-name
ως προϋποθέσεις για να μπορέσουμε να αποκτήσουμε πρόσβαση στον λογαριασμό υπηρεσίας (άλλες παράμετροι που τον καθιστούν πιο περιοριστικό όπως ο κλάδος θα μπορούσαν επίσης να χρησιμοποιηθούν).
Ωστόσο, είναι επίσης δυνατό να επιτραπεί σε όλους τους github να αποκτήσουν πρόσβαση στον λογαριασμό υπηρεσίας δημιουργώντας έναν πάροχο όπως ο παρακάτω χρησιμοποιώντας έναν wildcard:
Σε αυτή την περίπτωση, οποιοσδήποτε θα μπορούσε να αποκτήσει πρόσβαση στον λογαριασμό υπηρεσίας από τις github actions, οπότε είναι σημαντικό πάντα να ελέγχετε πώς ορίζεται το μέλος. Πρέπει πάντα να είναι κάτι σαν αυτό:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Θυμηθείτε να αλλάξετε ${providerId}
και ${saId}
με τις αντίστοιχες τιμές τους:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)