GCP - Storage Privesc
Uhifadhi
Maelezo Msingi:
storage.objects.get
storage.objects.get
Ruhusa hii inakuruhusu kupakua faili zilizohifadhiwa ndani ya Uhifadhi wa Wingu. Hii inaweza kukuruhusu kupandisha mamlaka kwa sababu mara nyingine habari nyeti hufutwa huko. Zaidi ya hayo, baadhi ya huduma za GCP hufuta habari zao kwenye vikapu:
GCP Composer: Unapounda Mazingira ya Composer mimba ya DAGs zote itahifadhiwa ndani ya kapu. Kazi hizi zinaweza kuwa na habari muhimu ndani ya nambari zao.
GCR (Usajili wa Kontena): Picha za kontena zimehifadhiwa ndani ya vikapu, hii inamaanisha kwamba ikiwa unaweza kusoma vikapu utaweza kupakua picha na kutafuta uvujaji na/au nambari ya chanzo.
storage.objects.setIamPolicy
storage.objects.setIamPolicy
Unaweza kujipa ruhusa ya kutumia mojawapo ya hali za awali za sehemu hii.
storage.buckets.setIamPolicy
storage.buckets.setIamPolicy
Kwa mfano wa jinsi ya kubadilisha ruhusa na ruhusa hii angalia ukurasa huu:
storage.hmacKeys.create
storage.hmacKeys.create
Kipengele cha "urahisi wa matumizi" cha Uhifadhi wa Wingu, kilichoundwa kwa mwingiliano wa msalaba wa wingu kama na AWS S3, inahusisha uundaji wa funguo za HMAC kwa Akaunti za Huduma na watumiaji. Mshambuliaji anaweza kutumia hii kwa kuunda funguo za HMAC kwa Akaunti ya Huduma yenye mamlaka iliyopandishwa, hivyo kupandisha mamlaka ndani ya Uhifadhi wa Wingu. Wakati funguo za HMAC zinazohusiana na mtumiaji zinaweza kupatikana tu kupitia konsoli ya wavuti, funguo za ufikiaji na siri zinabaki zikipatikana kila wakati, kuruhusu ufikiaji wa akiba wa siku zijazo. Kinyume chake, funguo za HMAC zinazohusiana na Akaunti ya Huduma zinaweza kupatikana kupitia API, lakini ufikiaji na funguo za siri haziwezi kupatikana baada ya uundaji, ikiongeza safu ya utata kwa ufikiaji endelevu.
Another exploit script for this method can be found here.
storage.objects.create
, storage.objects.delete
= Ruhusu za Kuandika Kwenye Uhifadhi
storage.objects.create
, storage.objects.delete
= Ruhusu za Kuandika Kwenye UhifadhiIli kuunda kitu kipya ndani ya ndoo unahitaji storage.objects.create
na, kulingana na nyaraka, unahitaji pia storage.objects.delete
ili kurekebisha kitu kilichopo.
Utekaji wa kawaida sana wa ndoo ambapo unaweza kuandika kwenye wingu ni kama ndoo inaokoa faili za seva za wavuti, unaweza kuweza kuhifadhi msimbo mpya utakaotumiwa na programu ya wavuti.
Mtunzi
Mtunzi ni Apache Airflow inayosimamiwa ndani ya GCP. Ina vipengele vingi vya kuvutia:
Inakimbia ndani ya kituo cha GKE, hivyo SA inayotumiwa na kituo inaweza kufikiwa na msimbo unaoruka ndani ya Mtunzi
Inahifadhi msimbo kwenye ndoo, kwa hivyo, yeyote mwenye ufikiaji wa kuandika kwenye ndoo hiyo ataweza kubadilisha/kuongeza msimbo wa DGA (msimbo Apache Airflow utakaoendesha) Kwa hivyo, ikiwa una ufikiaji wa kuandika kwenye ndoo inayotumiwa na Mtunzi kuhifadhi msimbo, unaweza kuinua ruhusa kwenda kwa SA inayotumika kwenye kituo cha GKE.
Kazi za Wingu
Msimbo wa Kazi za Wingu unahifadhiwa kwenye Uhifadhi, hivyo kwa kuubadilisha, inawezekana kutekeleza msimbo wa aina yoyote.
Programu ya App
Msimbo wa chanzo wa Programu ya App unahifadhiwa kwenye ndoo, kwa kuubadilisha inawezekana kutekeleza msimbo wa aina yoyote. HII SIWEZEKANI
Inaonekana safu za kontena zinahifadhiwa kwenye ndoo, labda kubadilisha hizo?
GCR
Usajili wa Kontena wa Google unahifadhi picha ndani ya ndoo, ikiwa unaweza kuandika kwenye ndoo hizo unaweza kuwa na uwezo wa kutembea kwa upande kwenda kwenye ndoo hizo zinapoendeshwa.
Ndoa inayotumiwa na GCR itakuwa na URL kama
gs://<eu/usa/asia/nothing>.artifacts.<project>.appspot.com
(Vidokezo vya kiwango cha juu vimeelezwa hapa).
Virejeleo
Last updated