GCP - Non-svc Persistance
Hizi ni mbinu muhimu mara tu, kwa namna fulani, umepata sifa za GCP au mashine inayoendesha katika mazingira ya GCP.
Token Hijacking
Authenticated User Tokens
Ili kupata token ya sasa ya mtumiaji unaweza kuendesha:
Angalia katika ukurasa huu jinsi ya kutumia tokeni hii moja kwa moja kwa kutumia gcloud:
Ili kupata maelezo ya kuzalisha tokeni mpya ya ufikiaji endesha:
Inawezekana pia kupata refresh tokens katika $HOME/.config/gcloud/application_default_credentials.json
na katika $HOME/.config/gcloud/legacy_credentials/*/adc.json
.
Kupata access token mpya kwa kutumia refresh token, client ID, na client secret tumia:
Uhalali wa refresh tokens unaweza kudhibitiwa katika Admin > Security > Google Cloud session control, na kwa chaguo-msingi imewekwa kwa 16h ingawa inaweza kuwekwa isikome:
Auth flow
Mtiririko wa uthibitishaji unapotumia kitu kama gcloud auth login
utafungua kidirisha katika kivinjari na baada ya kukubali scopes zote kivinjari kitatuma ombi kama hili kwa bandari ya http iliyofunguliwa na chombo:
Then, gcloud itatumia hali na msimbo na client_id
(32555940559.apps.googleusercontent.com
) na client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) kupata data ya mwisho ya refresh token.
Kumbuka kuwa mawasiliano na localhost ni katika HTTP, kwa hivyo inawezekana kunasa data ili kupata refresh token, hata hivyo data hii ni halali mara 1 tu, kwa hivyo hii haitakuwa na maana, ni rahisi tu kusoma refresh token kutoka kwenye faili.
OAuth Scopes
Unaweza kupata scopes zote za Google katika https://developers.google.com/identity/protocols/oauth2/scopes au uzipate kwa kutekeleza:
Inawezekana kuona ni upeo gani programu ambayo gcloud
hutumia kuthibitisha inaweza kusaidia na script hii:
Baada ya kuitekeleza ilikaguliwa kwamba programu hii inaunga mkono upeo huu:
ni ya kuvutia kuona jinsi programu hii inavyounga mkono drive
scope, ambayo inaweza kumruhusu mtumiaji kupandisha kutoka GCP hadi Workspace ikiwa mshambulizi atafanikiwa kumlazimisha mtumiaji kutengeneza tokeni na scope hii.
Angalia jinsi ya kuitumia vibaya hapa.
Service Accounts
Kama ilivyo kwa watumiaji waliothibitishwa, ikiwa utaweza kuharibu faili ya ufunguo wa kibinafsi ya akaunti ya huduma utaweza kuipata kawaida kwa muda mrefu unavyotaka. Hata hivyo, ikiwa utaiba OAuth token ya akaunti ya huduma hii inaweza kuwa ya kuvutia zaidi, kwa sababu, hata kama kwa default tokeni hizi ni muhimu kwa saa moja tu, ikiwa mhasiriwa atafuta ufunguo wa kibinafsi wa api, OAuth token bado itakuwa halali hadi itakapokwisha muda wake.
Metadata
Ni wazi, mradi uko ndani ya mashine inayotumia mazingira ya GCP utaweza kupata akaunti ya huduma iliyounganishwa na mashine hiyo kwa kuwasiliana na metadata endpoint (kumbuka kwamba OAuth tokeni unazoweza kupata katika endpoint hii kawaida zimezuiliwa na scopes).
Remediations
Baadhi ya suluhisho kwa mbinu hizi zimeelezwa katika https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2
References
Last updated