GCP - Sourcerepos Privesc
Reading time: 6 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
ソースリポジトリ
ソースリポジトリに関する詳細情報は、以下を確認してください:
GCP - Source Repositories Enum
source.repos.get
この権限があれば、リポジトリをローカルにダウンロードすることが可能です:
gcloud source repos clone <repo-name> --project=<project-uniq-name>
source.repos.update
この権限を持つプリンシパルは、gcloud source repos clone <repo>
でクローンしたリポジトリ内にコードを書くことができます。ただし、この権限はカスタムロールに付与できないため、次のような事前定義されたロールを介して付与する必要があります:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin
) - Source Repository Writer (
roles/source.writer
)
書き込むには、通常の**git push
**を実行します。
source.repos.setIamPolicy
この権限を持つ攻撃者は、前述の権限を自分に付与することができます。
Secret access
攻撃者がトークンが保存されているシークレットにアクセスできる場合、彼はそれらを盗むことができます。シークレットにアクセスする方法の詳細については、次を確認してください:
Add SSH keys
ウェブコンソールでSource RepositoryプロジェクトにSSHキーを追加することが可能です。これは**/v1/sshKeys:add
**にポストリクエストを行い、https://source.cloud.google.com/user/ssh_keysで設定できます。
SSHキーが設定されると、次のようにリポジトリにアクセスできます:
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
そして、通常通り**git
**コマンドを使用します。
手動認証情報
Source Repositoriesにアクセスするための手動認証情報を作成することが可能です:
.png)
最初のリンクをクリックすると、https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3に移動します。
これにより、Google Cloud Developmentへのアクセスを許可するためのOauth認証プロンプトが表示されます。したがって、ユーザーの認証情報またはブラウザでのオープンセッションが必要です。
これにより、$HOME/.gitcookies
にgitクッキーを設定するためのbashスクリプトを実行するページに移動します。
.png)
スクリプトを実行すると、git clone、push...を使用できるようになり、動作します。
source.repos.updateProjectConfig
この権限を使用すると、Private Keysを含むコードをアップロードしないようにSource Repositoriesのデフォルト保護を無効にすることが可能です:
gcloud source project-configs update --disable-pushblock
別の pub/sub トピックを設定するか、完全に無効にすることもできます:
gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。