GCP - Compute Privesc
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
GCP'deki Compute ve VPC (ağ) hakkında daha fazla bilgi için kontrol edin:
GCP - Compute EnumÖnemli: Örneğin yeni kullanıcılar ve SSH anahtarları eklemek gibi, örneğin metadata'sını değiştirmeyi gerektiren tüm ayrıcalık yükseltme saldırılarını gerçekleştirmek için, örneğe bağlı SA üzerinde actAs
izinlerinizin olması GEREKİR, SA zaten bağlı olsa bile!
compute.projects.setCommonInstanceMetadata
Bu izinle, bir örneğin metadata bilgilerini değiştirebilir ve bir kullanıcının yetkilendirilmiş anahtarlarını değiştirebilir veya sudo izinlerine sahip yeni bir kullanıcı oluşturabilirsiniz. Bu nedenle, herhangi bir VM örneğine SSH ile bağlanabilir ve örneğin çalıştığı GCP Hizmet Hesabını çalabilirsiniz. Sınırlamalar:
GCP Hizmet Hesaplarının VM örneklerinde varsayılan olarak çok sınırlı bir kapsamı olduğunu unutmayın.
Giriş yapmak için SSH sunucusuyla iletişim kurabilmeniz gerekecek.
Bu izni nasıl istismar edeceğiniz hakkında daha fazla bilgi için kontrol edin:
GCP - Add Custom SSH MetadataAyrıca, yeni bir başlangıç betiği ekleyerek ve örneği yeniden başlatarak bu saldırıyı gerçekleştirebilirsiniz:
compute.instances.setMetadata
Bu izin, önceki izinle aynı ayrıcalıkları belirli bir örnek üzerinde verir, tüm proje yerine. Önceki bölümdeki aynı istismarlar ve sınırlamalar geçerlidir.
compute.instances.setIamPolicy
Bu tür bir izin, önceki izinlerle kendinize bir rol vermenizi ve bunları kötüye kullanarak ayrıcalıkları artırmanızı sağlar.
compute.instances.osLogin
Eğer OSLogin örnekte etkinse, bu izinle sadece gcloud compute ssh [INSTANCE]
komutunu çalıştırarak örneğe bağlanabilirsiniz. Örnekte root ayrıcalıklarınız olmayacak.
Bu izinle VM örneği içinde başarılı bir şekilde giriş yapmak için, VM'ye bağlı SA üzerinde iam.serviceAccounts.actAs
iznine sahip olmanız gerekir.
compute.instances.osAdminLogin
Eğer OSLogin örnekte etkinse, bu izinle sadece gcloud compute ssh [INSTANCE]
komutunu çalıştırarak örneğe bağlanabilirsiniz. Örnekte root ayrıcalıklarınız olacak.
Bu izinle VM örneği içinde başarılı bir şekilde giriş yapmak için, VM'ye bağlı SA üzerinde iam.serviceAccounts.actAs
iznine sahip olmanız gerekir.
compute.instances.create
,iam.serviceAccounts.actAs, compute.disks.create
, compute.instances.create
, compute.instances.setMetadata
, compute.instances.setServiceAccount
, compute.subnetworks.use
, compute.subnetworks.useExternalIp
Atanmış bir Hizmet Hesabı ile sanal bir makine oluşturmak ve token'ı çalmak mümkündür, böylece ayrıcalıkları artırabilirsiniz.
Bu yöntem için istismar betiği burada bulunabilir.
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
Eğer osconfig.patchDeployments.create
veya osconfig.patchJobs.exec
izinleriniz varsa, bir yamanın işi veya dağıtımı oluşturabilirsiniz. Bu, ortamda yanlamasına hareket etmenizi ve bir projedeki tüm hesaplama örneklerinde kod yürütme elde etmenizi sağlar.
Şu anda, örneğe bağlı SA üzerinde actAs
iznine ihtiyacınız olmadığını unutmayın.
Bunu manuel olarak istismar etmek istiyorsanız, ya bir yamanın işi ya da dağıtım** oluşturmanız gerekecek.** Bir yamanın işi için çalıştırın:
Bir yamanın dağıtımını yapmak için:
Araç patchy bu yanlış yapılandırmayı istismar etmek için geçmişte kullanılabiliyordu (ama şimdi çalışmıyor).
Bir saldırgan bunu kalıcılık için de kötüye kullanabilir.
compute.machineImages.setIamPolicy
Kendinize ek izinler verin compute Image için.
compute.snapshots.setIamPolicy
Kendinize ek izinler verin bir disk anlık görüntüsü için.
compute.disks.setIamPolicy
Kendinize ek izinler verin bir disk için.
Bu bağlantıyı takip ederek bazı erişim kapsamlarını aşma fikirleri bulabilirsiniz.
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)