GCP - Non-svc Persistance

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Hizi ni mbinu muhimu mara moja, kwa namna fulani, umefanikiwa kudukua baadhi ya vibali vya GCP au mashine inayotumika katika mazingira ya GCP.

Udukuzi wa Kitufe

Vitufe vya Mtumiaji Aliyethibitishwa

Ili kupata kitufe cha sasa cha mtumiaji unaweza kukimbia:

sqlite3 $HOME/.config/gcloud/access_tokens.db "select access_token from access_tokens where account_id='<email>';"

Angalia ukurasa huu jinsi ya kutumia moja kwa moja token huu kwa kutumia gcloud:

Ili kupata maelezo ya kuunda token mpya la ufikiaji endesha:

sqlite3 $HOME/.config/gcloud/credentials.db "select value from credentials where account_id='<email>';"

Uhalali wa vibambo vya kuboresha unaweza kusimamiwa katika Admin > Usalama > Kudhibiti kikao cha Google Cloud, na kwa chaguo-msingi imewekwa kuwa saa 16 ingawa inaweza kuwekwa isiweze kumalizika:

Mtiririko wa Uthibitisho

Mtiririko wa uthibitisho unapotumia kitu kama gcloud auth login utafungua dirisha la ombi katika kivinjari na baada ya kukubali mizani zote kivinjari kitatuma ombi kama hili kwa bandari ya http iliyofunguliwa na zana:

/?state=EN5AK1GxwrEKgKog9ANBm0qDwWByYO&code=4/0AeaYSHCllDzZCAt2IlNWjMHqr4XKOuNuhOL-TM541gv-F6WOUsbwXiUgMYvo4Fg0NGzV9A&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/cloud-platform%20https://www.googleapis.com/auth/appengine.admin%20https://www.googleapis.com/auth/sqlservice.login%20https://www.googleapis.com/auth/compute%20https://www.googleapis.com/auth/accounts.reauth&authuser=0&prompt=consent HTTP/1.1

Kisha, gcloud itatumia hali na nambari pamoja na client_id iliyoandikwa kwa nguvu (32555940559.apps.googleusercontent.com) na client_secret (ZmssLNjJy2998hD4CTg2ejr2) kupata data ya mwisho ya token ya kuboresha.

Tafadhali elewa kuwa mawasiliano na localhost ni kwa HTTP, hivyo ni rahisi kuingilia data ili kupata token ya kuboresha, hata hivyo data hii ni halali mara moja tu, hivyo itakuwa bure, ni rahisi kusoma token ya kuboresha kutoka kwenye faili.

Vipimo vya OAuth

Unaweza kupata vipimo vyote vya Google kwenye https://developers.google.com/identity/protocols/oauth2/scopes au kuzipata kwa kutekeleza:

curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-A/\-\._]*' | sort -u

Inawezekana kuona ni vipi programu ambayo gcloud hutumia kuthibitisha inaweza kusaidia na skiripu hii:

curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-Z/\._\-]*' | sort -u | while read -r scope; do
echo -ne "Testing $scope         \r"
if ! curl -v "https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=32555940559.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+$scope+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fsqlservice.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&state=AjvFqBW5XNIw3VADagy5pvUSPraLQu&access_type=offline&code_challenge=IOk5F08WLn5xYPGRAHP9CTGHbLFDUElsP551ni2leN4&code_challenge_method=S256" 2>&1 | grep -q "error"; then
echo ""
echo $scope
fi
done

Baada ya kuitekeleza, ilithibitishwa kuwa programu hii inasaidia scopes hizi:

https://www.googleapis.com/auth/appengine.admin
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/compute
https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/userinfo.email

Ni ya kuvutia kuona jinsi programu hii inavyounga mkono drive scope, ambayo inaweza kuruhusu mtumiaji kupanda kutoka GCP kwenda Workspace ikiwa mshambuliaji anafanikiwa kumshawishi mtumiaji kuzalisha tokeni na scope hii.

Angalia jinsi ya kutumia vibaya hapa.

Akaunti za Huduma

Kama ilivyo kwa watumiaji waliothibitishwa, ikiwa utafanikiwa kuharibu faili ya ufunguo binafsi wa akaunti ya huduma utaweza kuipata kawaida kwa muda mrefu unavyotaka. Hata hivyo, ikiwa unajiokota tokeni ya OAuth ya akaunti ya huduma hii inaweza kuwa ya kuvutia zaidi, kwa sababu, hata kama kwa chaguo-msingi tokeni hizi ni za manufaa kwa saa moja tu, ikiwa mwendeshaji anafuta ufunguo binafsi wa api, tokeni ya OAuth itaendelea kuwa halali hadi itakapomalizika.

Metadata

Kwa wazi, muda mrefu ukiwa ndani ya mashine inayofanya kazi katika mazingira ya GCP utaweza kupata akaunti ya huduma iliyowekwa kwenye mashine hiyo kwa kuwasiliana na mwisho wa metadata (tambua kuwa tokeni za OAuth unazoweza kupata kwenye mwisho huu kawaida zimezuiliwa na scopes).

Upatanishi

Baadhi ya upatanishi kwa njia hizi zinaelezewa katika https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2

Marejeo

Jifunze kuhusu kuvamia AWS kutoka mwanzo hadi kuwa shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated