GCP - Cloud Run Enum

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

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

Cloud Run

Το Cloud Run είναι μια διαχειριζόμενη πλατφόρμα υπολογισμού χωρίς διακομιστή που σας επιτρέπει να εκτελείτε εφαρμογές εντολής απευθείας πάνω στην κλιμακούμενη υποδομή της Google.

Μπορείτε να εκτελέσετε τον δικό σας εφαρμογέα ή, εάν χρησιμοποιείτε Go, Node.js, Python, Java, .NET Core ή Ruby, μπορείτε να χρησιμοποιήσετε την επιλογή ανάπτυξης βάσει πηγαίου κώδικα που δημιουργεί τον εφαρμογέα για εσάς.

Η Google έχει δημιουργήσει το Cloud Run για να λειτουργεί καλά με άλλες υπηρεσίες στο Google Cloud, έτσι μπορείτε να δημιουργήσετε πλήρως λειτουργικές εφαρμογές.

Υπηρεσίες και εργασίες

Στο Cloud Run, ο κώδικάς σας μπορεί να εκτελείται είτε συνεχώς ως υπηρεσία είτε ως εργασία. Και οι δύο υπηρεσίες και εργασίες εκτελούνται στον ίδιο περιβάλλοντα χώρο και μπορούν να χρησιμοποιήσουν τις ίδιες ενσωματωμένες λειτουργίες με άλλες υπηρεσίες στο Google Cloud.

  • Υπηρεσίες Cloud Run. Χρησιμοποιούνται για την εκτέλεση κώδικα που ανταποκρίνεται σε αιτήματα ιστού ή συμβάντα.

  • Εργασίες Cloud Run. Χρησιμοποιούνται για την εκτέλεση κώδικα που εκτελεί μια εργασία και τερματίζει όταν ολοκληρωθεί η εργασία.

Υπηρεσία Cloud Run

Το Cloud Run της Google είναι μια άλλη προσφορά χωρίς διακομιστή όπου μπορείτε να αναζητήσετε μεταβλητές περιβάλλοντος. Το Cloud Run δημιουργεί έναν μικρό διακομιστή ιστού που εκτελείται προεπιλεγμένα στη θύρα 8080 μέσα στον εφαρμογέα, περιμένοντας ένα αίτημα HTTP GET. Όταν λαμβάνεται το αίτημα, εκτελείται μια εργασία και το αρχείο καταγραφής της εργασίας εξάγεται μέσω μιας απάντησης HTTP.

Σχετικές λεπτομέρειες

  • Από προεπιλογή, η πρόσβαση στον διακομιστή ιστού είναι δημόσια, αλλά μπορεί επίσης να περιοριστεί σε εσωτερική κίνηση (VPC...) Επιπλέον, η πιστοποίηση για να επικοινωνήσετε με τον διακομιστή ιστού μπορεί να είναι επιτρεπτή για όλους ή να απαιτεί πιστοποίηση μέσω IAM.

  • Από προεπιλογή, η κρυπτογράφηση χρησιμοποιεί ένα διαχειριζόμενο κλειδί της Google, αλλά μπορεί επίσης να επιλεγεί ένα CMEK (Προσαρμοσμένο Κλειδί Κρυπτογράφησης που Διαχειρίζεται ο Πελάτης) από το KMS.

  • Από προεπιλογή, ο λογαριασμός υπηρεσίας που χρησιμοποιείται είναι ο προεπιλεγμένος λογαριασμός Compute Engine που έχει πρόσβαση Editor στο έργο και έχει το scope cloud-platform.

  • Είναι δυνατή η καθορισμός καθαρών μεταβλητών περιβάλλοντος για την εκτέλεση και ακόμα και η προσάρτηση μυστικών του cloud ή η προσθήκη μυστικών του cloud στις μεταβλητές περιβάλλοντος.

  • Είναι επίσης δυνατή η προσθήκη συνδέσεων με το Cloud SQL και η προσάρτηση ενός συστήματος αρχείων.

  • Οι URL των υπηρεσιών που έχουν αναπτυχθεί είναι παρόμοιες με https://<svc-name>-<random>.a.run.app

  • Μια υπηρεσία Run μπορεί να έχει περισσότερες από 1 έκδοση ή αναθεώρηση, και να διαιρεί την κίνηση μεταξύ πολλαπλών αναθεωρήσεων.

Απαρίθμηση

# List services
gcloud run services list
gcloud run services list --platform=managed
gcloud run services list --platform=gke

# Get info of a service
gcloud run services describe --region <region> <svc-name>

# Get info of all the services together
gcloud run services list --format=yaml
gcloud run services list --platform=managed --format=json
gcloud run services list --platform=gke --format=json

# Get policy
gcloud run services get-iam-policy --region <region> <svc-name>

# Get revisions
gcloud run revisions list --region <region>
gcloud run revisions describe --region <region> <revision>

# Get domains
gcloud run domain-mappings list
gcloud run domain-mappings describe <name>

# Attempt to trigger a job unauthenticated
curl <url>

# Attempt to trigger a job with your current gcloud authorization
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" <url>

Εργασίες Cloud Run

Οι εργασίες Cloud Run είναι πιο κατάλληλες για εφαρμογές που εκτελούνται μέχρι την ολοκλήρωσή τους και δεν εξυπηρετούν αιτήσεις. Οι εργασίες δεν έχουν τη δυνατότητα να εξυπηρετούν αιτήσεις ή να ακούνε σε έναν θύρα. Αυτό σημαίνει ότι, αντίθετα από τις υπηρεσίες Cloud Run, οι εργασίες δεν πρέπει να περιλαμβάνουν έναν διακομιστή ιστού. Αντί αυτού, οι εργασίες πρέπει να τερματίζουν τον εαυτό τους όταν ολοκληρωθούν.

Απαρίθμηση

gcloud beta run jobs list
gcloud beta run jobs describe --region <region> <job-name>
gcloud beta run jobs get-iam-policy --region <region> <job-name>

Ανέβασμα Προνομίων

Στην ακόλουθη σελίδα, μπορείτε να ελέγξετε πώς να καταχραστείτε τα δικαιώματα του cloud run για να ανεβάσετε προνόμια:

pageGCP - Run Privesc

Μη εξουσιοδοτημένη Πρόσβαση

pageGCP - Cloud Run Unauthenticated Enum

Μετά την Εκμετάλλευση

pageGCP - Cloud Run Post Exploitation

Διατήρηση

pageGCP - Cloud Run Persistence

Αναφορές

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

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

Last updated