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

This commit is contained in:
Translator
2025-01-05 15:11:39 +00:00
parent 7fe07a7965
commit d2bbefa833

View File

@@ -10,18 +10,18 @@ Aby uzyskać więcej informacji o Cloud Build, sprawdź:
../gcp-services/gcp-cloud-build-enum.md
{{#endref}}
### `cloudbuild.builds.create`
### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs`
Dzięki temu uprawnieniu możesz **złożyć budowę w chmurze**. Maszyna cloudbuild będzie miała w swoim systemie plików domyślnie **token konta usługi cloudbuild**: `<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`. Możesz jednak **wskazać dowolne konto usługi w projekcie** w konfiguracji cloudbuild.\
Dlatego możesz po prostu sprawić, aby maszyna wyeksportowała token na twój serwer lub **uzyskać powrotną powłokę wewnątrz niej i zdobyć token** (plik zawierający token może się zmieniać).
Możesz znaleźć oryginalny skrypt exploitujący [**tutaj na GitHubie**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (ale lokalizacja, z której pobiera token, nie działała dla mnie). Dlatego sprawdź skrypt do automatyzacji [**tworzenia, eksploatacji i czyszczenia podatnego środowiska tutaj**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) oraz skrypt w Pythonie, aby uzyskać powrotną powłokę wewnątrz maszyny cloudbuild i [**ukraść go tutaj**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (w kodzie znajdziesz, jak wskazać inne konta usługi)**.**
Możesz znaleźć oryginalny skrypt exploitujący [**tutaj na GitHubie**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) (ale lokalizacja, z której pobiera token, nie działała dla mnie). Dlatego sprawdź skrypt do automatyzacji [**tworzenia, eksploatacji i czyszczenia podatnego środowiska tutaj**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) oraz skrypt w Pythonie do uzyskania powrotnej powłoki wewnątrz maszyny cloudbuild i [**kradzieży tokena tutaj**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (w kodzie znajdziesz, jak wskazać inne konta usługi)**.**
Aby uzyskać bardziej szczegółowe wyjaśnienie, odwiedź [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/)
### `cloudbuild.builds.update`
**Potencjalnie** dzięki temu uprawnieniu będziesz mógł **aktualizować budowę w chmurze i po prostu ukraść token konta usługi** tak, jak to miało miejsce w przypadku poprzedniego uprawnienia (ale niestety w momencie pisania tego tekstu nie mogłem znaleźć żadnego sposobu na wywołanie tego API).
**Potencjalnie** dzięki temu uprawnieniu będziesz mógł **aktualizować budowę w chmurze i po prostu ukraść token konta usługi** tak, jak to zrobiono w przypadku poprzedniego uprawnienia (ale niestety w momencie pisania tego tekstu nie mogłem znaleźć żadnego sposobu na wywołanie tego API).
TODO
@@ -37,7 +37,7 @@ curl -X POST \
```
### `cloudbuild.repositories.accessReadWriteToken`
Dzięki temu uprawnieniu użytkownik może uzyskać **token dostępu do odczytu i zapisu** używany do uzyskiwania dostępu do repozytorium:
Dzięki temu uprawnieniu użytkownik może uzyskać **token dostępu do odczytu i zapisu** używany do uzyskania dostępu do repozytorium:
```bash
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \