GCP - Privilege Escalation

Support HackTricks

Introduction to GCP Privilege Escalation

GCP, kama wingu lingine lolote, lina misingi: watumiaji, vikundi na akaunti za huduma, na rasilimali kama injini ya kompyuta, kazi za wingu… Kisha, kupitia majukumu, idhini hutolewa kwa hao wakuu juu ya rasilimali. Hii ndiyo njia ya kubainisha idhini ambazo mkuu ana juu ya rasilimali katika GCP. Kuna idhini fulani ambazo zitaruhusu mtumiaji kupata idhini zaidi juu ya rasilimali au rasilimali za watu wengine, na hiyo inaitwa kuinua hadhi (pia, matumizi ya udhaifu kupata idhini zaidi).

Kwa hivyo, ningependa kutenganisha mbinu za kuinua hadhi za GCP katika makundi 2:

  • Kuinua hadhi kwa mkuu: Hii itakuruhusu kujifanya kama mkuu mwingine, na hivyo kutenda kama yeye kwa idhini zake zote. mfano: Tumia getAccessToken kujifanya kama akaunti ya huduma.

  • Kuinua hadhi juu ya rasilimali: Hii itakuruhusu kupata idhini zaidi juu ya rasilimali maalum. mfano: unaweza kutumia idhini ya setIamPolicy juu ya kazi za wingu kukuruhusu kuanzisha kazi hiyo.

  • Kumbuka kwamba baadhi ya idhini za rasilimali pia zitakuruhusu kuunganisha akaunti ya huduma isiyo na mipaka kwenye rasilimali. Hii inamaanisha kwamba utaweza kuzindua rasilimali na SA, kuingia kwenye rasilimali, na kuiba token ya SA. Kwa hivyo, hii itaruhusu kuinua hadhi kwa mkuu kupitia kuinua hadhi ya rasilimali. Hii imekuwa ikitokea katika rasilimali kadhaa hapo awali, lakini sasa ni nadra (lakini bado inaweza kutokea).

Kwa wazi, mbinu za kuinua hadhi zinazovutia zaidi ni zile za kundi la pili kwa sababu zitakuruhusu kupata idhini zaidi nje ya rasilimali ambazo tayari una baadhi ya idhini. Hata hivyo, kumbuka kwamba kuinua hadhi katika rasilimali kunaweza pia kukupa ufikiaji wa habari nyeti au hata kwa wakuu wengine (labda kupitia kusoma siri ambayo ina token ya SA).

Ni muhimu pia kutambua kwamba katika GCP Akaunti za Huduma ni wakuu na idhini, hivyo kuinua hadhi katika SA kutakuruhusu kujifanya kama hiyo pia.

Idhini kati ya mabano zinaonyesha idhini zinazohitajika kutumia udhaifu na gcloud. Hizi zinaweza zisihitajike ikiwa unatumia kupitia API.

Permissions for Privilege Escalation Methodology

Hii ndiyo jinsi ninavyofanya jaribio la idhini maalum ili kutekeleza vitendo maalum ndani ya GCP.

  1. Ongeza katika tests/ script mpya

Bypassing access scopes

Token za SA zilizovuja kutoka huduma ya metadata ya GCP zina mipaka ya ufikiaji. Hizi ni vizuizi juu ya idhini ambazo token ina. Kwa mfano, ikiwa token ina https://www.googleapis.com/auth/cloud-platform mipaka, itakuwa na ufikiaji kamili kwa huduma zote za GCP. Hata hivyo, ikiwa token ina https://www.googleapis.com/auth/cloud-platform.read-only mipaka, itakuwa na ufikiaji wa kusoma tu kwa huduma zote za GCP hata kama SA ina idhini zaidi katika IAM.

Hakuna njia ya moja kwa moja ya kupita hizi idhini, lakini unaweza kila wakati kujaribu kutafuta akidi mpya katika mwenyeji aliyeathiriwa, pata funguo za huduma ili kuunda token ya OAuth bila vizuizi au kuruka kwenye VM tofauti isiyo na vizuizi.

Wakati mipaka ya ufikiaji zinapotumika, token ya OAuth ambayo inaundwa kwa ajili ya mfano wa kompyuta (VM) itakuwa na mipaka iliyojumuishwa. Hata hivyo, unaweza kuwa na uwezo wa kupita vizuizi hivi na kutumia idhini ambazo akaunti iliyoharibiwa ina.

Njia bora ya kupita vizuizi hivi ni ama kupata akidi mpya katika mwenyeji aliyeathiriwa, kupata funguo za huduma ili kuunda token ya OAuth bila vizuizi au kuharibu VM tofauti na SA isiyo na vizuizi.

Angalia SA na funguo zilizoundwa 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 Kukuza Haki

Njia ya kukuza haki zako katika AWS ni kuwa na ruhusa za kutosha ili, kwa namna fulani, kufikia haki za akaunti nyingine za huduma/katumiaji/makundi. Kuunganisha kukuza hadi uwe na ufikiaji wa admin juu ya shirika.

GCP ina mamia (ikiwa si maelfu) ya ruhusa ambazo chombo kinaweza kupewa. Katika kitabu hiki unaweza kupata ruhusa zote ninazojua ambazo unaweza kutumia vibaya ili kukuza haki, lakini ikiwa unajua njia fulani ambayo haijatajwa hapa, tafadhali shiriki.

Kurasa ndogo za sehemu hii zimepangwa kwa huduma. Unaweza kupata kwenye kila huduma njia tofauti za kukuza haki kwenye huduma hizo.

Kutumia GCP vibaya kukuza haki za ndani

Ikiwa uko ndani ya mashine katika GCP unaweza kuwa na uwezo wa kutumia ruhusa kukuza haki hata ndani:

Marejeo

Support HackTricks

Last updated