From 42d3db1397e1133e9911b85fa3eff9ae436dfa60 Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 15 Nov 2025 11:48:58 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/gcp-security/gcp-privilege-escalat --- .../gcp-misc-perms-privesc.md | 23 ++++++++++------ .../gcp-orgpolicy-privesc.md | 27 +++++++++++++++++-- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md index d1ccd62a4..136db6546 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md @@ -1,25 +1,32 @@ -# GCP - Γενικές Άδειες Privesc +# GCP - Γενικά Δικαιώματα Privesc {{#include ../../../banners/hacktricks-training.md}} -## Γενικές Ενδιαφέρουσες Άδειες +## Γενικά Ενδιαφέροντα Δικαιώματα ### \*.setIamPolicy -Αν κατέχετε έναν χρήστη που έχει την άδεια **`setIamPolicy`** σε έναν πόρο, μπορείτε να **αναβαθμίσετε τα προνόμιά σας σε αυτόν τον πόρο** επειδή θα μπορείτε να αλλάξετε την πολιτική IAM αυτού του πόρου και να αποκτήσετε περισσότερα προνόμια πάνω του.\ -Αυτή η άδεια μπορεί επίσης να επιτρέψει να **αναβαθμίσετε σε άλλους φορείς** αν ο πόρος επιτρέπει την εκτέλεση κώδικα και η iam.ServiceAccounts.actAs δεν είναι απαραίτητη. +Αν έχετε έναν χρήστη που έχει την άδεια **`setIamPolicy`** σε έναν πόρο μπορείτε να **αυξήσετε προνόμια σε αυτόν τον πόρο** επειδή θα μπορείτε να αλλάξετε την IAM πολιτική του πόρου και να δώσετε στον εαυτό σας περισσότερα προνόμια.\ +Αυτή η άδεια μπορεί επίσης να επιτρέψει την **αύξηση προνομίων σε άλλους principals** αν ο πόρος επιτρέπει την εκτέλεση κώδικα και το `iam.ServiceAccounts.actAs` δεν είναι απαραίτητο. - _cloudfunctions.functions.setIamPolicy_ -- Τροποποιήστε την πολιτική μιας Cloud Function για να επιτρέψετε στον εαυτό σας να την καλέσει. +- Τροποποιήστε την πολιτική ενός Cloud Function ώστε να επιτρέψετε στον εαυτό σας να το καλέσετε. -Υπάρχουν δεκάδες τύποι πόρων με αυτό το είδος άδειας, μπορείτε να τους βρείτε όλους στο [https://cloud.google.com/iam/docs/permissions-reference](https://cloud.google.com/iam/docs/permissions-reference) αναζητώντας το setIamPolicy. +Υπάρχουν δεκάδες τύποι πόρων με αυτό το είδος άδειας, μπορείτε να βρείτε όλους τους σε [https://cloud.google.com/iam/docs/permissions-reference](https://cloud.google.com/iam/docs/permissions-reference) ψάχνοντας για setIamPolicy. ### \*.create, \*.update -Αυτές οι άδειες μπορεί να είναι πολύ χρήσιμες για να προσπαθήσετε να αναβαθμίσετε τα προνόμιά σας σε πόρους δημιουργώντας **έναν νέο ή ενημερώνοντας έναν νέο**. Αυτές οι άδειες είναι ιδιαίτερα χρήσιμες αν έχετε επίσης την άδεια **iam.serviceAccounts.actAs** σε έναν Λογαριασμό Υπηρεσίας και ο πόρος που έχετε .create/.update μπορεί να συνδέσει έναν λογαριασμό υπηρεσίας. +Αυτές οι άδειες μπορούν να είναι πολύ χρήσιμες για να προσπαθήσετε να αυξήσετε προνόμια σε πόρους δημιουργώντας έναν νέο ή ενημερώνοντας έναν υπάρχοντα. Αυτός ο τύπος αδειών είναι ιδιαίτερα χρήσιμος αν έχετε επίσης την άδεια **iam.serviceAccounts.actAs** πάνω σε ένα Service Account και ο πόρος πάνω στον οποίο έχετε .create/.update μπορεί να επισυνάψει ένα Service Account. ### \*ServiceAccount\* -Αυτή η άδεια συνήθως θα σας επιτρέπει να **προσεγγίσετε ή να τροποποιήσετε έναν Λογαριασμό Υπηρεσίας σε κάποιον πόρο** (π.χ.: compute.instances.setServiceAccount). Αυτό **θα μπορούσε να οδηγήσει σε ένα vector αναβάθμισης προνομίων**, αλλά θα εξαρτηθεί από την κάθε περίπτωση. +Αυτή η άδεια συνήθως θα σας επιτρέψει να **έχετε πρόσβαση ή να τροποποιήσετε ένα Service Account σε κάποιον πόρο** (π.χ.: compute.instances.setServiceAccount). Αυτό **μπορεί να οδηγήσει σε privilege escalation**, αλλά θα εξαρτηθεί από την κάθε περίπτωση. + +### iam.ServiceAccounts.actAs + +Αυτή η άδεια θα σας επιτρέψει να επισυνάψετε ένα Service Account σε έναν πόρο που το υποστηρίζει (π.χ.: Compute Engine VM, Cloud Function, Cloud Run, κ.λπ.).\ +Αν μπορείτε να επισυνάψετε ένα Service Account που έχει περισσότερα προνόμια από τον χρήστη σας σε έναν πόρο που μπορεί να εκτελέσει κώδικα, θα μπορέσετε να αυξήσετε τα προνόμιά σας εκτελώντας κώδικα με αυτό το Service Account. + +Αναζητήστε στο Cloud Hacktricks το `iam.ServiceAccounts.actAs` για να βρείτε αρκετά παραδείγματα του πώς να escalate privileges με αυτήν την άδεια. {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md index a879ee6f2..bb4dc730a 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md @@ -6,7 +6,7 @@ ### `orgpolicy.policy.set` -Ένας επιτιθέμενος που εκμεταλλεύεται το **orgpolicy.policy.set** μπορεί να χειριστεί τις οργανωτικές πολιτικές, οι οποίες θα του επιτρέψουν να αφαιρέσει ορισμένους περιορισμούς που εμποδίζουν συγκεκριμένες λειτουργίες. Για παράδειγμα, ο περιορισμός **appengine.disableCodeDownload** συνήθως μπλοκάρει τη λήψη του πηγαίου κώδικα του App Engine. Ωστόσο, χρησιμοποιώντας το **orgpolicy.policy.set**, ένας επιτιθέμενος μπορεί να απενεργοποιήσει αυτόν τον περιορισμό, αποκτώντας έτσι πρόσβαση για να κατεβάσει τον πηγαίο κώδικα, παρά το γεγονός ότι αρχικά ήταν προστατευμένος. +Ένας attacker που εκμεταλλεύεται το **orgpolicy.policy.set** μπορεί να χειριστεί τις οργανωτικές πολιτικές, επιτρέποντάς του να αφαιρέσει ορισμένους περιορισμούς που εμποδίζουν συγκεκριμένες ενέργειες. Για παράδειγμα, ο περιορισμός **appengine.disableCodeDownload** συνήθως εμποδίζει τη λήψη του πηγαίου κώδικα του App Engine. Ωστόσο, χρησιμοποιώντας το **orgpolicy.policy.set**, ένας attacker μπορεί να απενεργοποιήσει αυτόν τον περιορισμό, αποκτώντας έτσι πρόσβαση για να κατεβάσει τον πηγαίο κώδικα, παρότι αρχικά ήταν προστατευμένος. ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ] @@ -14,8 +14,31 @@ gcloud resource-manager org-policies describe [--folder | --or # Disable gcloud resource-manager org-policies disable-enforce [--folder | --organization | --project ] ``` -Ένα σενάριο python για αυτή τη μέθοδο μπορεί να βρεθεί [εδώ](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py). +Ένα 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 επειδή υπάρχει ένας περιορισμός πολιτικής που επιβάλλεται με όνομα **`iam.disableCrossProjectServiceAccountUsage`** ο οποίος αποτρέπει αυτή τη ενέργεια. + +Μπορείτε να επαληθεύσετε αν αυτός ο περιορισμός εφαρμόζεται τρέχοντας την ακόλουθη εντολή: +```bash +gcloud resource-manager org-policies describe \ +constraints/iam.disableCrossProjectServiceAccountUsage \ +--project= \ +--effective + +booleanPolicy: +enforced: true +constraint: constraints/iam.disableCrossProjectServiceAccountUsage +``` +Αυτό αποτρέπει έναν επιτιθέμενο από το να καταχράται την άδεια **`iam.serviceAccounts.actAs`** για να προσποιηθεί έναν service account από άλλο project χωρίς τις επιπλέον απαιτούμενες infra άδειες για να ξεκινήσει, για παράδειγμα, ένα νέο VM, κάτι που θα μπορούσε να οδηγήσει σε escalation δικαιωμάτων. + +Ωστόσο, ένας επιτιθέμενος με τα δικαιώματα **`orgpolicy.policy.set`** μπορεί να παρακάμψει αυτόν τον περιορισμό απενεργοποιώντας τον περιορισμό **`iam.disableServiceAccountProjectWideAccess`**. Αυτό επιτρέπει στον επιτιθέμενο να επισυνάψει έναν service account από άλλο project σε έναν πόρο στο δικό του project, αυξάνοντας ουσιαστικά τα προνόμια του. +```bash +gcloud resource-manager org-policies disable-enforce \ +iam.disableCrossProjectServiceAccountUsage \ +--project= +``` ## Αναφορές - [https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/](https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/)