GCP - App Engine Enum

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Βασικές Πληροφορίες

Το App Engine του Google Cloud Platform (GCP) είναι μια αξιόπιστη, serverless πλατφόρμα που προσαρμόζεται για την ανάπτυξη και φιλοξενία web εφαρμογών μεγάλης κλίμακας. Ο σχεδιασμός αυτής της πλατφόρμας επικεντρώνεται στην απλοποίηση της διαδικασίας ανάπτυξης και τη βελτίωση της δυνατότητας διαχείρισης των εφαρμογών. Οι κύριες χαρακτηριστικές και οφέλη του App Engine του GCP περιλαμβάνουν:

  1. Αρχιτεκτονική Serverless: Το App Engine αναλαμβάνει αυτόματα την υποδομή, συμπεριλαμβανομένης της παροχής, της διαμόρφωσης και της κλιμάκωσης του διακομιστή. Αυτό επιτρέπει στους προγραμματιστές να επικεντρωθούν στην εγγραφή κώδικα χωρίς να ανησυχούν για το υποκείμενο υλικό.

  2. Αυτόματη Κλιμάκωση: Το App Engine μπορεί να κλιμακώσει αυτόματα την εφαρμογή σας ανάλογα με την ποσότητα της κίνησης που λαμβάνει. Κλιμακώνεται για να αντιμετωπίσει αυξημένη κίνηση και μειώνεται όταν η κίνηση μειώνεται, βοηθώντας στη βελτιστοποίηση του κόστους και της απόδοσης.

  3. Υποστήριξη Γλωσσών και Εκτέλεσης: Υποστηρίζει δημοφιλείς γλώσσες προγραμματισμού όπως Java, Python, Node.js, Go, Ruby, PHP και .NET. Μπορείτε να εκτελέσετε τις εφαρμογές σας σε ένα πρότυπο ή ένα ευέλικτο περιβάλλον. Το πρότυπο περιβάλλον είναι πιο περιοριστικό αλλά υψηλά βελτιστοποιημένο για συγκεκριμένες γλώσσες, ενώ το ευέλικτο περιβάλλον επιτρέπει περισσότερη προσαρμογή.

  4. Ενσωματωμένες Υπηρεσίες: Το App Engine ενσωματώνεται με πολλές άλλες υπηρεσίες του GCP, όπως Cloud SQL, Cloud Storage, Cloud Datastore και άλλες. Αυτή η ενσωμάτωση απλοποιεί την αρχιτεκτονική των εφαρμογών που βασίζονται στο cloud.

  5. Έκδοση και Διαίρεση Κίνησης: Μπορείτε εύκολα να αναπτύξετε πολλαπλές εκδόσεις της εφαρμογής σας και στη συνέχεια να διαιρέσετε την κίνηση μεταξύ τους για δοκιμές A/B ή σταδιακές κυκλοφορίες.

  6. Πληροφορίες Εφαρμογής: Το App Engine παρέχει ενσωματωμένες υπηρεσίες όπως καταγραφή, αυθεντικοποίηση χρηστών και σύνολο εργαλείων για την παρακολούθηση και διαχείριση εφαρμογών.

  7. Ασφάλεια: Προσφέρει ενσωματωμένες λειτουργίες ασφαλείας όπως έκδοση εφαρμογής, πιστοποιητικά SSL/TLS για ασφαλείς συνδέσεις και διαχείριση ταυτότητας και πρόσβασης.

Τείχος Προστασίας

Ένα απλό τείχος προστασίας μπορεί να διαμορφωθεί για τις περιπτώσεις που εκτελούνται οι εφαρμογές με τις παρακάτω επιλογές:

SA

Ο προεπιλεγμένος λογαριασμός υπηρεσίας που χρησιμοποιούν αυτές οι εφαρμογές είναι <proj-name>@appspot.gserviceaccount.com ο οποίος έχει ρόλο Editor στο έργο και οι λογαριασμοί υπηρεσίας μέσα στην περίπτωση APP Engine εκτελούνται με εύρος cloud-platform (μεταξύ άλλων).

Αποθήκευση

Ο πηγαίος κώδικας και οι μεταδεδομένες αποθηκεύονται αυτόματα σε κάδους με ονόματα όπως <proj-id>.appspot.com και staging.<proj-id>.appspot.com και <country>.<proj-id>.appspot.com

Κάθε αρχείο της ε

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

Εφαρμογές Εμπορευμάτων

Η ιστοσελίδα θα εκτελείται τελικά μέσα σε ένα container και το Code Build χρησιμοποιείται για την κατασκευή του container.

URLs & Περιοχές

Η προεπιλεγμένη ιστοσελίδα θα εκτίθεται στο URL <project-uniq-name>.appspot.com, αν και το URL των παλαιότερων εκδόσεων θα είναι ελαφρώς διαφορετικό, όπως https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com (σημειώστε την αρχική χρονική σήμανση).

Μπορεί να φαίνεται ότι είναι δυνατή η ανάπτυξη μόνο μίας εφαρμογής ιστοσελίδας του App Engine ανά περιοχή, αλλά είναι δυνατό να υποδείξετε service: <servicename> στο app.yml και να δημιουργήσετε ένα νέο service (μια νέα ιστοσελίδα). Η μορφή του URL για αυτήν τη νέα ιστοσελίδα θα είναι <servicename>-dot-<project-uniq-name>.appspot.com.

Απαρίθμηση

Κάθε φορά που ανεβάζετε νέο κώδικα στην εφαρμογή, δημιουργείται μια νέα έκδοση. Όλες οι εκδόσεις αποθηκεύονται και έχουν ακόμα ένα URL για πρόσβαση σε αυτές. Έτσι, η τροποποίηση του κώδικα μιας παλαιότερης έκδοσης μπορεί να είναι μια εξαιρετική τεχνική διατήρησης.

Όπως και με τις Cloud Functions, υπάρχει πιθανότητα η εφαρμογή να εξαρτάται από μυστικά που προσπελαύνονται κατά την εκτέλεση μέσω μεταβλητών περιβάλλοντος. Αυτές οι μεταβλητές αποθηκεύονται σε ένα αρχείο app.yaml το οποίο μπορεί να προσπελαστεί ως εξής:

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

Ανέλεγκτη Απαρίθμηση

pageGCP - App Engine Unauthenticated Enum

Εκμετάλλευση μετά την Εισβολή

pageGCP - App Engine Post Exploitation

Διατήρηση

pageGCP - App Engine Persistence
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated