GCP - Sourcerepos Privesc

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

Altri modi per supportare HackTricks:

Repository Sorgenti

Per ulteriori informazioni sui Repository Sorgenti, controlla:

pageGCP - Source Repositories Enum

source.repos.get

Con questo permesso è possibile scaricare il repository localmente:

gcloud source repos clone <repo-name> --project=<project-uniq-name>

source.repos.update

Un principale con questa autorizzazione potrà scrivere codice all'interno di un repository clonato con gcloud source repos clone <repo>. Tuttavia, nota che questa autorizzazione non può essere associata a ruoli personalizzati, quindi deve essere concessa tramite un ruolo predefinito come:

  • Proprietario

  • Editore

  • Amministratore del repository di origine (roles/source.admin)

  • Scrittore del repository di origine (roles/source.writer)

Per scrivere, basta eseguire un normale git push.

source.repos.setIamPolicy

Con questa autorizzazione, un attaccante potrebbe concedersi le autorizzazioni precedenti.

Accesso segreto

Se l'attaccante ha accesso ai segreti dove sono memorizzati i token, potrà rubarli. Per ulteriori informazioni su come accedere a un segreto, controlla:

pageGCP - Secretmanager Privesc

Aggiungere chiavi SSH

È possibile aggiungere chiavi SSH al progetto del repository di origine nella console web. Effettua una richiesta POST a /v1/sshKeys:add e può essere configurato in https://source.cloud.google.com/user/ssh_keys

Una volta impostata la tua chiave SSH, puoi accedere a un repository con:

git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>

E quindi utilizzare i comandi git come al solito.

Credenziali Manuali

È possibile creare credenziali manuali per accedere ai Repository di Origine:

Cliccando sul primo link verrai reindirizzato a https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3

Il che attiverà un prompt di autorizzazione Oauth per concedere l'accesso allo Sviluppo Google Cloud. Quindi avrai bisogno delle credenziali dell'utente o di una sessione aperta nel browser per questo.

Ciò ti porterà a una pagina con uno script bash da eseguire e configurare un cookie git in $HOME/.gitcookies

Eseguendo lo script potrai quindi utilizzare git clone, push... e funzionerà.

source.repos.updateProjectConfig

Con questa autorizzazione è possibile disabilitare la protezione predefinita dei Repository di Origine per non caricare codice contenente Chiavi Private:

gcloud source project-configs update --disable-pushblock

Puoi anche configurare un topic pub/sub diverso o disabilitarlo completamente:

gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Last updated