GCP - Sourcerepos Privesc
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Source Repositories
Para mais informações sobre Source Repositories, veja:
GCP - Source Repositories Enum
source.repos.get
Com essa permissão é possível baixar o repositório localmente:
Clonar repositório
```bash gcloud source repos clonesource.repos.update
Um principal com essa permissão será capaz de escrever código dentro de um repositório clonado com gcloud source repos clone <repo>. Mas note que essa permissão não pode ser anexada a funções personalizadas, então deve ser concedida via uma role predefinida como:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Para escrever, basta executar um git push regular.
source.repos.setIamPolicy
Com essa permissão um atacante poderia conceder a si mesmo as permissões anteriores.
Secret access
Se o atacante tiver acesso aos segredos onde os tokens são armazenados, ele poderá roubá-los. Para mais informações sobre como acessar um secret, verifique:
Add SSH keys
É possível adicionar ssh keys ao projeto do Source Repository no console web. Isso faz uma requisição POST para /v1/sshKeys:add e pode ser configurado em https://source.cloud.google.com/user/ssh_keys
Uma vez que sua chave ssh esteja configurada, você pode acessar um repositório com:
Clonar repositório usando SSH
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/E então use os comandos git normalmente.
Credenciais Manuais
É possível criar credenciais manuais para acessar os Source Repositories:
.png)
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
Isso exibirá um Oauth authorization prompt para conceder acesso ao Google Cloud Development. Portanto, você precisará ou das credentials of the user ou de uma open session in the browser para isso.
Isso o enviará para uma página com um bash script to execute que configura um cookie do git em $HOME/.gitcookies
.png)
Ao executar o script, você poderá usar git clone, push… e isso funcionará.
source.repos.updateProjectConfig
Com essa permissão é possível desativar a proteção padrão do Source Repositories que impede o upload de código contendo Private Keys:
Desativar pushblock e modificar a configuração do pub/sub
```bash gcloud source project-configs update --disable-pushblock ``` Você também pode configurar um tópico pub/sub diferente ou até desativá-lo completamente: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud

