GCP - Source Repositories Enum

学习并练习AWS Hacking:HackTricks 培训 AWS 红队专家 (ARTE) 学习并练习GCP Hacking: HackTricks 培训 GCP 红队专家 (GRTE)

支持 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 和访问管理 (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/) 中查看代码,需要将代码默认放在主分支中

  • 您还可以创建一个指向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

学习并练习AWS黑客技术:HackTricks培训AWS红队专家(ARTE) 学习并练习GCP黑客技术:HackTricks培训GCP红队专家(GRTE)

支持HackTricks

Last updated