GCP - Non-svc Persistance
Last updated
Last updated
Hierdie is nuttige tegnieke sodra jy op een of ander manier sekere GCP-legitimasie of 'n masjien wat in 'n GCP-omgewing loop, gekompromitteer het.
Om die huidige token van 'n gebruiker te kry, kan jy hardloop:
Kyk op hierdie bladsy hoe om hierdie token direk te gebruik met gcloud:
Om die besonderhede te kry om 'n nuwe toegangsteken te genereer, hardloop:
Dit is ook moontlik om hernuwingsleutels te vind in $HOME/.config/gcloud/application_default_credentials.json
en in $HOME/.config/gcloud/legacy_credentials/*/adc.json
.
Om 'n nuwe verfriste toegangskode te kry met die hernuwingsleutel, kliënt-ID, en kliënt-geheim hardloop:
Die geldigheid van die hernuwingsleutels kan bestuur word in Admin > Sekuriteit > Google Cloud-sessiebeheer, en dit is standaard op 16 uur ingestel, alhoewel dit op nooit verval gestel kan word:
Die outentiseringsvloei wanneer iets soos gcloud auth login
gebruik word, sal 'n venster in die blaaier oopmaak en nadat al die omvang geaanvaar is, sal die blaaier 'n versoek soos hierdie een stuur na die http-poort wat oopgemaak is deur die instrument:
Dan sal gcloud die toestand en kode gebruik met 'n paar hardgekoppelde client_id
(32555940559.apps.googleusercontent.com
) en client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) om die finale verfris-token data te kry.
Let daarop dat die kommunikasie met localhost in HTTP is, so dit is moontlik om die data te onderskep om 'n verfris-token te kry, maar hierdie data is net een keer geldig, so dit sal nutteloos wees, dit is makliker om net die verfris-token uit die lêer te lees.
Jy kan al die Google-onderwerpe vind in https://developers.google.com/identity/protocols/oauth2/scopes of kry hulle deur uit te voer:
Dit is moontlik om te sien watter scopes die aansoek wat gcloud
gebruik om te verifieer, kan ondersteun met hierdie skrip:
Na uitvoering is nagegaan dat hierdie program hierdie scopes ondersteun:
Dit is interessant om te sien hoe hierdie app die drive
scope ondersteun, wat 'n gebruiker kan toelaat om van GCP na Workspace te eskaleer as 'n aanvaller daarin slaag om die gebruiker te dwing om 'n token met hierdie scope te genereer.
Kyk hoe om dit te misbruik hier.
Net soos met geauthentiseerde gebruikers, as jy die privaatsleutel-lêer van 'n diensrekening kan kompromitteer, sal jy dit gewoonlik so lank as wat jy wil kan toegang. Maar, as jy die OAuth-token van 'n diensrekening steel, kan dit selfs meer interessant wees, want selfs al is hierdie tokens standaard net vir 'n uur nuttig, as die slagoffer die privaat API-sleutel verwyder, sal die OAuth-token nog steeds geldig wees tot dit verval.
Vanzelfsprekend, solank as wat jy binne 'n masjien hardloop wat in die GCP-omgewing hardloop, sal jy in staat 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 beperk word deur scopes).
Sommige regstellings vir hierdie tegnieke word verduidelik in https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2