GCP - Storage Privesc

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

Njia nyingine za kusaidia HackTricks:

Uhifadhi

Maelezo Msingi:

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

Unaweza kujipa ruhusa ya kutumia mojawapo ya hali za awali za sehemu hii.

storage.buckets.setIamPolicy

Kwa mfano wa jinsi ya kubadilisha ruhusa na ruhusa hii angalia ukurasa huu:

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.

# Create key
gsutil hmac create <sa-email>

# Configure gsutil to use it
gsutil config -a

# Use it
gsutil ls gs://[BUCKET_NAME]

Another exploit script for this method can be found here.

storage.objects.create, storage.objects.delete = Ruhusu za Kuandika Kwenye Uhifadhi

Ili 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

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

Njia nyingine za kusaidia HackTricks:

Last updated