GCP - Privilege Escalation

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

Njia nyingine za kusaidia HackTricks:

Utangulizi wa Kupandisha Mamlaka kwa GCP

GCP, kama ilivyo kwa wingu lingine lolote, ina misingi: watumiaji, vikundi na akaunti za huduma, na rasilimali kama vile injini ya kuhesabu, kazi za wingu... Kisha, kupitia majukumu, ruhusa hupewa misingi hiyo juu ya rasilimali. Hii ndiyo njia ya kueleza ruhusa ambazo misingi ina juu ya rasilimali katika GCP. Kuna ruhusa fulani ambazo zitaruhusu mtumiaji kupata ruhusa zaidi kwenye rasilimali au rasilimali za tatu, na hicho ndicho kinachoitwa kupandisha mamlaka (pia, kutumia mapungufu kupata ruhusa zaidi).

Kwa hivyo, ningependa kutenganisha mbinu za kupandisha mamlaka za GCP katika makundi 2:

  • Privesc kwa misingi: Hii itakuruhusu kujifanya kuwa misingi nyingine, na kwa hivyo kutenda kama hiyo na ruhusa zake zote. mf.: Kutumia getAccessToken kujifanya kuwa akaunti ya huduma.

  • Privesc kwenye rasilimali: Hii itakuruhusu kupata ruhusa zaidi juu ya rasilimali maalum. mf.: unaweza kutumia ruhusa ya setIamPolicy kwenye cloudfunctions kukuruhusu kuzindua kazi.

  • Tafadhali elewa kwamba baadhi ya ruhusa za rasilimali pia zitaruhusu kuambatanisha akaunti ya huduma isiyojulikana na rasilimali. Hii inamaanisha kuwa utaweza kuzindua rasilimali na SA, kuingia kwenye rasilimali, na kuiba token ya SA. Kwa hivyo, hii itaruhusu kupanda mamlaka kupitia kupanda kwa rasilimali. Hii imetokea kwenye rasilimali kadhaa hapo awali, lakini sasa ni nadra (ingawa inaweza kutokea bado).

Kwa dhahiri, mbinu za kupandisha mamlaka za kuvutia zaidi ni zile za kundi la pili kwa sababu itakuruhusu kupata ruhusa zaidi nje ya rasilimali ambazo tayari una ruhusa fulani juu yake. Walakini, elewa kwamba kupanda kwenye rasilimali kunaweza pia kukupa ufikiaji wa habari nyeti au hata kwa misingi mingine (labda kupitia kusoma siri ambayo ina token ya SA).

Ni muhimu pia kuelewa kwamba katika Akaunti za Huduma za GCP ni misingi na ruhusa, kwa hivyo kupanda mamlaka katika SA kutakuruhusu kujifanya kuwa hiyo pia.

Ruhusa kati ya mabano inaonyesha ruhusa zinazohitajika kudukua mapungufu na gcloud. Huenda zisihitajike ikiwa unadukua kupitia API.

Ruhusa kwa Metodolojia ya Kupandisha Mamlaka

Hivi ndivyo ninavyopima ruhusa maalum kufanya vitendo maalum ndani ya GCP.

  1. Ongeza kwenye vipimo/ script mpya

Kupitisha vipimo vya ufikiaji

Vidokezo vya SA vilivyovuja kutoka kwa huduma ya metadata ya GCP vina vipimo vya ufikiaji. Hizi ni vizuizi kwenye ruhusa ambazo token ina. Kwa mfano, ikiwa token ina wigo wa https://www.googleapis.com/auth/cloud-platform, itakuwa na ufikiaji kamili kwa huduma zote za GCP. Walakini, ikiwa token ina wigo wa https://www.googleapis.com/auth/cloud-platform.read-only, itakuwa na ufikiaji wa kusoma tu kwa huduma zote za GCP hata ikiwa SA ina ruhusa zaidi katika IAM.

Hakuna njia moja ya moja ya kupitisha ruhusa hizi, lakini unaweza jaribu kutafuta vyeti vipya kwenye mwenyeji aliyeathiriwa, pata ufunguo wa huduma kuzalisha token ya OAuth bila kizuizi au hamia kwenye VM tofauti iliyozuiwa kidogo.

Wakati vipimo vya ufikiaji vinapotumiwa, token ya OAuth inayozalishwa kwa kifaa cha kuhesabu (VM) itakuwa na kizuizi cha wigo kilichojumuishwa. Walakini, unaweza kuweza kupitisha kizuizi hiki na kudukua ruhusa ambazo akaunti iliyodukuliwa ina.

Njia bora ya kupitisha kizuizi hiki ni au kupata vyeti vipya kwenye mwenyeji aliyeathiriwa, pata ufunguo wa huduma kuzalisha token ya OAuth bila kizuizi au duka VM tofauti na SA iliyozuiwa kidogo.

Angalia SA na ufunguo uliozalishwa na:

for i in $(gcloud iam service-accounts list --format="table[no-heading](email)"); do
echo "Looking for keys for $i:"
gcloud iam service-accounts keys list --iam-account $i
done

Mbinu za Kuinua Mamlaka

Njia ya kuinua mamlaka yako katika AWS ni kuwa na ruhusa za kutosha ili uweze, kwa namna fulani, kupata upatikanaji wa ruhusa za akaunti/watumiaji/vikundi vingine vya huduma. Kutumia mnyororo wa kuinua hadhi hadi upate ufikiaji wa usimamizi juu ya shirika.

GCP ina maelfu (ikiwa sio maelfu) ya ruhusa ambazo kifaa kinaweza kupewa. Katika kitabu hiki unaweza kupata ruhusa zote nilizozijua ambazo unaweza kuzitumia kwa kuinua mamlaka, lakini ikiwa unajua njia fulani ambayo haijatajwa hapa, tutafadhali shiriki.

Kurasa ndogo za sehemu hii zimepangwa kulingana na huduma. Unaweza kupata njia tofauti za kuinua mamlaka kwenye huduma kila moja.

Kutumia GCP kuinua mamlaka kwa ndani

Ikiwa uko ndani ya mashine katika GCP unaweza kuwa na uwezo wa kutumia ruhusa kuinua mamlaka hata kwa ndani:

pageGCP - local privilege escalation ssh pivoting

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated