GCP - App Engine 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.
Temel Bilgiler
Google Cloud Platform’ın (GCP) App Engine’i, büyük ölçekli web uygulamalarının geliştirilmesi ve barındırılması için tasarlanmış sağlam, sunucusuz bir platformdur. Bu platformun tasarımı, geliştirme sürecini kolaylaştırmaya ve uygulamaların yönetilebilirliğini artırmaya odaklanmaktadır. GCP’nin App Engine’inin ana özellikleri ve faydaları şunlardır:
- Sunucusuz Mimari: App Engine, sunucu sağlama, yapılandırma ve ölçeklendirme dahil olmak üzere altyapıyı otomatik olarak yönetir. Bu, geliştiricilerin altyapı donanımı hakkında endişelenmeden kod yazmaya odaklanmalarını sağlar.
- Otomatik Ölçeklendirme: App Engine, aldığı trafik miktarına yanıt olarak uygulamanızı otomatik olarak ölçeklendirebilir. Artan trafiği karşılamak için ölçeklenir ve trafik azaldığında ölçek küçültür, maliyet ve performansı optimize etmeye yardımcı olur.
- Dil ve Çalışma Zamanı Desteği: Java, Python, Node.js, Go, Ruby, PHP ve .NET gibi popüler programlama dillerini destekler. Uygulamalarınızı standart veya esnek bir ortamda çalıştırabilirsiniz. Standart ortam daha kısıtlayıcıdır ancak belirli diller için yüksek derecede optimize edilmiştir, esnek ortam ise daha fazla özelleştirmeye izin verir.
- Entegre Hizmetler: App Engine, Cloud SQL, Cloud Storage, Cloud Datastore gibi birçok diğer GCP hizmetiyle entegre olur. Bu entegrasyon, bulut tabanlı uygulamaların mimarisini basitleştirir.
- Sürümleme ve Trafik Bölme: Uygulamanızın birden fazla sürümünü kolayca dağıtabilir ve ardından A/B testi veya kademeli dağıtımlar için bunlar arasında trafiği bölebilirsiniz.
- Uygulama İçgörüleri: App Engine, uygulamaları izlemek ve yönetmek için günlük kaydı, kullanıcı kimlik doğrulaması ve bir dizi geliştirici aracı gibi yerleşik hizmetler sunar.
- Güvenlik: Uygulama sürümleme, güvenli bağlantılar için SSL/TLS sertifikaları ve kimlik ve erişim yönetimi gibi yerleşik güvenlik özellikleri sunar.
Güvenlik Duvarı
Uygulamaları çalıştıran örnekler için basit bir güvenlik duvarı aşağıdaki seçeneklerle yapılandırılabilir:
.png)
SA
Bu Uygulamalar tarafından kullanılan varsayılan hizmet hesabı <proj-name>@appspot.gserviceaccount.com olup, projede Editör rolüne sahiptir ve APP Engine örneği içindeki SAs cloud-platform kapsamıyla (diğerlerinin yanı sıra) çalışır.
Depolama
Kaynak kodu ve meta veriler, <proj-id>.appspot.com ve staging.<proj-id>.appspot.com ile <country>.<proj-id>.appspot.com gibi adlarla otomatik olarak kovalar içinde depolanır.
Uygulamanın her dosyası, içeriğin sha1’ini dosya adı olarak kullanarak depolanır:
.png)
staging.<proj-id>.appspot.com içindeki ae klasöründe, her sürüm için bir klasör bulunur ve manifest.json dosyası ile birlikte kaynak kodu dosyaları yer alır; bu dosya Uygulamanın bileşenlerini tanımlar:
{"requirements.txt":{"sourceUrl":"https://storage.googleapis.com/staging.onboarding-host-98efbf97812843.appspot.com/a270eedcbe2672c841251022b7105d340129d108","sha1Sum":"a270eedc_be2672c8_41251022_b7105d34_0129d108"},"main_test.py":{"sourceUrl":"https://storage.googleapis.com/staging.onboarding-host-98efbf97812843.appspot.com/0ca32fd70c953af94d02d8a36679153881943f32","sha1Sum":"0ca32fd7_0c953af9_4d02d8a ...
Containers
Web uygulaması nihayetinde bir konteyner içinde çalıştırılacaktır ve Code Build konteyneri oluşturmak için kullanılır.
URLs & Regions
Varsayılan web sayfası <project-uniq-name>.appspot.com URL’sinde yayınlanacaktır, ancak eski sürümlerin URL’si biraz farklı olacaktır, örneğin https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com (ilk zaman damgasını not edin).
Sadece bir uygulama motoru web uygulamasının her bölgeye dağıtılabileceği gibi görünebilir, ancak app.yml dosyasında service: <servicename> belirtmek ve yeni bir hizmet (yeni bir web) oluşturmak mümkündür. Bu yeni web için URL formatı <servicename>-dot-<project-uniq-name>.appspot.com olacaktır.
Enumeration
Caution
Her yeni kod yüklediğinizde, yeni bir sürüm oluşturulur. Tüm sürümler saklanır ve bunlara erişmek için bir URL’leri vardır. Bu nedenle, eski bir sürümün kodunu değiştirmek büyük bir kalıcılık tekniği olabilir.
Cloud Functions ile olduğu gibi, uygulamanın çalışma zamanında ortam değişkenleri aracılığıyla erişilen gizli bilgilere dayanma olasılığı vardır. Bu değişkenler, aşağıdaki gibi erişilebilen bir app.yaml dosyasında saklanır:
# List the apps
gcloud app services list
gcloud app services describe <app-name>
# Access via browser to the specified app
gcloud app services browse <app-name>
# Get App versions
gcloud app versions list
# Get all the info of the app and version, included specific verion URL and the env
gcloud app versions describe -s <app-name> <version-id>
# Logs
gcloud app logs tail -s <app-name>
# Instances
## This is only valid if a flexible environment is used and not a standard one
gcloud app instances list
gcloud app instances describe -s <app-name> --version <version-id> <ID>
## Connect to the instance via ssh
gcloud app instances ssh --service <app-name> --version <version-id> <ID>
# Firewalls
gcloud app firewall-rules list
gcloud app firewall-rules describe <num_fw>
# Get domains
gcloud app domain-mappings list
gcloud app domain-mappings describe <name>
# SSl certificates
gcloud app ssl-certificates list
gcloud app ssl-certificates describe <name>
Yetki Yükseltme
Kimlik Doğrulaması Olmadan Enum
GCP - App Engine Unauthenticated Enum
Sonrası İstismar
GCP - App Engine Post Exploitation
Süreklilik
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

