GCP - local privilege escalation ssh pivoting
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
このシナリオでは、あなたがCompute Engineプロジェクト内のVMで特権のないアカウントを侵害したと仮定します。
驚くべきことに、あなたが侵害したCompute EngineのGPC権限は、マシン内でローカルに特権を昇格させるのに役立つかもしれません。これはクラウド環境では常に非常に役立つわけではありませんが、可能であることを知っておくのは良いことです。
Compute Instancesは、おそらくサービスアカウントを使用してアクションを実行するためのスクリプトを実行するために存在しています。
IAMは非常に細かく設定できるため、アカウントはリソースに対して読み取り/書き込み権限を持っているが、リスト権限は持っていない場合があります。
この良い仮想的な例は、instance82736-long-term-xyz-archive-0332893
というストレージバケットにバックアップを読み書きする権限を持つCompute Instanceです。
コマンドラインからgsutil ls
を実行すると何も返されません。サービスアカウントがstorage.buckets.list
IAM権限を持っていないためです。しかし、gsutil ls gs://instance82736-long-term-xyz-archive-0332893
を実行すると、完全なファイルシステムバックアップが見つかり、あなたのローカルLinuxアカウントが持っていないデータへの平文アクセスが得られます。
このバケット名は、スクリプト(bash、Python、Rubyなど)内で見つけることができるかもしれません。
管理者は、インスタンスおよびプロジェクトレベルでカスタムメタデータを追加できます。これは、任意のキー/値ペアをインスタンスに渡す方法であり、環境変数や起動/シャットダウンスクリプトに一般的に使用されます。
さらに、ユーザーデータを追加することも可能で、これはマシンが起動または再起動されるたびに実行されるスクリプトであり、メタデータエンドポイントからもアクセス可能です。
詳細については、次を確認してください:
以下に提案する権限のほとんどは、デフォルトのCompute SAに付与されているもので、唯一の問題はデフォルトのアクセススコープがSAの使用を妨げることです。しかし、cloud-platform
スコープが有効になっているか、compute
スコープが有効になっている場合、これらを悪用することができます。
以下の権限を確認してください:
他のユーザーがボックス内でgcloudにログインし、ファイルシステムに資格情報を残しているか確認してください:
これらは最も興味深いファイルです:
~/.config/gcloud/credentials.db
~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json
~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto
~/.credentials.json
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)