GCP - App Engine Enum

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Google Cloud Platform's (GCP) App Engine ni jukwaa lenye nguvu, lisilo na seva lililobinafsishwa kwa maendeleo na mwenyeji wa maombi ya wavuti kwa kiwango kikubwa. Ubunifu wa jukwaa hili unazingatia kusonga mbele mchakato wa maendeleo na kuboresha usimamizi wa maombi. Sifa muhimu na faida za App Engine ya GCP ni pamoja na:

  1. Miundo Isiyo na Seva: App Engine inashughulikia moja kwa moja miundombinu, ikiwa ni pamoja na utoaji wa seva, usanidi, na upanuzi. Hii inaruhusu waendelezaji kuzingatia kuandika nambari bila kuhangaika kuhusu vifaa vya msingi.

  2. Upanuzi wa Kiotomatiki: App Engine inaweza kiotomatiki kupanua maombi yako kulingana na kiasi cha trafiki inayopokea. Inapanuka kushughulikia trafiki iliyozidi na kupunguza wakati trafiki inapungua, ikisaidia kuoptima gharama na utendaji.

  3. Msaada wa Lugha na Mazingira ya Uendeshaji: Inasaidia lugha maarufu za programu kama Java, Python, Node.js, Go, Ruby, PHP, na .NET. Unaweza kukimbia maombi yako katika mazingira ya kawaida au mazingira ya kubadilika. Mazingira ya kawaida ni ya kikandamizi lakini imeboreshwa sana kwa lugha maalum, wakati mazingira ya kubadilika inaruhusu ubinafsishaji zaidi.

  4. Huduma Zilizounganishwa: App Engine inaunganisha na huduma nyingine nyingi za GCP, kama Cloud SQL, Cloud Storage, Cloud Datastore, na zaidi. Uunganisho huu unasimplisha miundo ya maombi yanayotegemea wingu.

  5. Utoaji wa Matoleo na Kugawanya Trafiki: Unaweza kwa urahisi kupeleka matoleo mengi ya maombi yako na kisha kugawa trafiki kati yao kwa majaribio ya A/B au kwa kutoa polepole.

  6. Ujuzi wa Maombi: App Engine hutoa huduma zilizojengwa kama kuingia, uthibitishaji wa mtumiaji, na seti ya zana za waendelezaji kwa ufuatiliaji na usimamizi wa maombi.

  7. Usalama: Inatoa vipengele vya usalama vilivyojengwa kama vile toleo la maombi, vyeti vya SSL/TLS kwa mawasiliano salama, na utambulisho na usimamizi wa ufikiaji.

Firewall

Firewall rahisi inaweza kusanidiwa kwa mifano inayotumia Maombi na chaguo zifuatazo:

SA

Akaunti ya huduma ya msingi inayotumiwa na Maombi haya ni <proj-jina>@appspot.gserviceaccount.com ambayo ina jukumu la Mhariri juu ya mradi na SAs ndani ya kifaa cha APP Engine hufanya kazi na wigo wa jukwaa la wingu (miongoni mwa wengine).

Uhifadhi

Nambari ya chanzo na metadata huhifadhiwa kiotomatiki kwenye vikasha vyenye majina kama <proj-id>.appspot.com na staging.<proj-id>.appspot.com na <nchi>.<proj-id>.appspot.com

Kila faili ya Maombi inahifadhiwa na sha1 ya yaliyomo kama jina la faili:

Ndani ya ae folda kutoka staging.<proj-id>.appspot.com, folda moja kwa kila toleo ipo na faili za nambari ya chanzo na faili ya manifest.json ambayo inaelezea vipengele vya Maombi:

{"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 ...

Kontena

Programu ya wavuti mwishowe itatekelezwa ndani ya kontena na Code Build inatumika kujenga kontena.

URL & Mikoa

Ukurasa wa wavuti wa msingi utafunuliwa kwenye URL <jina-la-uniqi-la-mradi>.appspot.com ingawa URL za toleo la zamani zitakuwa tofauti kidogo, kama https://20240117t001540-dot-<jina-la-uniqi-la-mradi>.uc.r.appspot.com (zingatia muda wa awali).

Inaweza kuonekana kana kwamba ni iwezekanavyo tu kupeleka maombi 1 ya injini ya programu kwa kila eneo, lakini inawezekana kuonyesha huduma: <jina-la-huduma> katika app.yml na kuunda huduma mpya (wavuti mpya). Muundo wa URL kwa wavuti hii mpya utakuwa <jina-la-huduma>-dot-<jina-la-uniqi-la-mradi>.appspot.com.

Uchambuzi

Kila wakati unapakia nambari mpya kwenye Programu, toleo jipya linajengwa. Maversioni yote hufutwa na hata wana URL ya kufikia. Kwa hivyo, kubadilisha nambari ya toleo la zamani inaweza kuwa njia nzuri ya kudumu.

Kama ilivyo na Cloud Functions, kuna nafasi kwamba programu itategemea siri ambazo hupatikana wakati wa muda wa kukimbia kupitia mazingira ya mazingira. Hizi mazingira hufutwa katika faili ya app.yaml ambayo inaweza kupatikana kama ifuatavyo:

# 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>

Upandishaji wa Mamlaka

pageGCP - AppEngine Privesc

Upimaji wa Bila Kuthibitishwa

pageGCP - App Engine Unauthenticated Enum

Baada ya Kudukuliwa

pageGCP - App Engine Post Exploitation

Uimara

pageGCP - App Engine Persistence
Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated