GCP - Token Persistance
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Om die huidige token van 'n gebruiker te verkry, kan jy die volgende uitvoer:
Kyk op hierdie bladsy hoe om hierdie token direk met gcloud te gebruik:
Om die besonderhede te kry om 'n nuwe toegangstoken te genereer voer in:
Dit is ook moontlik om verfris tokens te vind in $HOME/.config/gcloud/application_default_credentials.json
en in $HOME/.config/gcloud/legacy_credentials/*/adc.json
.
Om 'n nuwe verfriste toegangstoken met die verfris token, kliënt-ID, en kliënt geheim te verkry, voer in:
Die geldigheid van die herlaai tokens kan bestuur word in Admin > Security > Google Cloud sessiebeheer, en standaard is dit op 16 uur ingestel, hoewel dit op nooit verval kan word ingestel:
Die outentikasie vloei wanneer iets soos gcloud auth login
gebruik word, sal 'n prompt in die blaaiers oopmaak en na die aanvaarding van al die skope sal die blaaiers 'n versoek soos hierdie een na die http-poort wat deur die hulpmiddel oopgemaak is, stuur:
Then, gcloud sal die toestand en kode gebruik met 'n paar hardgecodeerde client_id
(32555940559.apps.googleusercontent.com
) en client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) om die finale hernuwingstoken data te verkry.
Let daarop dat die kommunikasie met localhost in HTTP is, so dit is moontlik om die data te onderskep om 'n hernuwingstoken te verkry, maar hierdie data is net 1 keer geldig, so dit sou nutteloos wees, dit is makliker om net die hernuwingstoken uit die lêer te lees.
Jy kan al die Google scopes vind in https://developers.google.com/identity/protocols/oauth2/scopes of hulle verkry deur die volgende uit te voer:
Dit is moontlik om te sien watter skope die toepassing wat gcloud
gebruik om te autentiseer, kan ondersteun met hierdie skrip:
Na uitvoering daarvan is dit nagegaan dat hierdie toepassing hierdie skope ondersteun:
it's interesting to see how this app supports the drive
scope, which could allow a user to escalate from GCP to Workspace if an attacker manages to force the user to generate a token with this scope.
Check how to abuse this here.
Net soos met geverifieerde gebruikers, as jy daarin slaag om die privaat sleutel lêer van 'n diensrekening te kompromitteer, sal jy in staat wees om dit gewoonlik te gebruik solank as wat jy wil. However, if you steal the OAuth token of a service account this can be even more interesting, because, even if by default these tokens are useful just for an hour, if the victim deletes the private api key, the OAuh token will still be valid until it expires.
Dit is duidelik dat, solank jy binne 'n masjien is wat in die GCP omgewing loop, jy in staat sal wees om die diensrekening wat aan daardie masjien gekoppel is te benader deur die metadata eindpunt te kontak (let daarop dat die Oauth tokens wat jy in hierdie eindpunt kan benader gewoonlik deur scopes beperk is).
Some remediations for these techniques are explained in https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)