GCP - Apikeys Privesc

HackTricksのサポート

Apikeys

次の権限はAPIキーの作成と盗み出しに役立ちます。ドキュメントからの引用ではないことに注意してください: APIキーは、主体なしでアプリケーションを識別する単純な暗号化された文字列です。これらは公開データに匿名でアクセスするために役立ち、クォータと請求のためにAPIリクエストをプロジェクトに関連付けるために使用されます。

したがって、APIキーを使用すると、その企業にAPIの使用料を支払わせることができますが、特権を昇格することはできません。

APIキーに関する詳細情報は次を確認してください:

GCP - API Keys Enum

他の方法でAPIキーを作成する方法については次を確認してください:

GCP - Serviceusage Privesc

Brute Force API Key access

プロジェクトで有効になっているAPIや、見つけたAPIキーに適用される制限がわからない場合は、ツールhttps://github.com/ozguralp/gmapsapiscannerを実行して、APIキーでアクセスできる内容を確認すると良いでしょう。

apikeys.keys.create

この権限はAPIキーを作成することを許可します。

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

以下は、脆弱性環境の作成、悪用、およびクリーニングを自動化するスクリプトを見つけることができます。

デフォルトでは、ユーザーは新しいプロジェクトを作成する権限を持ち、新しいプロジェクトに対して所有者ロールが付与されます。そのため、ユーザーはプロジェクトを作成し、このプロジェクト内にAPIキーを作成することができます。

apikeys.keys.getKeyStringapikeys.keys.list

これらの権限により、すべてのAPIキーをリストおよび取得し、キーを取得することができます。

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

以下は、脆弱性環境の作成、悪用、およびクリーニングを自動化するスクリプトを見つけることができます。

apikeys.keys.undeleteapikeys.keys.list

これらの権限を使用すると、削除された API キーを一覧表示および再生成することができます。**API キーは、undeleteが完了した後の出力に表示されます:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

内部OAuthアプリケーションを作成して他の従業員をフィッシングする

これを行う方法については、次のページを確認してくださいが、このアクションはサービス**clientauthconfig**に属していますドキュメントによると:

GWS - Google Platforms Phishing
HackTricksのサポート

Last updated