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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
orgpolicy
orgpolicy.policy.set
Ένας επιτιθέμενος που εκμεταλλεύεται την orgpolicy.policy.set μπορεί να χειριστεί τις πολιτικές του οργανισμού, κάτι που του επιτρέπει να αφαιρέσει ορισμένους περιορισμούς που παρεμποδίζουν συγκεκριμένες ενέργειες. Για παράδειγμα, ο περιορισμός appengine.disableCodeDownload συνήθως εμποδίζει τη λήψη του πηγαίου κώδικα του App Engine. Ωστόσο, χρησιμοποιώντας την orgpolicy.policy.set, ένας επιτιθέμενος μπορεί να απενεργοποιήσει αυτόν τον περιορισμό, αποκτώντας έτσι πρόσβαση για να κατεβάσει τον πηγαίο κώδικα, παρόλο που αρχικά ήταν προστατευμένος.
Λήψη πληροφοριών org policy και απενεργοποίηση της επιβολής
```bash # Get info gcloud resource-manager org-policies describeDisable
gcloud resource-manager org-policies disable-enforce
</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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

