GCP - Source Repositories Enum

HackTricksのサポート

基本情報

Google Cloud Source Repositoriesは、完全機能を備えたスケーラブルなプライベートGitリポジトリサービスです。他のGCPツールやサービスとシームレスに統合され、ソースコードを完全に管理された環境でホストすることができます。チームがコードを格納、管理、追跡するための協力的で安全な場所を提供します。

Cloud Source Repositoriesの主な機能は次のとおりです:

  1. 完全管理型Gitホスティング: Gitの機能を提供し、通常のGitコマンドとワークフローを使用できます。

  2. GCPサービスとの統合: Cloud Build、Pub/Sub、App Engineなどの他のGCPサービスと統合し、コードから展開までのエンドツーエンドのトレーサビリティを提供します。

  3. プライベートリポジトリ: コードが安全かつプライベートに保存されることを保証します。Cloud IdentityとAccess Management(IAM)ロールを使用してアクセスを制御できます。

  4. ソースコード解析: 他のGCPツールと連携して、ソースコードの自動解析を行い、バグ、脆弱性、または悪いコーディングプラクティスなどの潜在的な問題を特定します。

  5. コラボレーションツール: マージリクエスト、コメント、レビューなどのツールを使用して共同コーディングをサポートします。

  6. ミラーサポート: GitHubやBitbucketにホストされているリポジトリとCloud Source Repositoriesを接続し、自動同期を可能にし、すべてのリポジトリを統一的に表示できます。

OffSec情報

  • プロジェクト内のソースリポジトリ構成には、Cloud Pub/Subメッセージを公開するために使用されるサービスアカウントがあります。デフォルトで使用されるのはCompute SAです。ただし、ソースリポジトリからそのトークンを盗むことはできないと思います。

  • GCP Cloud Source Repositoriesウェブコンソール(https://source.cloud.google.com/)でコードを表示するには、コードをデフォルトでmasterブランチに配置する必要があります。

  • GithubBitbucketのリポジトリを指すミラーCloudリポジトリを作成することもできます(これにより、これらのプラットフォームへのアクセスが可能になります)。

  • GCP内部からコーディングとデバッグが可能です。

  • デフォルトでは、Source Repositoriesはプライベートキーをコミットにプッシュすることを防止しますが、これを無効にすることができます。

Cloud Shellで開く

リポジトリをCloud Shellで開くことができ、次のようなプロンプトが表示されます:

これにより、Cloud Shellでコーディングとデバッグが可能になります(これにより、cloudshellが侵害される可能性があります)。

列挙

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

特権昇格とポストエクスプロイテーション

GCP - Sourcerepos Privesc

認証されていない列挙

GCP - Source Repositories Unauthenticated Enum
HackTricksのサポート

Last updated