GCP - Sourcerepos Privesc
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Source Repositories
Per maggiori informazioni su Source Repositories consulta:
GCP - Source Repositories Enum
source.repos.get
Con questo permesso è possibile scaricare il repository localmente:
Clone source repository
```bash gcloud source repos clonesource.repos.update
Un principal con questo permesso potrà scrivere codice all’interno di un repository clonato con gcloud source repos clone <repo>. Nota però che questo permesso non può essere associato a ruoli custom, quindi deve essere concesso tramite un ruolo predefinito come:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Per scrivere esegui semplicemente un normale git push.
source.repos.setIamPolicy
Con questo permesso un attacker potrebbe concedersi i permessi precedenti.
Accesso ai secret
Se l’attacker ha accesso ai secret dove sono memorizzati i token, potrà rubarli. Per maggiori informazioni su come accedere a un secret controlla:
Aggiungere chiavi SSH
È possibile aggiungere chiavi SSH al progetto Source Repository nella web console. Fa una richiesta POST a /v1/sshKeys:add e può essere configurato in https://source.cloud.google.com/user/ssh_keys
Una volta che la tua chiave SSH è impostata, puoi accedere a un repo con:
Clonare il repository usando SSH
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/E poi usare i comandi git come al solito.
Credenziali manuali
È possibile creare credenziali manuali per accedere a Source Repositories:
.png)
Cliccando sul primo link verrai indirizzato a https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Questo mostrerà una finestra di autorizzazione OAuth per dare accesso a Google Cloud Development. Quindi ti serviranno o le credenziali dell’utente o una sessione aperta nel browser.
Questo ti porterà a una pagina con uno script bash da eseguire che configurerà un git cookie in $HOME/.gitcookies
.png)
Eseguendo lo script potrai poi usare git clone, push… e funzionerà.
source.repos.updateProjectConfig
Con questo permesso è possibile disabilitare la protezione predefinita di Source Repositories che impedisce di caricare codice contenente chiavi private:
Disabilitare pushblock e modificare la configurazione pub/sub
```bash gcloud source project-configs update --disable-pushblock ``` Puoi anche configurare un diverso pub/sub topic o addirittura disabilitarlo completamente: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
HackTricks Cloud

