GCP Pentesting
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 ortamında pentesting yapmaya başlamadan önce, nasıl çalıştığı hakkında bilmeniz gereken birkaç temel şey var; bu, ne yapmanız gerektiğini, yanlış yapılandırmaları nasıl bulacağınızı ve bunları nasıl istismar edeceğinizi anlamanıza yardımcı olacaktır.
Organizasyon hiyerarşisi, izinler ve diğer temel kavramlar hakkında açıklamalar:
GCP - Basic InformationBir GCP ortamını denetlemek için bilmek çok önemlidir: hangi hizmetlerin kullanıldığı, neyin açık olduğu, kimin neye erişimi olduğu ve iç GCP hizmetlerinin harici hizmetlerle nasıl bağlantılı olduğudur.
Red Team bakış açısına göre, bir GCP ortamını ele geçirmenin ilk adımı bazı kimlik bilgilerini elde etmektir. Bunu nasıl yapacağınıza dair bazı fikirler:
Github'daki sızıntılar (veya benzeri) - OSINT
Sosyal Mühendislik (Sayfayı kontrol edin Workspace Security)
Şifre yeniden kullanımı (şifre sızıntıları)
GCP-Hosted Uygulamalardaki Güvenlik Açıkları
Server Side Request Forgery ile metadata uç noktasına erişim
Yerel Dosya Okuma
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
tarafların ihlal edilmesi
İç Çalışan
Ya da kimlik doğrulaması yapılmamış bir hizmeti ele geçirerek:
GCP - Unauthenticated Enum & AccessYa da bir gözden geçirme yapıyorsanız, bu rollerle kimlik bilgilerini isteyebilirsiniz:
GCP - Permissions for a PentestKimlik bilgilerini elde ettikten sonra, bu kimlik bilgilerin kime ait olduğunu ve neye erişim sağladıklarını bilmeniz gerekir, bu nedenle bazı temel numaralar yapmanız gerekir:
GCP metadata'sını numaralandırma hakkında daha fazla bilgi için aşağıdaki hacktricks sayfasını kontrol edin:
GCP'de kim olduğunuzu tahmin etmeye çalışmak için birkaç seçenek deneyebilirsiniz:
Kullanıcı hakkında daha fazla bilgi almak için /userinfo
API uç noktasını da kullanabilirsiniz:
Yeterli izinleriniz varsa, GCP hesabındaki her varlığın ayrıcalıklarını kontrol etmek, sizin ve diğer kimliklerin neler yapabileceğini anlamanıza yardımcı olacaktır ve ayrıcalıkları artırma yollarını keşfetmenizi sağlar.
IAM'yi saymak için yeterli izinleriniz yoksa, bunları kaba kuvvetle çalabilirsiniz. Sayım ve kaba kuvvet uygulama yöntemlerini kontrol edin:
GCP - IAM, Principals & Org Policies EnumArtık kimlik bilgileriniz hakkında bazı bilgilere sahip olduğunuzda (ve eğer bir kırmızı takım üyesiyseniz umarım tespit edilmemişsinizdir). Ortamda hangi hizmetlerin kullanıldığını anlamanın zamanı geldi. Aşağıdaki bölümde bazı yaygın hizmetleri saymanın yollarını kontrol edebilirsiniz.
GCP, şaşırtıcı bir hizmet miktarına sahiptir, aşağıdaki sayfada temel bilgiler, sayım kılavuzları, tespiti önleme, kalıcılık sağlama ve bazıları hakkında diğer sonrasında istismar ipuçlarını bulacaksınız:
GCP - ServicesTüm çalışmaları manuel olarak yapmanıza gerek olmadığını unutmayın, bu yazının aşağısında otomatik araçlar hakkında bir bölüm bulabilirsiniz.
Ayrıca, bu aşamada kimlik doğrulaması yapılmamış kullanıcılara açık daha fazla hizmet keşfetmiş olabilirsiniz, bunları istismar edebilirsiniz:
GCP - Unauthenticated Enum & AccessBiraz bulut kimliği elde ettiğinizde veya bulut içinde çalışan bir hizmeti ele geçirdiğinizde en yaygın yol, yanlış yapılandırılmış ayrıcalıkları kötüye kullanmaktır. Bu nedenle, yapmanız gereken ilk şey ayrıcalıklarınızı saymaktır.
Ayrıca, bu sayım sırasında izinlerin "Organizasyon" seviyesinde de ayarlanabileceğini unutmayın.
GCP - Privilege EscalationGCP - Post ExploitationGCP - PersistenceGCP hizmetlerini sayarken, bazı hizmetlerin İnternete elemanlar açtığını bulmuş olabilirsiniz (VM/Konteyner portları, veritabanları veya kuyruk hizmetleri, anlık görüntüler veya kovalar...). Bir pentester/kırmızı takım üyesi olarak, bunlarda hassas bilgiler / zafiyetler bulup bulamayacağınızı her zaman kontrol etmelisiniz, çünkü bunlar size AWS hesabına daha fazla erişim sağlayabilir.
Bu kitapta, açık GCP hizmetlerini bulma ve bunları kontrol etme hakkında bilgiler bulmalısınız. Açık ağ hizmetlerinde zafiyetler bulma hakkında, belirli hizmeti aramanızı öneririm:
Bir platformdaki ilkeleri ele geçirmek, bir saldırganın diğerini ele geçirmesine olanak tanıyabilir, bunu kontrol edin:
GCP <--> Workspace PivotingGCloud konsolunda, https://console.cloud.google.com/iam-admin/asset-inventory/dashboard adresinde proje tarafından kullanılan kaynakları ve IAM'leri görebilirsiniz.
Bu API tarafından desteklenen varlıkları burada görebilirsiniz: https://cloud.google.com/asset-inventory/docs/supported-asset-types
Birçok bulutta kullanılabilecek araçları burada kontrol edin.
gcp_scanner: Bu, GCP'deki belirli kimlik bilgilerinin hangi erişim seviyesine sahip olduğunu belirlemeye yardımcı olabilecek bir GCP kaynak tarayıcısıdır.
gcp_enum: gcloud cli kullanarak bir GCP ortamını listelemek ve sonuçları bir dosyaya kaydetmek için Bash scripti.
GCP-IAM-Privilege-Escalation: Yüksek IAM ayrıcalıklarını listelemek ve bunları kötüye kullanarak GCP'de ayrıcalıkları yükseltmek için scriptler (listeleme scriptini çalıştırmayı başaramadım).
BF My GCP Permissions: İzinlerinizi brute force yapmak için script.
Unutmayın ki gcloud
cli ile istekleri yazdırmak için --log-http
parametresini kullanabilirsiniz. Logların token değerini gizlemesini istemiyorsanız gcloud config set log_http_redact_token false
kullanın.
Ayrıca, iletişimi kesmek için:
Metadata uç noktasından sızdırılmış bir hizmet hesabı OAuth token'ını kullanmak için sadece şunu yapabilirsiniz:
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)