GCP - Compute Privesc
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)
Kwa maelezo zaidi kuhusu Compute na VPC (mtandao) katika GCP angalia:
GCP - Compute EnumKumbuka kwamba ili kufanya mashambulizi yote ya kupandisha hadhi yanayohitaji kubadilisha metadata ya mfano (kama kuongeza watumiaji wapya na funguo za SSH) ni muhimu uwe na ruhusa za actAs
juu ya SA iliyoambatanishwa na mfano, hata kama SA tayari imeambatanishwa!
compute.projects.setCommonInstanceMetadata
Kwa ruhusa hiyo unaweza kubadilisha taarifa za metadata za mfano na kubadilisha funguo zilizoidhinishwa za mtumiaji, au kuunda mtumiaji mpya mwenye ruhusa za sudo. Hivyo, utaweza kuingia kupitia SSH kwenye mfano wowote wa VM na kuiba GCP Service Account ambayo Mfano unatumia. Vikwazo:
Kumbuka kwamba GCP Service Accounts zinazotumika katika mifano ya VM kwa kawaida zina mipaka ya chini sana
Itabidi uwe na uwezo wa kuwasiliana na seva ya SSH ili kuingia
Kwa maelezo zaidi kuhusu jinsi ya kutumia ruhusa hii angalia:
GCP - Add Custom SSH MetadataUnaweza pia kufanya shambulizi hili kwa kuongeza script mpya ya kuanzisha na kuanzisha upya mfano:
compute.instances.setMetadata
Ruhusa hii inatoa privilege sawa na ruhusa ya awali lakini juu ya instances maalum badala ya mradi mzima. Mizaha na mipaka sawa na ile ya sehemu ya awali inatumika.
compute.instances.setIamPolicy
Aina hii ya ruhusa itakuruhusu kujipa jukumu na ruhusa za awali na kupandisha privileges kwa kuzitumia.
compute.instances.osLogin
Ikiwa OSLogin imewezeshwa katika instance, kwa ruhusa hii unaweza tu kukimbia gcloud compute ssh [INSTANCE]
na kuungana na instance. Huta kuwa na root privs ndani ya instance.
Ili kuingia kwa mafanikio na ruhusa hii ndani ya VM instance, unahitaji kuwa na ruhusa iam.serviceAccounts.actAs
juu ya SA iliyoambatanishwa na VM.
compute.instances.osAdminLogin
Ikiwa OSLogin imewezeshwa katika instance, kwa ruhusa hii unaweza tu kukimbia gcloud compute ssh [INSTANCE]
na kuungana na instance. Utakuwa na root privs ndani ya instance.
Ili kuingia kwa mafanikio na ruhusa hii ndani ya VM instance, unahitaji kuwa na ruhusa iam.serviceAccounts.actAs
juu ya SA iliyoambatanishwa na VM.
compute.instances.create
,iam.serviceAccounts.actAs, compute.disks.create
, compute.instances.create
, compute.instances.setMetadata
, compute.instances.setServiceAccount
, compute.subnetworks.use
, compute.subnetworks.useExternalIp
Inawezekana kuunda mashine ya virtual yenye Akaunti ya Huduma iliyotolewa na kuiba tokeni ya akaunti ya huduma kwa kufikia metadata ili kupandisha privileges kwake.
Script ya exploit kwa njia hii inaweza kupatikana hapa.
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
Ikiwa una osconfig.patchDeployments.create
au osconfig.patchJobs.exec
ruhusa unaweza kuunda kazi ya patch au uanzishaji. Hii itakuruhusu kuhamasisha kwa upande katika mazingira na kupata utekelezaji wa msimbo kwenye instances zote za compute ndani ya mradi.
Kumbuka kwamba kwa sasa huhitaji ruhusa actAs
juu ya SA iliyoambatanishwa na instance.
Ikiwa unataka kutumia hii kwa mikono utahitaji kuunda ama kazi ya patch au uanzishaji. Kwa kazi ya patch endesha:
Ili kupeleka usasishaji wa patch:
The tool patchy inaweza kutumika zamani kwa ajili ya kutumia hii misconfiguration (lakini sasa haifanyi kazi).
Mshambuliaji anaweza pia kutumia hii kwa kudumu.
compute.machineImages.setIamPolicy
Jipatie ruhusa za ziada kwa picha ya kompyuta.
compute.snapshots.setIamPolicy
Jipatie ruhusa za ziada kwa picha ya diski.
compute.disks.setIamPolicy
Jipatie ruhusa za ziada kwa diski.
Kufuata kiungo hiki utapata baadhi ya wazo za kujaribu kupita mipaka ya ufikiaji.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)