GCP - Source Repositories Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge HackTricks AWS)!

Autres façons de soutenir HackTricks :

Informations de base

Google Cloud Source Repositories est un service de dépôt Git privé, entièrement fonctionnel et évolutif. Il est conçu pour héberger votre code source dans un environnement entièrement géré, s'intégrant parfaitement avec d'autres outils et services GCP. Il offre un espace collaboratif et sécurisé pour les équipes afin de stocker, gérer et suivre leur code.

Les principales fonctionnalités des Cloud Source Repositories incluent :

  1. Hébergement Git entièrement géré : Offre la fonctionnalité familière de Git, ce qui signifie que vous pouvez utiliser des commandes et des flux de travail Git réguliers.

  2. Intégration avec les services GCP : S'intègre avec d'autres services GCP tels que Cloud Build, Pub/Sub et App Engine pour une traçabilité de bout en bout du code au déploiement.

  3. Dépôts privés : Garantit que votre code est stocké de manière sécurisée et privée. Vous pouvez contrôler l'accès en utilisant les rôles de gestion des identités et des accès (IAM) Cloud.

  4. Analyse du code source : Fonctionne avec d'autres outils GCP pour fournir une analyse automatisée de votre code source, identifiant les problèmes potentiels tels que les bugs, les vulnérabilités ou les mauvaises pratiques de codage.

  5. Outils de collaboration : Prend en charge la programmation collaborative avec des outils tels que les demandes de fusion, les commentaires et les révisions.

  6. Prise en charge des miroirs : Vous permet de connecter les Cloud Source Repositories avec des dépôts hébergés sur GitHub ou Bitbucket, permettant une synchronisation automatique et offrant une vue unifiée de tous vos dépôts.

Informations OffSec

  • La configuration des dépôts source à l'intérieur d'un projet aura un Compte de service utilisé pour publier des messages Cloud Pub/Sub. Celui par défaut utilisé est le Compute SA. Cependant, je ne pense pas qu'il soit possible de voler son jeton depuis les dépôts Source car il est exécuté en arrière-plan.

  • Pour voir le code à l'intérieur de la console web des Cloud Source Repositories GCP (https://source.cloud.google.com/), vous devez que le code soit dans la branche principale par défaut.

  • Vous pouvez également créer un miroir de dépôt Cloud pointant vers un dépôt de Github ou Bitbucket (donnant accès à ces plateformes).

  • Il est possible de coder et déboguer depuis GCP.

  • Par défaut, les Source Repositories empêchent les clés privées d'être poussées dans les validations, mais cela peut être désactivé.

Ouvrir dans Cloud Shell

Il est possible d'ouvrir le dépôt dans Cloud Shell, une invite comme celle-ci apparaîtra :

Cela vous permettra de coder et déboguer dans Cloud Shell (ce qui pourrait compromettre cloudshell).

Énumération

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

Élévation de privilèges et post-exploitation

pageGCP - Sourcerepos Privesc

Énumération non authentifiée

pageGCP - Source Repositories Unauthenticated Enum
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour