GCP - Compute Instances
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Google Cloud Compute Instancesは、Googleのクラウドインフラストラクチャ上のカスタマイズ可能な仮想マシンであり、さまざまなアプリケーション向けにスケーラブルでオンデマンドのコンピューティングパワーを提供します。これらは、グローバル展開、永続ストレージ、柔軟なOSの選択、強力なネットワーキングおよびセキュリティ統合などの機能を提供し、ウェブサイトのホスティング、データ処理、アプリケーションの効率的な実行において多用途な選択肢となります。
機密VMは、最新世代のAMD EPYCプロセッサが提供するハードウェアベースのセキュリティ機能を使用しており、メモリ暗号化や安全な暗号化仮想化が含まれています。これらの機能により、VMはホストオペレーティングシステムやハイパーバイザーから処理および保存されたデータを保護できます。
機密VMを実行するには、マシンのタイプ、ネットワークインターフェース、ブートディスクイメージなどを変更する必要がある場合があります。
使用するディスクを選択するか、新しいディスクを作成することが可能です。新しいディスクを選択した場合、次のことができます:
ディスクのサイズを選択
OSを選択
インスタンスが削除されたときにディスクを削除するかどうかを指定
暗号化:デフォルトではGoogle管理キーが使用されますが、KMSからキーを選択するか、使用する生のキーを指定することもできます。
仮想マシン内にコンテナをデプロイすることが可能です。 使用するイメージを設定し、内部で実行するコマンド、引数、ボリュームをマウントし、環境変数(機密情報?)を設定し、このコンテナのために特権として実行する、標準入力および擬似TTYなどのいくつかのオプションを構成できます。
デフォルトでは、Compute Engineのデフォルトサービスアカウントが使用されます。このSAのメールは次のようになります:<proj-num>-compute@developer.gserviceaccount.com
このサービスアカウントは、**プロジェクト全体に対するエディターロール(高い権限)**を持っています。
そして、デフォルトのアクセススコープは次のとおりです:
https://www.googleapis.com/auth/devstorage.read_only -- バケットへの読み取りアクセス :)
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/trace.append
ただし、cloud-platform
をクリックで付与することや、カスタムのものを指定することも可能です。
HTTPおよびHTTPSトラフィックを許可することが可能です。
IP転送:インスタンスの作成時にIP転送を有効にすることが可能です。
ホスト名:インスタンスに永続的なホスト名を付けることが可能です。
インターフェース:ネットワークインターフェースを追加することが可能です。
これらのオプションは、VMのセキュリティを向上させ、推奨されます:
セキュアブート:セキュアブートは、VMインスタンスをブートレベルおよびカーネルレベルのマルウェアやルートキットから保護するのに役立ちます。
vTPMを有効にする:仮想トラステッドプラットフォームモジュール(vTPM)は、ゲストVMのプレブートおよびブートの整合性を検証し、キーの生成と保護を提供します。
整合性監視:整合性監視により、Stackdriverレポートを使用してシールドされたVMインスタンスのランタイムブート整合性を監視および検証できます。vTPMを有効にする必要があります。
VMへのアクセスを有効にする一般的な方法は、特定のSSH公開鍵がVMにアクセスできるように許可することです。
ただし、IAMを使用してos-config
サービスを介してVMへのアクセスを有効にすることも可能です。さらに、このサービスを使用してVMにアクセスするために2FAを有効にすることも可能です。
このサービスが有効になっている場合、SSHキーによるアクセスは無効になります。
自動化(AWSのユーザーデータ)を定義することが可能で、これはシェルコマンドであり、マシンが起動または再起動するたびに実行されます。
また、メタデータエンドポイントからアクセス可能な追加のメタデータキー-バリューを追加することも可能です。この情報は、環境変数やスタートアップ/シャットダウンスクリプトに一般的に使用されます。これは、列挙セクションのコマンドからの**describe
メソッド**を使用して取得できますが、インスタンス内からメタデータエンドポイントにアクセスして取得することもできます。
さらに、添付されたサービスアカウントの認証トークンとインスタンス、ネットワーク、プロジェクトに関する一般情報もメタデータエンドポイントから入手可能です。詳細については、以下を確認してください:
デフォルトではGoogle管理の暗号化キーが使用されますが、顧客管理の暗号化キー(CMEK)を設定することもできます。また、使用されているCMEKが取り消された場合の処理を設定することもできます:何もしないか、VMをシャットダウンします。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)