GCP - Sourcerepos Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Source Repositories
Pour plus dâinformations sur Source Repositories, consultez :
GCP - Source Repositories Enum
source.repos.get
Avec cette permission, il est possible de télécharger le repository localement :
Clone source repository
```bash gcloud source repos clonesource.repos.update
Un principal disposant de cette permission pourra Ă©crire du code Ă lâintĂ©rieur dâun dĂ©pĂŽt clonĂ© avec gcloud source repos clone <repo>. Mais notez que cette permission ne peut pas ĂȘtre rattachĂ©e Ă des rĂŽles personnalisĂ©s, elle doit donc ĂȘtre accordĂ©e via un rĂŽle prĂ©dĂ©fini tel que :
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Pour Ă©crire, il suffit dâeffectuer un git push classique.
source.repos.setIamPolicy
Avec cette permission, un attaquant pourrait sâaccorder les permissions prĂ©cĂ©dentes.
AccĂšs aux secrets
Si lâattaquant a accĂšs aux secrets oĂč les tokens sont stockĂ©s, il pourra les voler. Pour plus dâinformations sur la façon dâaccĂ©der Ă un secret, consultez :
Ajouter des clés SSH
Il est possible dâajouter des clĂ©s SSH au projet Source Repository dans la console web. Cela effectue une requĂȘte POST vers /v1/sshKeys:add et peut ĂȘtre configurĂ© sur https://source.cloud.google.com/user/ssh_keys
Une fois votre clé SSH définie, vous pouvez accéder à un dépÎt avec :
Cloner le dépÎt via SSH
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/Et ensuite, utilisez les commandes git comme dâhabitude.
Identifiants manuels
Il est possible de créer des identifiants manuels pour accéder aux Source Repositories :
.png)
En cliquant sur le premier lien, vous serez dirigé vers https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Ce qui affichera une invite dâautorisation Oauth pour donner lâaccĂšs Ă Google Cloud Development. Vous aurez donc besoin soit des credentials de lâutilisateur soit dâune session ouverte dans le navigateur pour cela.
Cela vous amÚnera à une page contenant un bash script à exécuter et configurant un cookie git dans $HOME/.gitcookies
.png)
En exécutant le script, vous pourrez ensuite utiliser git clone, push⊠et cela fonctionnera.
source.repos.updateProjectConfig
Avec cette permission, il est possible de dĂ©sactiver la protection par dĂ©faut de Source Repositories qui empĂȘche lâupload de code contenant des Private Keys :
Désactiver pushblock et modifier la configuration pub/sub
```bash gcloud source project-configs update --disable-pushblock ``` Vous pouvez Ă©galement configurer un pub/sub topic diffĂ©rent ou mĂȘme le dĂ©sactiver complĂštement : ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

