GCP - Sourcerepos Privesc
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Vir meer inligting oor Bron Repositories kyk:
source.repos.get
Met hierdie toestemming is dit moontlik om die repository plaaslik af te laai:
source.repos.update
'n Hoofpersoon met hierdie toestemming sal in staat wees om kode binne 'n repository te skryf wat gekloon is met gcloud source repos clone <repo>
. Maar let daarop dat hierdie toestemming nie aan pasgemaakte rolle geheg kan word nie, so dit moet gegee word via 'n vooraf gedefinieerde rol soos:
Eienaar
Redigeerder
Bron Repository Administrateur (roles/source.admin
)
Bron Repository Skrywer (roles/source.writer
)
Om te skryf, voer eenvoudig 'n gewone git push
uit.
source.repos.setIamPolicy
Met hierdie toestemming kan 'n aanvaller homself die vorige toestemmings gee.
As die aanvaller toegang het tot die geheime waar die tokens gestoor word, sal hy in staat wees om dit te steel. Vir meer inligting oor hoe om toegang tot 'n geheim te verkry, kyk:
Dit is moontlik om ssh sleutels by die Bron Repository projek in die webkonsol by te voeg. Dit maak 'n posversoek na /v1/sshKeys:add
en kan geconfigureer word in https://source.cloud.google.com/user/ssh_keys
Sodra jou ssh-sleutel ingestel is, kan jy toegang tot 'n repo verkry met:
En dan gebruik git
opdragte soos gewoonlik.
Dit is moontlik om handmatige kredensiale te skep om toegang tot die Bronrepo's te verkry:
Deur op die eerste skakel te klik, sal dit jou lei na https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Wat 'n Oauth magtiging prompt sal vertoon om toegang tot Google Cloud Ontwikkeling te gee. Jy sal dus of die kredensiale van die gebruiker of 'n oop sessie in die blaaiers benodig.
Dit sal jou na 'n bladsy stuur met 'n bash-skrip om uit te voer en 'n git-kookie in $HOME/.gitcookies
te konfigureer.
Deur die skrip uit te voer, kan jy dan git clone, push... en dit sal werk.
source.repos.updateProjectConfig
Met hierdie toestemming is dit moontlik om die standaard beskerming van Bronrepo's te deaktiveer om nie kode wat Private Sleutels bevat op te laai nie:
U kan ook 'n ander pub/sub onderwerp konfigureer of dit selfs heeltemal deaktiveer:
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)