GCP - Compute Post Exploitation
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)
ComputeとVPC(ネットワーキング)に関する詳細情報は、以下を確認してください:
GCP - Compute Enumこれにより、攻撃者は既存のイメージに含まれるデータにアクセスすることができたり、実行中のVMの新しいイメージを作成し、そのデータにアクセスすることができるようになります。実行中のVMにアクセスすることなく。
VMイメージをバケットにエクスポートし、その後ダウンロードしてローカルにマウントすることが可能です。
このアクションを実行するには、攻撃者はストレージバケットに対する権限が必要であり、確実にcloudbuildに対する権限が必要です。これは、エクスポートを実行するように求められるサービスです。
さらに、これが機能するためには、codebuild SAとcompute SAが特権的な権限を持っている必要があります。
cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com
は以下の権限が必要です:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
そして、SA <project-id>-compute@developer.gserviceaccount.com
は以下の権限が必要です:
roles/compute.storageAdmin
roles/storage.objectAdmin
スナップショットとディスクを直接エクスポートすることはできませんが、スナップショットをディスクに変換し、ディスクをイメージに変換することは可能であり、前のセクションに従って、そのイメージをエクスポートしてローカルで検査することができます。
攻撃者がイメージを作成した場所からイメージに保存されたデータや実行中のVMにアクセスすることを目的として、外部アカウントにイメージへのアクセスを付与することが可能です:
そして、それから新しいVMを作成します:
もし外部アカウントに画像へのアクセスを与えられなかった場合、被害者のプロジェクトでその画像を使用してVMを起動し、メタデータにリバースシェルを実行させることで、パラメータを追加して画像にアクセスすることができます:
ディスクまたはスナップショットに保存されたデータにアクセスすることを目的として、スナップショットをディスクに変換し、ディスクをイメージに変換し、前の手順に従うことができます。
または、外部アカウントにディスクへのアクセスを付与することができます(出発点がスナップショットの場合は、スナップショットへのアクセスを付与するか、そこからディスクを作成します):
インスタンスにディスクをアタッチする:
ディスクをVM内にマウントする:
VMにSSH接続する:
ディスクを特定する:VM内に入ったら、ディスクデバイスをリストして新しいディスクを特定します。通常、/dev/sdb
、/dev/sdc
などとして見つけることができます。
ディスクをフォーマットしてマウントする(新しいまたは生のディスクの場合):
マウントポイントを作成する:
ディスクをマウントする:
もしスナップショットやディスクに外部プロジェクトへのアクセスを与えることができない場合、スナップショット/ディスクと同じプロジェクト内のインスタンスでこれらの操作を実行する必要があるかもしれません。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)