GCP - Privilege Escalation
Utangulizi wa Kuboresha Mamlaka ya GCP
GCP, kama mawingu mengine yoyote, ina wahusika: watumiaji, vikundi na akaunti za huduma, na rasilimali kama injini ya kuhesabu, kazi za wingu... Kisha, kupitia majukumu, ruhusa hupewa wahusika hao juu ya rasilimali. Hii ndio njia ya kueleza ruhusa ambazo mhusika ana juu ya rasilimali katika GCP. Kuna ruhusa fulani ambazo zitaruhusu mtumiaji kupata ruhusa zaidi kwenye rasilimali au rasilimali za tatu, na hicho ndicho kinachoitwa kuboresha mamlaka (pia, kutumia mapungufu kupata ruhusa zaidi).
Kwa hivyo, ningependa kutenganisha mbinu za kuboresha mamlaka ya GCP katika makundi 2:
Privesc kwa mhusika: Hii itakuruhusu kujifanya kuwa mhusika mwingine, na kwa hivyo kutenda kama yeye na ruhusa zake zote. mf.: Tumia 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 kumbuka kuwa baadhi ya ruhusa za rasilimali pia zitaruhusu kuambatisha akaunti ya huduma isiyojulikana kwenye rasilimali. Hii inamaanisha kuwa utaweza kuzindua rasilimali na SA, kuingia kwenye rasilimali, na kuiba token ya SA. Kwa hivyo, hii itaruhusu kuboresha kwa mhusika kupitia kuboresha kwa rasilimali. Hii imetokea kwenye rasilimali kadhaa hapo awali, lakini sasa ni nadra zaidi (ingawa inaweza kutokea bado).
Kwa dhahiri, mbinu za kuboresha 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, kumbuka kwamba kuboresha kwenye rasilimali inaweza pia kukupa ufikiaji wa habari nyeti au hata kwa wahusika wengine (labda kupitia kusoma siri ambayo ina token ya SA).
Ni muhimu pia kueleza kwamba katika Akaunti za Huduma za GCP ni wahusika na ruhusa, kwa hivyo kuboresha mamlaka katika SA kutakuruhusu kujifanya kuwa hiyo pia.
Ruhusa kati ya mabano inaonyesha ruhusa zinazohitajika kudukua mapungufu kwa kutumia gcloud
. Huenda zisihitajike ikiwa unadukua kupitia API.
Ruhusa kwa Metodolojia ya Kuboresha Mamlaka
Hivi ndivyo ninavyopima ruhusa maalum kufanya vitendo maalum ndani ya GCP.
Pakua repo ya github https://github.com/carlospolop/gcp_privesc_scripts
Ongeza kwenye vipimo/ script mpya
Kupitisha mipaka ya ufikiaji
Vidokezo vya SA vilivyovuja kutoka kwa huduma ya metadata ya GCP vina vipimo vya ufikiaji. Hizi ni vizuizi kwenye ruhusa ambazo token inayo. 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 kwa moja ya kupitisha ruhusa hizi, lakini unaweza jaribu kutafuta vitambulisho vipya kwenye mwenyeji aliyeathiriwa, pata ufunguo wa huduma kuzalisha token ya OAuth bila kizuizi au hamia kwenye VM tofauti iliyopunguzwa.
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 kutumia ruhusa ambazo akaunti iliyodukuliwa ina.
Njia bora ya kupitisha kizuizi hiki ni au kupata vitambulisho vipya kwenye mwenyeji aliyeathiriwa, kupata ufunguo wa huduma wa kuzalisha token ya OAuth bila kizuizi au kudukua VM tofauti na SA iliyopunguzwa.
Angalia SA na ufunguo uliozalishwa na:
Mbinu za Kuinua Hadhi
Njia ya kuinua hadhi zako 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 mfululizo wa kuinua hadhi mpaka 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 hadhi, 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 hadhi kwa huduma kwenye kila huduma.
Kutumia GCP kuinua hadhi kwa ndani
Ikiwa uko ndani ya mashine katika GCP unaweza kuwa na uwezo wa kutumia ruhusa kwa ajili ya kuinua hadhi hata kwa ndani:
GCP - local privilege escalation ssh pivotingMarejeo
Last updated