GCP - Cloud Functions Enum
Cloud Functions
Google Cloud Functions, olaylara yanıt olarak yürütülen kodunuzu barındırmak için tasarlanmıştır ve bir ana işletim sistemi yönetimi gerektirmez. Ayrıca, bu fonksiyonlar kodun kullanabileceği çevresel değişkenlerin depolanmasını destekler.
Depolama
Cloud Functions kodu GCP Depolama'da depolanır. Bu nedenle, GCP'deki kovalarda okuma erişimi olan herkes Cloud Functions kodunu okuyabilir. Kod, aşağıdaki gibi bir kovada depolanır:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip
örneğin:
gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
Cloud Function'ı depolayan kovada yazma izinleri olan herhangi bir kullanıcı, yürütülen kodu üzerine yazabilir.
SA
Belirtilmezse, varsayılan olarak Proje üzerinde Editör izinlerine sahip App Engine Varsayılan Hizmet Hesabı, Cloud Function'a eklenir.
Tetikleyiciler, URL ve Kimlik Doğrulama
Bir Cloud Function oluşturulduğunda, tetikleyici belirtilmelidir. Yaygın bir tetikleyici HTTPS'dir, bu, işlevin web tarayıcısı aracılığıyla tetiklenebileceği bir URL oluşturur. Diğer tetikleyiciler pub/sub, Depolama, Filestore...
URL formatı https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
şeklindedir.
HTTPS tetikleyici kullanıldığında, çağrıyı yapanın IAM yetkisi olup olmadığı veya herkesin sadece çağrı yapabileceği belirtilir:
Cloud Function İçinde
Kod, Cloud Function'daki dosyalarla aynı dosya adlarına sahip olarak /workspace
klasörüne indirilir ve www-data
kullanıcısıyla yürütülür.
Disk salt okunur olarak bağlanmaz.
Enumerasyon
Yetki Yükseltme
Aşağıdaki sayfada, yetki yükseltmek için bulut fonksiyonu izinlerini kötüye kullanmanın nasıl yapıldığını kontrol edebilirsiniz:
pageGCP - Cloudfunctions PrivescKimlik Doğrulamasız Erişim
pageGCP - Cloud Functions Unauthenticated EnumSaldırı Sonrası
pageGCP - Cloud Functions Post ExploitationKalıcılık
pageGCP - Cloud Functions PersistenceReferanslar
Last updated