GCP - Compute Privesc
Rekenaar
Vir meer inligting oor Rekenaar en VPC (netwerk) in GCP, kyk:
pageGCP - Compute Enumcompute.projects.setCommonInstanceMetadata
compute.projects.setCommonInstanceMetadata
Met daardie toestemming kan jy die metadata-inligting van 'n instansie wysig en die geautoriseerde sleutels van 'n gebruiker verander, of 'n nuwe gebruiker met sudo-regte skep. Daarom sal jy in staat wees om via SSH in te voer na enige VM-instansie en die GCP-diensrekening wat die Instansie gebruik, te steel. Beperkings:
Let daarop dat GCP-diensrekeninge wat standaard in VM-instansies loop, 'n baie beperkte omvang het
Jy sal in staat moet wees om die SSH-bediener te kontak om in te teken
Vir meer inligting oor hoe om hierdie toestemming te misbruik, kyk:
pageGCP - Add Custom SSH Metadatacompute.instances.setMetadata
compute.instances.setMetadata
Hierdie toestemming gee dieselfde regte as die vorige toestemming, maar oor spesifieke instansies in plaas van 'n hele projek. Dieselfde aanvalle en beperkings as vir die vorige afdeling geld.
compute.instances.setIamPolicy
compute.instances.setIamPolicy
Hierdie soort toestemming sal jou in staat stel om jouself 'n rol met die vorige regte toe te ken en priviliges te eskaleer deur dit te misbruik.
compute.instances.osLogin
compute.instances.osLogin
As OSLogin geaktiveer is in die instansie, met hierdie toestemming kan jy net gcloud compute ssh [INSTANSIE]
hardloop en aan die instansie koppel. Jy sal nie root-regte binne die instansie hê nie.
compute.instances.osAdminLogin
compute.instances.osAdminLogin
As OSLogin geaktiveer is in die instansie, met hierdie toestemming kan jy net gcloud compute ssh [INSTANSIE]
hardloop en aan die instansie koppel. Jy sal root-regte binne die instansie hê.
compute.instances.create
,iam.serviceAccounts.actAs, compute.disks.create
, compute.instances.create
, compute.instances.setMetadata
, compute.instances.setServiceAccount
, compute.subnetworks.use
, compute.subnetworks.useExternalIp
compute.instances.create
,iam.serviceAccounts.actAs, compute.disks.create
, compute.instances.create
, compute.instances.setMetadata
, compute.instances.setServiceAccount
, compute.subnetworks.use
, compute.subnetworks.useExternalIp
Dit is moontlik om 'n virtuele masjien te skep met 'n toegewysde Diensrekening en die token van die diensrekening te steel deur toegang tot die metadata te verkry om priviliges daartoe te eskaleer.
Die aanvalskrip vir hierdie metode kan hier gevind word hier.
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
As jy die osconfig.patchDeployments.create
of osconfig.patchJobs.exec
toestemmings het, kan jy 'n patch-job of -implementering skep. Dit sal jou in staat stel om lateraal in die omgewing te beweeg en kode-uitvoering op al die rekenaarinstansies binne 'n projek te verkry.
As jy hierdie handmatig wil misbruik, sal jy een van die volgende moet skep: 'n patch-job of 'n implementering vir 'n patch-job hardloop:
gcloud compute os-config patch-jobs execute --file=patch.json
Om 'n patch-implementering te implementeer:
gcloud compute os-config patch-deployments create my-update --file=patch.json
Geoutomatiseerde gereedskap soos patchy bestaan om lakse toestemmings op te spoor en outomaties lateraal te beweeg.
Jy kan dit ook misbruik vir volharding.
compute.machineImages.setIamPolicy
compute.machineImages.setIamPolicy
Ken jouself ekstra regte toe tot rekenaarbeeld.
compute.snapshots.setIamPolicy
compute.snapshots.setIamPolicy
Ken jouself ekstra regte toe tot 'n skyf-snapshot.
compute.disks.setIamPolicy
compute.disks.setIamPolicy
Ken jouself ekstra regte toe tot 'n skyf.
Bypass Toegangsbereik
Deur hierdie skakel te volg, vind jy 'n paar idees om te probeer om toegangsbereike te omseil.
Plaaslike Privilege-escalasie in GCP Rekenaarinstansie
pageGCP - local privilege escalation ssh pivotingVerwysings
Last updated