Translated ['src/pentesting-ci-cd/cloudflare-security/cloudflare-domains

This commit is contained in:
Translator
2025-01-11 19:05:51 +00:00
parent 06ae0ca85c
commit 652d8299d6
44 changed files with 2150 additions and 515 deletions

View File

@@ -23,13 +23,13 @@ gcp-basic-information/
GCP 環境を監査するためには、どの **サービスが使用されているか**、何が **公開されているか**、誰が **何にアクセスできるか**、および内部 GCP サービスと **外部サービス** がどのように接続されているかを知ることが非常に重要です。
レッドチームの観点から、GCP 環境を侵害するための **最初のステップ** は、いくつかの **資格情報** を取得することです。以下はその方法に関するいくつかのアイデアです:
レッドチームの観点から、GCP 環境を侵害するための **最初のステップ** は、いくつかの **資格情報** を取得することです。以下はその方法いくつかのアイデアです:
- githubまたは類似のもの)での **漏洩** - OSINT
- **ソーシャル** エンジニアリングページ [**Workspace Security**](../workspace-security/) を確認
- **パスワード** 再利用パスワード漏洩
- github (または類似の) での **漏洩** - OSINT
- **ソーシャル** エンジニアリング (ページ [**Workspace Security**](../workspace-security/index.html) を確認)
- **パスワード** 再利用 (パスワード漏洩)
- GCP ホストアプリケーションの脆弱性
- [**サーバーサイドリクエストフォージェリ**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) メタデータエンドポイントへのアクセス
- [**サーバーサイドリクエストフォージェリ**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) メタデータエンドポイントへのアクセス
- **ローカルファイル読み取り**
- `/home/USERNAME/.config/gcloud/*`
- `C:\Users\USERNAME\.config\gcloud\*`
@@ -49,16 +49,16 @@ gcp-permissions-for-a-pentest.md
{{#endref}}
> [!NOTE]
> 資格情報を取得した後は、それらの資格情報が **誰に属しているか**、および **何にアクセスできるか** を知る必要があります。そのため、いくつかの基本的な列挙を実行する必要があります:
> 資格情報を取得した後は、それが **誰のものであるか**、および **何にアクセスできるか** を知る必要があります。したがって、いくつかの基本的な列挙を実行する必要があります:
## 基本的な列挙
### **SSRF**
GCP メタデータを **列挙** する方法についての詳細は、以下の hacktricks ページを確認してください:
GCP メタデータを **列挙する** 方法についての詳細は、以下の hacktricks ページを確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#6440
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Whoami
@@ -90,7 +90,7 @@ gcloud projects list # Get projects
十分な権限がある場合、**GCPアカウント内の各エンティティの権限を確認すること**は、あなたや他のアイデンティティが何をできるか、また**権限を昇格させる方法**を理解するのに役立ちます。
IAMを列挙するための十分な権限がない場合、**ブルートフォースで盗む**ことでそれを把握することができます。\
IAMを列挙するための十分な権限がない場合、**ブルートフォースで盗む**ことでそれを把握できます。\
**列挙とブルートフォースの方法**については、以下を確認してください:
{{#ref}}
@@ -98,7 +98,7 @@ gcp-services/gcp-iam-and-org-policies-enum.md
{{#endref}}
> [!NOTE]
> 現在、**あなたの資格情報に関する情報を持っている**(そして、もしあなたがレッドチームであれば、幸運にも**検出されていない**ことを願います)。環境で使用されているサービスを特定する時が来ました。\
> 現在、**あなたの資格情報に関する情報を持っている**(そして、もしあなたがレッドチームであれば、**検出されていないことを願っています**)。環境で使用されているサービスを特定する時が来ました。\
> 次のセクションでは、**一般的なサービスを列挙する方法**をいくつか確認できます。
## Services Enumeration
@@ -109,9 +109,9 @@ GCPには驚くべき数のサービスがあります。次のページでは
gcp-services/
{{#endref}}
すべての作業を**手動で**行う必要はないことに注意してください。この投稿の下部には、[**自動ツール**](./#automatic-tools)に関する**セクション**があります。
すべての作業を**手動で**行う必要はないことに注意してください。この投稿の下部には、[**自動ツール**](#automatic-tools)に関する**セクション**があります。
さらに、この段階で**認証されていないユーザーに公開されているサービスを**発見した場合、それを悪用できるかもしれません:
さらに、この段階で**認証されていないユーザーに公開されているサービスを**発見するかもしれません。それを悪用できるかもしれません:
{{#ref}}
gcp-unauthenticated-enum-and-access/
@@ -119,7 +119,7 @@ gcp-unauthenticated-enum-and-access/
## Privilege Escalation, Post Exploitation & Persistence
クラウドの資格情報を取得したり、クラウド内で実行されているサービスを侵害した後の最も一般的な方法は、侵害されたアカウントが持つ**誤って設定された権限を悪用すること**です。したがって、最初に行うべきことは、自分の権限を列挙することです。
クラウドの資格情報を取得したり、クラウド内で実行されているサービスを侵害した後の最も一般的な方法は、**侵害されたアカウントが持つ設定された権限を悪用すること**です。したがって、最初に行うべきことは、自分の権限を列挙することです。
さらに、この列挙中に、**権限は「組織」の最高レベルで設定できる**ことを忘れないでください。
@@ -138,12 +138,12 @@ gcp-persistence/
### Publicly Exposed Services
GCPサービスを列挙しているときに、いくつかのサービスが**インターネットに要素を公開している**のを見つけたかもしれませんVM/コンテナのポート、データベースやキューサービス、スナップショットやバケットなど)。\
ペンテスター/レッドチームのメンバーとして、これらに**機密情報や脆弱性**がないか常に確認すべきです。これにより、**AWSアカウントへのさらなるアクセス**を得ることができるかもしれません。
ペンテスター/レッドチームとして、**機密情報や脆弱性**を見つけられるかどうかを常に確認すべきです。これにより、**AWSアカウントへのさらなるアクセス**を得ることができるかもしれません。
この本では、**公開されたGCPサービスを見つける方法とそれを確認する方法**に関する**情報**を見つけることができす。**公開されたネットワークサービスの脆弱性を見つける方法**については、特定の**サービス**を以下で**検索**することをお勧めします:
この本では、**公開されたGCPサービスを見つける方法とそれを確認する方法**に関する**情報**を見つけることができるはずです。**公開されたネットワークサービスの脆弱性を見つける方法**については、特定の**サービス**を以下で**検索**することをお勧めします:
{{#ref}}
https://book.hacktricks.xyz/
https://book.hacktricks.wiki/
{{#endref}}
## GCP <--> Workspace Pivoting
@@ -156,10 +156,10 @@ gcp-to-workspace-pivoting/
## Automatic Tools
- **GCloudコンソール**で、[https://console.cloud.google.com/iam-admin/asset-inventory/dashboard](https://console.cloud.google.com/iam-admin/asset-inventory/dashboard)プロジェクトによって使用されているリソースとIAMを確認できます。
- **GCloudコンソール**で、[https://console.cloud.google.com/iam-admin/asset-inventory/dashboard](https://console.cloud.google.com/iam-admin/asset-inventory/dashboard)にアクセスすると、プロジェクト使用されているリソースとIAMを確認できます。
- このAPIでサポートされている資産を確認できます[https://cloud.google.com/asset-inventory/docs/supported-asset-types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
- [**複数のクラウドで使用できるツール**](../pentesting-cloud-methodology.md)を確認してください。
- [**gcp_scanner**](https://github.com/google/gcp_scanner):これはGCP上で特定の資格情報が持つ**アクセスレベル**を判断するのに役立つGCPリソーススキャナーです。
- [**gcp_scanner**](https://github.com/google/gcp_scanner)これはGCPリソーススキャナーで、特定の資格情報がGCP上で**どのレベルのアクセスを持っているか**を判断するのに役立ちます。
```bash
# Install
git clone https://github.com/google/gcp_scanner.git
@@ -189,11 +189,11 @@ gcloud auth application-default print-access-token
# Update gcloud
gcloud components update
```
### gcloudgsutil... ネットワークのキャプチャ
### Capture gcloud, gsutil... network
**`gcloud`** cliで**リクエスト**を**印刷**するために、**パラメータ** **`--log-http`**を使用できることを忘れないでください。ログがトークン値を隠さないようにするには、`gcloud config set log_http_redact_token false`を使用します。
**`gcloud`** CLIで**リクエスト**を**表示**するために、**パラメータ** **`--log-http`**を使用できることを忘れないでください。ログがトークン値を隠さないようにするには、`gcloud config set log_http_redact_token false`を使用します。
さらに、通信を傍受するには
さらに、通信を傍受するには:
```bash
gcloud config set proxy/address 127.0.0.1
gcloud config set proxy/port 8080
@@ -210,7 +210,7 @@ gcloud config unset proxy/type
gcloud config unset auth/disable_ssl_validation
gcloud config unset core/custom_ca_certs_file
```
### gcloudでのOAuthトークンの設定
### OAuthトークンのgcloudでの設定
**メタデータエンドポイントから抽出されたサービスアカウントOAuthトークンを使用するためには**、次のようにするだけです:
```bash

View File

@@ -12,31 +12,31 @@
### 依存関係の混乱
- **リモートと標準**のリポジトリが**仮想**リポジトリで**混在**し、両方にパッケージが存在する場合、どうなか?
- **仮想リポジトリ**で**優先度が最も高く設定されたもの**が使用され
- **リモートと標準**のリポジトリが**仮想**リポジトリで**混在**し、両方にパッケージが存在する場合、どうなりますか?
- **仮想リポジトリ**で**優先度が最も高く設定されたもの**が使用されます
- **優先度が同じ**の場合:
- **バージョン**が**同じ**であれば、**仮想リポジトリ**で**アルファベット順に最初のポリシー名**が使用され
- そうでなければ、**最も高いバージョン**が使用され
- **バージョン**が**同じ**であれば、**仮想リポジトリ**で**アルファベット順に最初のポリシー名**が使用されます
- そうでない場合は、**最も高いバージョン**が使用されます
> [!CAUTION]
> したがって、リモートリポジトリがより高いまたは同じ優先度を持っている場合、**パブリックパッケージレジストリ**で**最高バージョン(依存関係の混乱)**を**悪用**することが可能です
> したがって、リモートリポジトリがより高いまたは同じ優先度を持っている場合、**公開パッケージレジストリ**で**最高バージョン(依存関係の混乱)**を**悪用**することが可能です
この技術は、**持続性**と**認証されていないアクセス**に役立ちます。悪用するには、アーティファクト レジストリに保存されている**ライブラリ名**を**知っている**必要があり、**パブリックリポジトリ例えばPythonのPyPi**に同じライブラリを**より高いバージョン**で**作成**するだけです。
この技術は、**持続性**と**認証されていないアクセス**に役立ちます。悪用するには、アーティファクト レジストリに保存されている**ライブラリ名**を**知っている**必要があり、**同じライブラリを公開リポジトリ例えばPythonのPyPi**より高いバージョンで**作成**するだけです。
持続性のために従うべき手順は次のとおりです:
- **要件**: **仮想リポジトリ**が**存在**し、使用されている必要があります。**パブリックリポジトリ**に存在しない**名前**の**内部パッケージ**を使用する必要があります。
- 存在しない場合はリモートリポジトリを作成する
- リモートリポジトリを仮想リポジトリに追加す
- リモートリポジトリにより高い(または同じ)優先度を与えるために仮想レジストリのポリシーを編集す。\
- **要件**: **仮想リポジトリ**が**存在**し、使用されている必要があります。**公開リポジトリ**に存在しない**名前**の**内部パッケージ**を使用する必要があります。
- リモートリポジトリが存在しない場合は作成します
- リモートリポジトリを仮想リポジトリに追加しま
- リモートリポジトリにより高い(または同じ)優先度を与えるために仮想レジストリのポリシーを編集します。\
次のようなコマンドを実行します:
- [gcloud artifacts repositories update --upstream-policy-file ...](https://cloud.google.com/sdk/gcloud/reference/artifacts/repositories/update#--upstream-policy-file)
- 正当なパッケージをダウンロードし、悪意のあるコードを追加して、同じバージョンでパブリックリポジトリに登録します。開発者がインストールするたびに、あなたのものがインストールされます!
- 正当なパッケージをダウンロードし、悪意のあるコードを追加して、同じバージョンで公開リポジトリに登録します。開発者がインストールするたびに、あなたのものがインストールされます!
依存関係の混乱に関する詳細情報は、以下を確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/dependency-confusion
https://book.hacktricks.wiki/en/pentesting-web/dependency-confusion.html
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -11,26 +11,26 @@ sqlite3 $HOME/.config/gcloud/access_tokens.db "select access_token from access_t
このページで**gcloudを使用してこのトークンを直接使用する方法**を確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#id-6440-1
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#gcp
{{#endref}}
**新しいアクセストークンを生成する**ための詳細を取得するには、次を実行します:
**新しいアクセストークンを生成する**ための詳細を取得するには、次のコマンドを実行します:
```bash
sqlite3 $HOME/.config/gcloud/credentials.db "select value from credentials where account_id='<email>';"
```
**`$HOME/.config/gcloud/application_default_credentials.json`** および **`$HOME/.config/gcloud/legacy_credentials/*/adc.json`** にリフレッシュトークン見つることも可能です。
**`$HOME/.config/gcloud/application_default_credentials.json`** および **`$HOME/.config/gcloud/legacy_credentials/*/adc.json`** にリフレッシュトークン見つることもあります。
**リフレッシュトークン**、クライアントID、およびクライアントシークレットを使用して新しいアクセストークンを取得するには、次のコマンドを実行します:
```bash
curl -s --data client_id=<client_id> --data client_secret=<client_secret> --data grant_type=refresh_token --data refresh_token=<refresh_token> --data scope="https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/accounts.reauth" https://www.googleapis.com/oauth2/v4/token
```
リフレッシュトークンの有効性は**Admin** > **Security** > **Google Cloud session control** で管理でき、デフォルトでは16時間に設定されていますが、期限切れにならないように設定することもできます
リフレッシュトークンの有効性は **Admin** > **Security** > **Google Cloud session control** で管理でき、デフォルトでは16時間に設定されていますが、期限切れにならないように設定することもできます
<figure><img src="../../../images/image (11).png" alt=""><figcaption></figcaption></figure>
### 認証フロー
### Auth flow
`gcloud auth login` のようなものを使用する際の認証フローは、ブラウザプロンプトを表示し、すべてのスコープを受け入れた後、ブラウザはツールによって開かれたhttpポートにこのようなリクエストを送信します
`gcloud auth login` のようなものを使用する際の認証フローは、ブラウザプロンプトを開き、すべてのスコープを承認した後、ブラウザはツールによって開かれたhttpポートにこのようなリクエストを送信します
```
/?state=EN5AK1GxwrEKgKog9ANBm0qDwWByYO&code=4/0AeaYSHCllDzZCAt2IlNWjMHqr4XKOuNuhOL-TM541gv-F6WOUsbwXiUgMYvo4Fg0NGzV9A&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/cloud-platform%20https://www.googleapis.com/auth/appengine.admin%20https://www.googleapis.com/auth/sqlservice.login%20https://www.googleapis.com/auth/compute%20https://www.googleapis.com/auth/accounts.reauth&authuser=0&prompt=consent HTTP/1.1
```
@@ -65,14 +65,14 @@ https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/userinfo.email
```
このアプリが**`drive`**スコープをサポートしているのは興味深いことで、攻撃者がユーザーにこのスコープでトークンを生成させることに成功すれば、GCPからWorkspaceにエスカレートすることが可能になります。
このアプリが**`drive`**スコープをサポートしているのは興味深いことであり、攻撃者がユーザーにこのスコープでトークンを生成させることに成功すれば、GCPからWorkspaceにエスカレートすることが可能になります。
**こちらで** [**この方法を悪用する方法を確認してください**](../gcp-to-workspace-pivoting/#abusing-gcloud)**。**
**こちらで** [**この方法を悪用する方法を確認してください**](../gcp-to-workspace-pivoting/index.html#abusing-gcloud)**。**
### サービスアカウント
認証されたユーザーと同様に、サービスアカウントの**プライベートキーのファイルを侵害することができれば、通常は好きなだけアクセスすることができます**。\
しかし、サービスアカウントの**OAuthトークンを盗むことができれば、さらに興味深いことになります。デフォルトではこれらのトークンは通常1時間だけ有効ですが、**被害者がプライベートAPIキーを削除しても、OAuthトークンは期限が切れるまで有効です**。
認証されたユーザーと同様に、サービスアカウントの**プライベートキーのファイルを侵害することができれば、通常は好きなだけ**アクセスすることができます。\
しかし、サービスアカウントの**OAuthトークンを盗むことができれば、さらに興味深いことになります。なぜなら、デフォルトではこれらのトークンは通常1時間だけ有効ですが、**もし**被害者がプライベートAPIキーを削除した場合、OAuthトークンは有効期限が切れるまで有効であり続けるからです**。
### メタデータ
@@ -80,7 +80,7 @@ https://www.googleapis.com/auth/userinfo.email
### 修正策
これらの技術に対するいくつかの修正策は、[https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2](https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2)説明されています。
これらの技術に対するいくつかの修正策は、[https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2](https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2)説明されています。
### 参考文献

View File

@@ -2,45 +2,45 @@
{{#include ../../../banners/hacktricks-training.md}}
このシナリオでは、**特権のないアカウントを** Compute Engine プロジェクト内の VM に侵入したと仮定します。
このシナリオでは、あなたが **VM内の非特権アカウントを侵害した** と仮定します。
驚くべきことに、侵入した Compute Engine の GPC 権限は、**マシン内でローカルに特権を昇格させる**のに役立つかもしれません。クラウド環境では常に非常に役立つわけではありませんが、可能であることを知っておくのは良いことです。
驚くべきことに、あなたが侵害した Compute Engine の GPC 権限は、**マシン内でローカルに特権を昇格させる**のに役立つかもしれません。クラウド環境では常に非常に役立つわけではありませんが、可能であることを知っておくのは良いことです。
## スクリプトを読む <a href="#follow-the-scripts" id="follow-the-scripts"></a>
**Compute インスタンス**は、おそらくそのサービスアカウントアクションを実行するために**いくつかのスクリプトを実行する**ために存在しています。
**Compute インスタンス**は、おそらくそのサービスアカウントを使用してアクションを実行するために **いくつかのスクリプトを実行する** ために存在しています。
IAM非常に細かく設定されているため、アカウントはリソースに対して**読み取り/書き込み**権限を持っているが**リスト権限は持っていない**場合があります。
IAM非常に細かく設定できるため、アカウントはリソースに対して **読み取り/書き込み** 権限を持っているが **リスト権限は持っていない** 可能性があります。
この良い仮想的な例は、`instance82736-long-term-xyz-archive-0332893`というストレージバケットにバックアップを読み書きする権限を持つ Compute インスタンスです。
この良い仮想的な例は、`instance82736-long-term-xyz-archive-0332893` というストレージバケットにバックアップを読み書きする権限を持つ Compute インスタンスです。
コマンドラインから `gsutil ls` を実行すると、サービスアカウントが `storage.buckets.list` IAM 権限を欠いているため、何も返されません。しかし、`gsutil ls gs://instance82736-long-term-xyz-archive-0332893` を実行すると、完全なファイルシステムバックアップが見つかり、ローカル Linux アカウントが欠いているデータへの平文アクセスが得られます
コマンドラインから `gsutil ls` を実行すると何も返されません。なぜなら、サービスアカウントが `storage.buckets.list` IAM 権限を欠いているからです。しかし、`gsutil ls gs://instance82736-long-term-xyz-archive-0332893` を実行すると、完全なファイルシステムバックアップが見つかり、あなたのローカル Linux アカウントが持っていないデータへの平文アクセスが得られるかもしれません
このバケット名は、スクリプトbash、Python、Ruby など)内で見つけることができるかもしれません。
このバケット名は、スクリプトbash、Python、Rubyなど内で見つけることができるかもしれません。
## カスタムメタデータ
管理者は、**インスタンス**および**プロジェクトレベル**で[カスタムメタデータ](https://cloud.google.com/compute/docs/storing-retrieving-metadata#custom)を追加できます。これは、**任意のキー/値ペアをインスタンスに渡す**方法であり、環境変数やスタートアップ/シャットダウンスクリプトに一般的に使用されます。
管理者は、**インスタンス**および **プロジェクトレベル**で [カスタムメタデータ](https://cloud.google.com/compute/docs/storing-retrieving-metadata#custom) を追加できます。これは、**任意のキー/値ペアをインスタンスに渡す**方法であり、環境変数や起動/シャットダウンスクリプトに一般的に使用されます。
さらに、**ユーザーデータ**を追加することも可能で、これはマシンが起動または再起動されるたびに**実行されるスクリプト**であり、**メタデータエンドポイントからもアクセス可能です。**
さらに、**ユーザーデータ**を追加することも可能で、これはマシンが起動または再起動されるたびに **実行されるスクリプト**であり、**メタデータエンドポイントからもアクセス可能です。**
詳細については、を確認してください:
詳細については、以下を確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
## **IAM 権限の悪用**
## **IAM権限の悪用**
以下に提案するほとんどの権限は、**デフォルトの Compute SA に与えられていますが、**唯一の問題は、**デフォルトのアクセススコープが SA の使用を妨げる**ことです。しかし、**`cloud-platform`** **スコープ**が有効になっているか、**`compute`** **スコープ**が有効になっている場合、れらを**悪用することができます**
以下に提案するほとんどの権限は、**デフォルトの Compute SA に与えられています**唯一の問題は、**デフォルトのアクセススコープが SA の使用を妨げる**ことです。しかし、**`cloud-platform`** **スコープ**が有効になっているか、単に **`compute`** **スコープ**が有効になっている場合、あなたはそれらを **悪用することができる**でしょう
以下の権限を確認してください:
- [**compute.instances.osLogin**](gcp-compute-privesc/#compute.instances.oslogin)
- [**compute.instances.osAdminLogin**](gcp-compute-privesc/#compute.instances.osadminlogin)
- [**compute.projects.setCommonInstanceMetadata**](gcp-compute-privesc/#compute.projects.setcommoninstancemetadata)
- [**compute.instances.setMetadata**](gcp-compute-privesc/#compute.instances.setmetadata)
- [**compute.instances.setIamPolicy**](gcp-compute-privesc/#compute.instances.setiampolicy)
- [**compute.instances.osLogin**](gcp-compute-privesc/index.html#compute.instances.oslogin)
- [**compute.instances.osAdminLogin**](gcp-compute-privesc/index.html#compute.instances.osadminlogin)
- [**compute.projects.setCommonInstanceMetadata**](gcp-compute-privesc/index.html#compute.projects.setcommoninstancemetadata)
- [**compute.instances.setMetadata**](gcp-compute-privesc/index.html#compute.instances.setmetadata)
- [**compute.instances.setIamPolicy**](gcp-compute-privesc/index.html#compute.instances.setiampolicy)
## ファイルシステム内のキーを検索

View File

@@ -4,11 +4,11 @@
## 基本情報
Google Cloud Compute Instancesは、**Googleのクラウドインフラストラクチャ上のカスタマイズ可能な仮想マシン**であり、さまざまなアプリケーションに対してスケーラブルでオンデマンドのコンピューティングパワーを提供します。グローバル展開、永続ストレージ、柔軟なOSの選択、強力なネットワーキングおよびセキュリティ統合などの機能を提供し、ウェブサイトのホスティング、データ処理、アプリケーションの効率的な実行において多用途な選択肢となります。
Google Cloud Compute Instancesは、**Googleのクラウドインフラストラクチャ上のカスタマイズ可能な仮想マシン**であり、さまざまなアプリケーション向けにスケーラブルでオンデマンドのコンピューティングパワーを提供します。これらは、グローバル展開、永続ストレージ、柔軟なOSの選択、強力なネットワーキングおよびセキュリティ統合などの機能を提供し、ウェブサイトのホスティング、データ処理、アプリケーションの効率的な実行において多用途な選択肢となります。
### 機密VM
機密VMは、**最新世代のAMD EPYCプロセッサが提供するハードウェアベースのセキュリティ機能**を使用しており、メモリエンクリプションや安全な暗号化仮想化が含まれています。これらの機能により、VMはホストオペレーティングシステムやハイパーバイザーから処理および保存されたデータを保護できます。
機密VMは、**最新世代のAMD EPYCプロセッサ**が提供する**ハードウェアベースのセキュリティ機能**を使用しており、メモリ暗号化や安全な暗号化仮想化が含まれています。これらの機能により、VMはホストオペレーティングシステムやハイパーバイザーから処理および保存されたデータを保護できます。
機密VMを実行するには、**マシンのタイプ**、ネットワーク**インターフェース**、**ブートディスクイメージ**などを**変更**する必要がある場合があります。
@@ -19,12 +19,12 @@ Google Cloud Compute Instancesは、**Googleのクラウドインフラストラ
- ディスクの**サイズ**を選択
- **OS**を選択
- インスタンスが削除されたときに**ディスクを削除する**かどうかを指定
- **暗号化**:デフォルト**Google管理キー**が使用されますが、**KMSからキーを選択**するか、**使用する生のキーを指定**することもできます。
- **暗号化****デフォルト**では**Google管理キー**が使用されますが、KMSから**キーを選択**するか、**使用する生のキー**を指定することもできます。
### コンテナのデプロイ
仮想マシン内に**コンテナ**をデプロイすることが可能です。\
使用する**イメージ**を構成し、内部で実行する**コマンド**、**引数**、**ボリューム**をマウントし、**環境変数**(機密情報?)を設定し、このコンテナのために**特権**として実行する、stdinおよび擬似TTYなどのいくつかのオプションを構成できます。
使用する**イメージ**を設定し、内部で実行する**コマンド**、**引数**、**ボリューム**をマウントし、**環境変数**(機密情報?)を設定し、このコンテナのために**特権**として実行する、標準入力および擬似TTYなどのいくつかのオプションを構成できます。
### サービスアカウント
@@ -67,8 +67,8 @@ HTTPおよびHTTPSトラフィックを許可することが可能です。
### VMアクセス
VMへのアクセスを有効にする一般的な方法は、**特定のSSH公開鍵**をVMにアクセスできるようにすることです。\
ただし、**IAMを使用して`os-config`サービスを介してVMへのアクセスを有効にする**ことも可能です。さらに、このサービスを使用してVMへのアクセスに2FAを有効にすることも可能です。\
この**サービス**が**有効**になっている場合、**SSHキーによるアクセスは無効**になります。
ただし、**IAMを使用して`os-config`サービス経由でVMへのアクセスを有効にする**ことも可能です。さらに、このサービスを使用してVMへのアクセスに2FAを有効にすることも可能です。\
この**サービス**が**有効**になると、**SSHキーによるアクセスは無効**になります。
<figure><img src="../../../../images/image (328).png" alt=""><figcaption></figcaption></figure>
@@ -89,7 +89,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?re
さらに、**添付されたサービスアカウントの認証トークン**と**インスタンス、ネットワーク、プロジェクトに関する一般情報**も**メタデータエンドポイント**から取得できます。詳細については、以下を確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#6440
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#gcp
{{#endref}}
### 暗号化

View File

@@ -17,9 +17,9 @@ Cloud SQLに関する詳細情報は、以下を確認してください
異なるデータベース技術に対して**ブルートフォースするための異なるツール**については、このページを確認してください:
{{#ref}}
https://book.hacktricks.xyz/generic-methodologies-and-resources/brute-force
https://book.hacktricks.wiki/en/generic-hacking/brute-force.html
{{#endref}}
特定の権限を持っていると、GCP APIを介して**すべてのデータベースユーザーをリストする**ことが可能です。
特定の権限を持っていると、GCP APIを介して**すべてのデータベースユーザーをリスト**することが可能です。
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -15,7 +15,7 @@ ComputeとVPCネットワーキングに関する詳細情報は、以下
ウェブが**SSRFに対して脆弱**であり、**メタデータヘッダーを追加する**ことが可能な場合、攻撃者はそれを悪用してメタデータエンドポイントからSA OAuthトークンにアクセスすることができます。SSRFに関する詳細情報は、以下を確認してください
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/index.html
{{#endref}}
### 脆弱な公開サービス