GCP - Cloud Functions Enum
Tip
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)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Cloud Functions
Google Cloud Functions kodunuzu barındırmak için tasarlanmıştır, bu kod olaylara yanıt olarak çalıştırılır, bir ana işletim sisteminin yönetimini gerektirmeden. Ayrıca, bu fonksiyonlar kodun kullanabileceği ortam değişkenlerinin depolanmasını destekler.
Storage
Cloud Functions kod GCP Storage’da depolanır. Bu nedenle, GCP’deki bucket’lar üzerinde okuma erişimi olan herkes Cloud Functions kodunu okuyabilecektir.
Kod, aşağıdaki gibi bir bucket’ta depolanır:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zipgcf-v2-sources-<number>-<region>/<function-name>function-source.zip
Örneğin:gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
Warning
Cloud Function’ı depolayan bucket üzerinde okuma yetkisi olan herhangi bir kullanıcı çalıştırılan kodu okuyabilir.
Artifact Registry
Eğer cloud function, çalıştırılan Docker konteynerinin proje içindeki bir Artifact Registry reposunda depolanacak şekilde yapılandırılmışsa, repo üzerinde okuma erişimi olan herkes resmi indirebilir ve kaynak kodunu kontrol edebilir. Daha fazla bilgi için kontrol edin:
SA
Belirtilmediği takdirde, varsayılan olarak App Engine Default Service Account proje üzerinde Editör izinleri ile Cloud Function’a eklenir.
Triggers, URL & Authentication
Bir Cloud Function oluşturulduğunda tetikleyici belirtilmelidir. Yaygın bir tetikleyici HTTPS’dir, bu fonksiyonun web tarayıcısı aracılığıyla tetiklenebileceği bir URL oluşturur.
Diğer tetikleyiciler pub/sub, Storage, Filestore…
URL formatı https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
HTTPS tetikleyicisi kullanıldığında, çağrının IAM yetkilendirmesine sahip olması gerekip gerekmediği veya herkesin sadece çağırıp çağıramayacağı da belirtilir:
.png)
Inside the Cloud Function
Kod, /workspace klasörüne indirilir ve Cloud Function’daki dosyaların sahip olduğu dosya adlarıyla aynı dosya adlarıyla çalıştırılır ve www-data kullanıcısıyla yürütülür.
Disk salt okunur olarak monte edilmemiştir.
Enumeration
# List functions
gcloud functions list
gcloud functions describe <func_name> # Check triggers to see how is this function invoked
gcloud functions get-iam-policy <func_name>
# Get logs of previous runs. By default, limits to 10 lines
gcloud functions logs read <func_name> --limit [NUMBER]
# Call a function
curl https://<region>-<project>.cloudfunctions.net/<func_name>
gcloud functions call <func_name> --data='{"message": "Hello World!"}'
# If you know the name of projects you could try to BF cloud functions names
# Get events that could be used to trigger a cloud function
gcloud functions event-types list
# Access function with authentication
curl -X POST https://<region>-<project>.cloudfunctions.net/<func_name> \
-H "Authorization: bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" \
-d '{}'
Yetki Yükseltme
Aşağıdaki sayfada, bulut işlevi izinlerini kötüye kullanarak yetki yükseltmeyi kontrol edebilirsiniz:
Kimlik Doğrulaması Olmadan Erişim
GCP - Cloud Functions Unauthenticated Enum
Sonrası İstismar
GCP - Cloud Functions Post Exploitation
Süreklilik
GCP - Cloud Functions Persistence
Referanslar
Tip
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)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

