GCP - Workflows Privesc
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)
Basic Information:
GCP - Workflows Enumworkflows.workflows.create
, iam.serviceAccounts.ActAs
, workflows.executions.create
, (workflows.workflows.get
, workflows.operations.get
)Όπως γνωρίζω, δεν είναι δυνατόν να αποκτήσετε ένα shell με πρόσβαση στο endpoint μεταδεδομένων που περιέχει τα διαπιστευτήρια SA του SA που επιτίθεται σε ένα Workflow. Ωστόσο, είναι δυνατόν να καταχραστείτε τις άδειες του SA προσθέτοντας τις ενέργειες που πρέπει να εκτελούνται μέσα στο Workflow.
Είναι δυνατόν να βρείτε την τεκμηρίωση των συνδετήρων. Για παράδειγμα, αυτή είναι η σελίδα του συνδετήρα Secretmanager. Στη γραμμή πλοήγησης είναι δυνατόν να βρείτε αρκετούς άλλους συνδετήρες.
Και εδώ μπορείτε να βρείτε ένα παράδειγμα ενός συνδετήρα που εκτυπώνει ένα μυστικό:
Ενημέρωση από το CLI:
Αν λάβετε ένα σφάλμα όπως ERROR: (gcloud.workflows.deploy) FAILED_PRECONDITION: Workflows service agent does not exist
, απλά περιμένετε ένα λεπτό και δοκιμάστε ξανά.
Αν δεν έχετε πρόσβαση στο διαδίκτυο, είναι δυνατόν να ενεργοποιήσετε και να δείτε την εκτέλεση ενός Workflow με:
Μπορείτε επίσης να ελέγξετε την έξοδο προηγούμενων εκτελέσεων για να αναζητήσετε ευαίσθητες πληροφορίες
Σημειώστε ότι ακόμη και αν λάβετε ένα σφάλμα όπως PERMISSION_DENIED: Permission 'workflows.operations.get' denied on...
επειδή δεν έχετε αυτή την άδεια, η ροή εργασίας έχει δημιουργηθεί.
Σύμφωνα με τα έγγραφα, είναι δυνατόν να χρησιμοποιήσετε βήματα ροής εργασίας που θα στείλουν ένα HTTP αίτημα με το OAuth ή OIDC token. Ωστόσο, όπως και στην περίπτωση του Cloud Scheduler, το HTTP αίτημα με το Oauth token πρέπει να είναι προς τον κεντρικό υπολογιστή .googleapis.com
.
Επομένως, είναι δυνατόν να διαρρεύσει το OIDC token υποδεικνύοντας ένα HTTP endpoint που ελέγχεται από τον χρήστη, αλλά για να διαρρεύσει το OAuth token θα χρειαστείτε μια παράκαμψη για αυτή την προστασία. Ωστόσο, μπορείτε ακόμα να επικοινωνήσετε με οποιοδήποτε GCP api για να εκτελέσετε ενέργειες εκ μέρους του SA χρησιμοποιώντας είτε συνδέσμους είτε HTTP αιτήματα με το OAuth token.
workflows.workflows.update
...Με αυτή την άδεια αντί για workflows.workflows.create
είναι δυνατή η ενημέρωση ενός ήδη υπάρχοντος workflow και η εκτέλεση των ίδιων επιθέσεων.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)