GCP - Cloud Run Enum
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)
Cloud Runは、Googleのスケーラブルなインフラストラクチャの上でコンテナを直接実行できるサーバーレスの管理されたコンピューティングプラットフォームです。
コンテナを実行することもできますし、Go、Node.js、Python、Java、.NET Core、またはRubyを使用している場合は、コンテナを自動的に構築するソースベースのデプロイメントオプションを使用できます。
GoogleはCloud RunをGoogle Cloudの他のサービスと一緒にうまく機能するように構築しましたので、フル機能のアプリケーションを構築できます。
Cloud Runでは、コードは_サービスとして継続的に実行されるか、ジョブ_として実行されます。サービスとジョブは同じ環境で実行され、Google Cloudの他のサービスとの統合を同じように使用できます。
Cloud Runサービス。 ウェブリクエストやイベントに応答するコードを実行するために使用されます。
Cloud Runジョブ。 作業(ジョブ)を実行し、作業が完了すると終了するコードを実行するために使用されます。
Google Cloud Runは、環境変数を検索することもできる別のサーバーレスオファーです。Cloud Runは、デフォルトでコンテナ内のポート8080で実行される小さなウェブサーバーを作成し、HTTP GETリクエストを待機します。リクエストが受信されると、ジョブが実行され、ジョブログがHTTPレスポンスを介して出力されます。
デフォルトでは、ウェブサーバーへのアクセスは公開ですが、内部トラフィック(VPCなど)に制限することもできます。 さらに、ウェブサーバーに接続するための認証は、すべてを許可するか、IAMを介して認証を要求することができます。
デフォルトでは、暗号化はGoogle管理キーを使用しますが、KMSからのCMEK(顧客管理暗号化キー)を選択することもできます。
デフォルトでは、使用されるサービスアカウントはCompute Engineのデフォルトアカウントで、プロジェクトに対してEditorアクセスを持ち、**スコープcloud-platform
**があります。
実行のために平文の環境変数を定義することが可能で、クラウドシークレットをマウントしたり、環境変数にクラウドシークレットを追加したりすることもできます。
Cloud SQLとの接続を追加したり、ファイルシステムをマウントしたりすることも可能です。
デプロイされたサービスのURLは、**https://<svc-name>-<random>.a.run.app
**に似ています。
Run Serviceは1つ以上のバージョンまたはリビジョンを持つことができ、複数のリビジョン間でトラフィックを分割できます。
Cloud Run ジョブは、完了するまで実行され、リクエストを処理しないコンテナにより適しています。ジョブはリクエストを処理したり、ポートで待機したりする能力がありません。これは、Cloud Run サービスとは異なり、ジョブはウェブサーバーをバンドルすべきではないことを意味します。代わりに、ジョブコンテナは完了したら終了するべきです。
次のページでは、クラウドランの権限を悪用して権限を昇格させる方法を確認できます:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)