GCP - Privilege Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
GCP, kama wingu lingine lolote, lina misingi fulani: watumiaji, vikundi na akaunti za huduma, na rasilimali fulani kama injini ya kompyuta, kazi za wingu… Kisha, kupitia majukumu, idhini zinatolewa 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 upande wa tatu, 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:
Kuongeza 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.
Kuongeza 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 kuinuka 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 kuinuka 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.
Hii ndiyo jinsi ninavyofanya jaribio la idhini maalum ili kutekeleza vitendo maalum ndani ya GCP.
Pakua repo ya github https://github.com/carlospolop/gcp_privesc_scripts
Ongeza katika tests/ script mpya
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 iliyovunjika 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 kuathiri VM tofauti yenye SA isiyo na vizuizi.
Angalia SA na funguo zilizoundwa na:
Njia ya kukuza mamlaka yako katika AWS ni kuwa na ruhusa za kutosha ili, kwa namna fulani, kufikia ruhusa za akaunti nyingine za huduma/katumiaji/mikundi. Kuunganisha kukuza hadi upate 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 ninazozijua ambazo unaweza kutumia vibaya ili kukuza mamlaka, 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 mamlaka kwenye huduma hizo.
Ikiwa uko ndani ya mashine katika GCP unaweza kuwa na uwezo wa kutumia ruhusa kukuza mamlaka hata ndani:
GCP - local privilege escalation ssh pivotingJifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)