GCP - Orgpolicy 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

orgpolicy

orgpolicy.policy.set

Ένας επιτιθέμενος που εκμεταλλεύεται την orgpolicy.policy.set μπορεί να χειριστεί τις πολιτικές του οργανισμού, κάτι που του επιτρέπει να αφαιρέσει ορισμένους περιορισμούς που παρεμποδίζουν συγκεκριμένες ενέργειες. Για παράδειγμα, ο περιορισμός appengine.disableCodeDownload συνήθως εμποδίζει τη λήψη του πηγαίου κώδικα του App Engine. Ωστόσο, χρησιμοποιώντας την orgpolicy.policy.set, ένας επιτιθέμενος μπορεί να απενεργοποιήσει αυτόν τον περιορισμό, αποκτώντας έτσι πρόσβαση για να κατεβάσει τον πηγαίο κώδικα, παρόλο που αρχικά ήταν προστατευμένος.

Λήψη πληροφοριών org policy και απενεργοποίηση της επιβολής ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ]

Disable

gcloud resource-manager org-policies disable-enforce [–folder | –organization | –project ]

</details>

Ένα python script για αυτή τη μέθοδο μπορεί να βρεθεί [εδώ](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py).

### `orgpolicy.policy.set`, `iam.serviceAccounts.actAs`

Συνήθως δεν είναι δυνατή η προσάρτηση ενός service account από διαφορετικό project σε ένα resource, επειδή επιβάλλεται ένας policy constraint με την ονομασία **`iam.disableCrossProjectServiceAccountUsage`** που αποτρέπει αυτή την ενέργεια.

Μπορείτε να επαληθεύσετε αν αυτός ο policy constraint εφαρμόζεται εκτελώντας την ακόλουθη εντολή:

<details>
<summary>Επαλήθευση περιορισμού cross-project service account</summary>
```bash
gcloud resource-manager org-policies describe \
constraints/iam.disableCrossProjectServiceAccountUsage \
--project=<project-id> \
--effective

booleanPolicy:
enforced: true
constraint: constraints/iam.disableCrossProjectServiceAccountUsage

Αυτό αποτρέπει έναν επιτιθέμενο από το να καταχραστεί το permission iam.serviceAccounts.actAs για να πλαστοπροσωπήσει ένα service account από άλλο project χωρίς τις απαραίτητες επιπλέον infra δικαιοδοσίες για να ξεκινήσει, για παράδειγμα, ένα νέο VM, κάτι που θα μπορούσε να οδηγήσει σε privilege escalation.

Ωστόσο, ένας επιτιθέμενος με τα δικαιώματα orgpolicy.policy.set μπορεί να παρακάμψει αυτόν τον περιορισμό απενεργοποιώντας το constraint iam.disableServiceAccountProjectWideAccess. Αυτό επιτρέπει στον επιτιθέμενο να επισυνάψει ένα service account από άλλο project σε έναν πόρο στο δικό του project, ανεβάζοντας ουσιαστικά τα προνόμιά του.

Απενεργοποίηση του περιορισμού που αποτρέπει τη χρήση service account από άλλο project ```bash gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project= ```

Αναφορές

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