GCP - Sourcerepos Privesc
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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 et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks Cloud

