GCP - Source Repositories Enum

Suporte ao HackTricks

Informações Básicas

O Google Cloud Source Repositories é um serviço de repositório Git privado totalmente funcional e escalável. É projetado para hospedar seu código-fonte em um ambiente totalmente gerenciado, integrando-se perfeitamente com outras ferramentas e serviços do GCP. Oferece um lugar colaborativo e seguro para as equipes armazenarem, gerenciarem e acompanharem seu código.

As principais características do Cloud Source Repositories incluem:

  1. Hospedagem Git Totalmente Gerenciada: Oferece a funcionalidade familiar do Git, o que significa que você pode usar comandos e fluxos de trabalho Git regulares.

  2. Integração com Serviços GCP: Integra-se com outros serviços do GCP, como Cloud Build, Pub/Sub e App Engine, para rastreabilidade de ponta a ponta do código à implantação.

  3. Repositórios Privados: Garante que seu código seja armazenado de forma segura e privada. Você pode controlar o acesso usando funções do Cloud Identity and Access Management (IAM).

  4. Análise de Código Fonte: Trabalha com outras ferramentas do GCP para fornecer análise automatizada do seu código-fonte, identificando problemas potenciais como bugs, vulnerabilidades ou más práticas de codificação.

  5. Ferramentas de Colaboração: Suporta codificação colaborativa com ferramentas como solicitações de mesclagem, comentários e revisões.

  6. Suporte a Espelhos: Permite conectar o Cloud Source Repositories com repositórios hospedados no GitHub ou Bitbucket, possibilitando a sincronização automática e fornecendo uma visão unificada de todos os seus repositórios.

Informações OffSec

  • A configuração dos repositórios de código fonte dentro de um projeto terá uma Conta de Serviço usada para publicar mensagens do Cloud Pub/Sub. A padrão utilizada é a Compute SA. No entanto, não acho que seja possível roubar seu token dos Repositórios de Código Fonte, pois está sendo executado em segundo plano.

  • Para ver o código dentro do console web do GCP Cloud Source Repositories (https://source.cloud.google.com/), você precisa que o código esteja dentro do branch master por padrão.

  • Você também pode criar um Repositório Cloud espelho apontando para um repositório do Github ou Bitbucket (dando acesso a essas plataformas).

  • É possível codificar e depurar de dentro do GCP.

  • Por padrão, os Repositórios de Código Fonte impedem que chaves privadas sejam enviadas em commits, mas isso pode ser desativado.

Abrir no Cloud Shell

É possível abrir o repositório no Cloud Shell, um prompt como este aparecerá:

Isso permitirá que você codifique e depure no Cloud Shell (o que pode comprometer o cloudshell).

Enumeração

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

Escalação de Privilégios & Pós Exploração

Enumeração Não Autenticada

Support HackTricks

Last updated