GCP - Sourcerepos Privesc
Repository Sorgenti
Per ulteriori informazioni sui Repository Sorgenti, controlla:
pageGCP - Source Repositories Enumsource.repos.get
source.repos.get
Con questo permesso è possibile scaricare il repository localmente:
source.repos.update
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
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 PrivescAggiungere 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:
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
source.repos.updateProjectConfig
Con questa autorizzazione è possibile disabilitare la protezione predefinita dei Repository di Origine per non caricare codice contenente Chiavi Private:
Puoi anche configurare un topic pub/sub diverso o disabilitarlo completamente:
Last updated