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 and Access Management (IAM)ロールを使用してアクセスを制御できます。

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

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

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

OffSec情報

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

  • GCP Cloud Source RepositoriesのWebコンソール(https://source.cloud.google.com/)内のコードを見るには、コードがデフォルトでマスターブランチ内にある必要があります

  • GithubまたはBitbucketのリポジトリを指すミラーCloudリポジトリを作成することもできます(これらのプラットフォームへのアクセスを提供します)。

  • GCP内からコーディングおよびデバッグが可能です

  • デフォルトでは、ソースリポジトリはプライベートキーがコミットにプッシュされるのを防ぎますが、これを無効にすることもできます。

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...

権限昇格とポストエクスプロイト

認証されていない列挙

HackTricksをサポートする

Last updated