GCP - Non-svc Persistance
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
これらは、何らかの方法でGCPの資格情報やGCP環境で動作しているマシンを侵害した後に役立つ技術です。
Token Hijacking
Authenticated User Tokens
ユーザーの現在のトークンを取得するには、次のコマンドを実行します:
このページでgcloudを使用してこのトークンを直接使用する方法を確認してください:
新しいアクセストークンを生成するための詳細を取得するには、次のコマンドを実行します:
**$HOME/.config/gcloud/application_default_credentials.json
や$HOME/.config/gcloud/legacy_credentials/*/adc.json
**でリフレッシュトークンを見つけることも可能です。
refresh token、client ID、およびclient secretを使用して新しいリフレッシュされたアクセストークンを取得するには、次のコマンドを実行します:
リフレッシュトークンの有効期限は Admin > Security > Google Cloud session control で管理でき、デフォルトでは16時間に設定されていますが、無期限に設定することもできます。
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-c7824715e776ef068e243888c58c0b82eb1407fb%252Fimage%2520%2811%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5ded2ced&sv=1)
Auth flow
gcloud auth login
のようなものを使用する場合の認証フローは、ブラウザにプロンプトが表示され、すべてのスコープを承認した後、ブラウザがツールによって開かれた http ポートに次のようなリクエストを送信します:
次に、gcloudは、いくつかのハードコードされたclient_id
(32555940559.apps.googleusercontent.com
)と**client_secret
**(ZmssLNjJy2998hD4CTg2ejr2
)を使用して、最終的なリフレッシュトークンデータを取得します。
localhostとの通信はHTTPで行われるため、データを傍受してリフレッシュトークンを取得することが可能ですが、このデータは1回だけ有効なので、これは無意味です。ファイルからリフレッシュトークンを直接読む方が簡単です。
OAuth Scopes
すべてのGoogleスコープはhttps://developers.google.com/identity/protocols/oauth2/scopesで見つけることができます。または、次のコマンドを実行して取得できます:
**gcloud
**が認証に使用するアプリケーションがサポートできるスコープをこのスクリプトで確認することが可能です:
実行後、このアプリがこれらのスコープをサポートしていることが確認されました:
このアプリが**drive
**スコープをサポートしているのは興味深いです。攻撃者がユーザーにこのスコープでトークンを生成させることができれば、GCPからWorkspaceへのエスカレーションが可能になります。
これを悪用する方法については こちらを参照してください。
Service Accounts
認証されたユーザーと同様に、サービスアカウントの秘密鍵ファイルを侵害することができれば、通常は好きなだけアクセスすることができます。 しかし、サービスアカウントのOAuthトークンを盗むことができれば、さらに興味深いことになります。デフォルトではこれらのトークンは1時間しか有効ではありませんが、被害者が秘密のAPIキーを削除しても、OAuthトークンは有効期限が切れるまで有効です。
Metadata
明らかに、GCP環境で動作しているマシン内にいる限り、メタデータエンドポイントに接続してそのマシンにアタッチされたサービスアカウントにアクセスすることができます(このエンドポイントでアクセスできるOAuthトークンは通常スコープによって制限されています)。
Remediations
これらの技術に対するいくつかの対策はhttps://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2で説明されています。
References
AWS Hackingを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hackingを学び、練習する:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated