GCP - Sourcerepos Privesc

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Repositórios de Origem

Para mais informações sobre Repositórios de Origem, verifique:

pageGCP - Source Repositories Enum

source.repos.get

Com essa permissão, é possível baixar o repositório localmente:

gcloud source repos clone <repo-name> --project=<project-uniq-name>

source.repos.update

Um usuário com essa permissão poderá escrever código dentro de um repositório clonado com gcloud source repos clone <repo>. Mas observe que essa permissão não pode ser anexada a funções personalizadas, portanto, deve ser concedida por meio de uma função predefinida como:

  • Proprietário

  • Editor

  • Administrador do Repositório de Origem (roles/source.admin)

  • Escritor do Repositório de Origem (roles/source.writer)

Para escrever, basta executar um git push regular.

source.repos.setIamPolicy

Com essa permissão, um invasor poderia conceder a si mesmo as permissões anteriores.

Acesso a segredos

Se o invasor tiver acesso aos segredos onde os tokens são armazenados, ele poderá roubá-los. Para obter mais informações sobre como acessar um segredo, consulte:

pageGCP - Secretmanager Privesc

Adicionar chaves SSH

É possível adicionar chaves SSH ao projeto do Repositório de Origem no console da web. Isso faz uma solicitação POST para /v1/sshKeys:add e pode ser configurado em https://source.cloud.google.com/user/ssh_keys

Depois que sua chave SSH estiver configurada, você poderá acessar um repositório com:

git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>

E então use os comandos git como de costume.

Credenciais Manuais

É possível criar credenciais manuais para acessar os Repositórios de Origem:

Clicando no primeiro link, você será direcionado para https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3

O que irá solicitar uma autorização Oauth para dar acesso ao Google Cloud Development. Portanto, você precisará das credenciais do usuário ou de uma sessão aberta no navegador para isso.

Isso o levará a uma página com um script bash para executar e configurar um cookie git em $HOME/.gitcookies

Executando o script, você poderá então usar git clone, push... e funcionará.

source.repos.updateProjectConfig

Com essa permissão, é possível desativar a proteção padrão dos Repositórios de Origem para não fazer upload de código contendo Chaves Privadas:

gcloud source project-configs update --disable-pushblock

Você também pode configurar um tópico pub/sub diferente ou até mesmo desativá-lo completamente:

gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización