GCP - Compute Privesc

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Compute

Daha fazla bilgi için GCP'deki Compute ve VPC (ağ) hakkında kontrol edin:

pageGCP - Compute Enum

compute.projects.setCommonInstanceMetadata

Bu izinle bir örneğin metadata bilgisini değiştirebilir ve bir kullanıcının yetkilendirilmiş anahtarlarını değiştirebilir veya sudo yetkilerine sahip yeni bir kullanıcı oluşturabilirsiniz. Bu nedenle, herhangi bir VM örneğine SSH üzerinden erişebilir ve örneğin çalıştığı GCP Hizmet Hesabını çalabilirsiniz. Sınırlamalar:

  • VM örneklerinde varsayılan olarak çalışan GCP Hizmet Hesapları çok sınırlı bir kapsama sahiptir

  • Giriş yapmak için SSH sunucusuna ulaşabilme yeteneğine sahip olmanız gerekecektir

Bu izni nasıl sömüreceğiniz hakkında daha fazla bilgi için kontrol edin:

pageGCP - Add Custom SSH Metadata

compute.instances.setMetadata

Bu izin, bir bütün projeye değil, belirli bir örneğe yönelik olarak önceki izinlerle aynı yetkileri verir. Önceki bölümdeki sömürüler ve sınırlamalar geçerlidir.

compute.instances.setIamPolicy

Bu tür bir izin, önceki izinlere sahip bir rolü kendinize atama ve bu izinleri kötüye kullanarak ayrıcalıkları yükseltme olanağı sağlar.

compute.instances.osLogin

Eğer örnekte OSLogin etkinse, bu izinle sadece gcloud compute ssh [INSTANCE] komutunu çalıştırarak örneğe bağlanabilirsiniz. Örneğin içinde root yetkilerine sahip olmayacaksınız.

compute.instances.osAdminLogin

Eğer örnekte OSLogin etkinse, bu izinle sadece gcloud compute ssh [INSTANCE] komutunu çalıştırarak örneğe bağlanabilirsiniz. Örneğin içinde root yetkilerine sahip olacaksınız.

compute.instances.create,iam.serviceAccounts.actAs, compute.disks.create, compute.instances.create, compute.instances.setMetadata, compute.instances.setServiceAccount, compute.subnetworks.use, compute.subnetworks.useExternalIp

Bir atanmış Hizmet Hesabı olan bir sanal makine oluşturabilir ve ayrıcalıkları yükseltmek için hizmet hesabının belirteçlerini çalmak için metadata'ya erişebilirsiniz.

Bu yöntemin sömürü betiği burada bulunabilir.

osconfig.patchDeployments.create | osconfig.patchJobs.exec

osconfig.patchDeployments.create veya osconfig.patchJobs.exec izinlerine sahipseniz, yama işi veya dağıtımı oluşturabilirsiniz. Bu, ortamda yanal hareket etmenizi ve bir projedeki tüm hesaplama örneklerinde kod yürütme yetkisi elde etmenizi sağlar.

Bunu manuel olarak sömürmek isterseniz, ya bir yama işi veya dağıtım oluşturmanız gerekecektir:

gcloud compute os-config patch-jobs execute --file=patch.json

Bir yama dağıtımı dağıtmak için:

gcloud compute os-config patch-deployments create my-update --file=patch.json

patchy gibi otomatik araçlar, gevşek izinleri tespit etmek ve otomatik olarak yanal hareket etmek için mevcuttur.

Bu ayrıca kalıcılık için kötüye kullanılabilir.

compute.machineImages.setIamPolicy

Bilgisayara Ekstra İzinler verin.

compute.snapshots.setIamPolicy

Disk snapshot'a Ekstra İzinler verin.

compute.disks.setIamPolicy

Diske Ekstra İzinler verin.

Erişim Kapsamlarını Geçme

Bu bağlantıyı takip ederek erişim kapsamlarını geçmek için deneyebileceğiniz bazı fikirler bulabilirsiniz.

Yerel Ayrıcalık Yükseltme GCP Compute örneğinde

pageGCP - local privilege escalation ssh pivoting

Referanslar

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Last updated