GCP - Source Repositories Enum

Impara l'hacking su AWS da zero a esperto con htARTE (Esperto Red Team di HackTricks su AWS)!

Altri modi per supportare HackTricks:

Informazioni di Base

Google Cloud Source Repositories è un servizio di repository Git privato, completamente attrezzato e scalabile. È progettato per ospitare il tuo codice sorgente in un ambiente completamente gestito, integrandosi perfettamente con altri strumenti e servizi di GCP. Offre un luogo collaborativo e sicuro per le squadre per memorizzare, gestire e tracciare il loro codice.

Le caratteristiche chiave di Cloud Source Repositories includono:

  1. Hosting Git Completamente Gestito: Offre la funzionalità familiare di Git, il che significa che è possibile utilizzare comandi e flussi di lavoro regolari di Git.

  2. Integrazione con i Servizi di GCP: Si integra con altri servizi di GCP come Cloud Build, Pub/Sub e App Engine per una tracciabilità completa dal codice al rilascio.

  3. Repository Privati: Garantisce che il tuo codice sia memorizzato in modo sicuro e privato. È possibile controllare l'accesso utilizzando ruoli di Gestione identità e accesso di Cloud (IAM).

  4. Analisi del Codice Sorgente: Lavora con altri strumenti di GCP per fornire un'analisi automatizzata del tuo codice sorgente, identificando potenziali problemi come bug, vulnerabilità o pratiche di codifica errate.

  5. Strumenti di Collaborazione: Supporta la codifica collaborativa con strumenti come richieste di merge, commenti e revisioni.

  6. Supporto per i Mirror: Consente di collegare Cloud Source Repositories a repository ospitati su GitHub o Bitbucket, consentendo la sincronizzazione automatica e fornendo una visione unificata di tutti i tuoi repository.

Informazioni OffSec

  • La configurazione dei repository sorgente all'interno di un progetto avrà un Account di Servizio utilizzato per la pubblicazione di messaggi Cloud Pub/Sub. Quello predefinito utilizzato è il Compute SA. Tuttavia, non credo sia possibile rubare il suo token dai Repository Sorgente poiché viene eseguito in background.

  • Per vedere il codice all'interno della console web dei Repository Sorgente di GCP (https://source.cloud.google.com/), è necessario che il codice sia all'interno del branch master per impostazione predefinita.

  • È anche possibile creare un Repository Cloud mirror che punta a un repository da Github o Bitbucket (dando accesso a tali piattaforme).

  • È possibile codificare e fare il debug da dentro GCP.

  • Per impostazione predefinita, Source Repositories impedisce che le chiavi private vengano inviate nei commit, ma questo può essere disabilitato.

Apri in Cloud Shell

È possibile aprire il repository in Cloud Shell, comparirà un prompt come questo:

Questo ti permetterà di codificare e fare il debug in Cloud Shell (che potrebbe essere compromesso).

Enumerazione

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

Escalazione dei privilegi e post-exploitation

pageGCP - Sourcerepos Privesc

Enumerazione non autenticata

pageGCP - Source Repositories Unauthenticated Enum
Impara l'hacking su AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated