GCP - Compute Instances

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Basic Information

Οι Google Cloud Compute Instances είναι προσαρμόσιμες εικονικές μηχανές στην υποδομή cloud της Google, προσφέροντας κλιμακούμενη και κατά παραγγελία υπολογιστική ισχύ για μια ευρεία γκάμα εφαρμογών. Παρέχουν χαρακτηριστικά όπως παγκόσμια ανάπτυξη, μόνιμη αποθήκευση, ευέλικτες επιλογές λειτουργικού συστήματος και ισχυρές ενσωματώσεις δικτύωσης και ασφάλειας, καθιστώντας τις μια ευέλικτη επιλογή για φιλοξενία ιστοσελίδων, επεξεργασία δεδομένων και εκτέλεση εφαρμογών αποτελεσματικά στο cloud.

Confidential VM

Οι Confidential VMs χρησιμοποιούν χαρακτηριστικά ασφάλειας βασισμένα σε υλικό που προσφέρονται από την τελευταία γενιά επεξεργαστών AMD EPYC, τα οποία περιλαμβάνουν κρυπτογράφηση μνήμης και ασφαλή κρυπτογραφημένη εικονικοποίηση. Αυτά τα χαρακτηριστικά επιτρέπουν στη VM να προστατεύει τα δεδομένα που επεξεργάζονται και αποθηκεύονται εντός της από το ίδιο το λειτουργικό σύστημα του host και τον hypervisor.

Για να εκτελέσετε μια Confidential VM, μπορεί να χρειαστεί να αλλάξετε πράγματα όπως τον τύπο της μηχανής, το δίκτυο interface, την εικόνα εκκίνησης δίσκου.

Disk & Disk Encryption

Είναι δυνατόν να επιλέξετε τον δίσκο που θα χρησιμοποιήσετε ή να δημιουργήσετε έναν νέο. Αν επιλέξετε έναν νέο, μπορείτε να:

  • Επιλέξετε το μέγεθος του δίσκου
  • Επιλέξετε το OS
  • Υποδείξετε αν θέλετε να διαγραφεί ο δίσκος όταν διαγραφεί η instance
  • Κρυπτογράφηση: Από προεπιλογή θα χρησιμοποιηθεί ένα Google managed key, αλλά μπορείτε επίσης να επιλέξετε ένα κλειδί από το KMS ή να υποδείξετε raw key για χρήση.

Deploy Container

Είναι δυνατόν να αναπτύξετε ένα container μέσα στην εικονική μηχανή.
Είναι δυνατόν να ρυθμίσετε την εικόνα που θα χρησιμοποιηθεί, να ορίσετε την εντολή που θα εκτελείται μέσα, παραμέτρους, να προσαρτήσετε έναν όγκο και env variables (ευαίσθητες πληροφορίες;) και να ρυθμίσετε πολλές επιλογές για αυτό το container όπως εκτέλεση ως privileged, stdin και pseudo TTY.

Service Account

Από προεπιλογή, θα χρησιμοποιηθεί ο Compute Engine default service account. Το email αυτού του SA είναι όπως: <proj-num>-compute@developer.gserviceaccount.com
Αυτός ο λογαριασμός υπηρεσίας έχει Editor role over the whole project (υψηλά προνόμια).

Και οι προεπιλεγμένες περιοχές πρόσβασης είναι οι εξής:

Ωστόσο, είναι δυνατόν να χορηγήσετε cloud-platform με ένα κλικ ή να καθορίσετε προσαρμοσμένα.

Firewall

Είναι δυνατόν να επιτρέψετε την κυκλοφορία HTTP και HTTPS.

Networking

  • IP Forwarding: Είναι δυνατόν να ενεργοποιήσετε το IP forwarding από τη δημιουργία της instance.
  • Hostname: Είναι δυνατόν να δώσετε στην instance ένα μόνιμο hostname.
  • Interface: Είναι δυνατόν να προσθέσετε ένα δίκτυο interface.

Extra Security

Αυτές οι επιλογές θα αυξήσουν την ασφάλεια της VM και συνιστώνται:

  • Secure boot: Το Secure boot βοηθά στην προστασία των VM instances σας από κακόβουλο λογισμικό και rootkits σε επίπεδο εκκίνησης και πυρήνα.
  • Enable vTPM: Το Virtual Trusted Platform Module (vTPM) επικυρώνει την ακεραιότητα εκκίνησης και προεκκίνησης της guest VM σας και προσφέρει δημιουργία και προστασία κλειδιών.
  • Integrity supervision: Η παρακολούθηση ακεραιότητας σας επιτρέπει να παρακολουθείτε και να επαληθεύετε την ακεραιότητα εκκίνησης της shielded VM σας χρησιμοποιώντας αναφορές Stackdriver. Απαιτείται να είναι ενεργοποιημένο το vTPM.

VM Access

Ο κοινός τρόπος για να επιτρέψετε την πρόσβαση στη VM είναι να επιτρέψετε ορισμένα SSH public keys να έχουν πρόσβαση στη VM.
Ωστόσο, είναι επίσης δυνατόν να ενεργοποιήσετε την πρόσβαση στη VM μέσω της υπηρεσίας os-config χρησιμοποιώντας IAM. Επιπλέον, είναι δυνατόν να ενεργοποιήσετε 2FA για πρόσβαση στη VM χρησιμοποιώντας αυτή την υπηρεσία.
Όταν αυτή η υπηρεσία είναι ενεργοποιημένη, η πρόσβαση μέσω SSH keys είναι απενεργοποιημένη.

Metadata

Είναι δυνατόν να ορίσετε αυτοματοποίηση (userdata στο AWS) που είναι εντολές shell που θα εκτελούνται κάθε φορά που η μηχανή ενεργοποιείται ή επανεκκινείται.

Είναι επίσης δυνατόν να προσθέσετε επιπλέον μεταδεδομένα key-value που θα είναι προσβάσιμα από το endpoint μεταδεδομένων. Αυτές οι πληροφορίες χρησιμοποιούνται συνήθως για μεταβλητές περιβάλλοντος και scripts εκκίνησης/τερματισμού. Αυτό μπορεί να αποκτηθεί χρησιμοποιώντας τη μέθοδο describe από μια εντολή στην ενότητα αρίθμησης, αλλά μπορεί επίσης να ανακτηθεί από το εσωτερικό της instance προσβάζοντας το endpoint μεταδεδομένων.

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

Επιπλέον, το auth token για τον συνημμένο λογαριασμό υπηρεσίας και γενικές πληροφορίες σχετικά με την παρουσία, το δίκτυο και το έργο θα είναι επίσης διαθέσιμες από το metadata endpoint. Για περισσότερες πληροφορίες, ελέγξτε:

Cloud SSRF - HackTricks

Κρυπτογράφηση

Ένα κλειδί κρυπτογράφησης που διαχειρίζεται η Google χρησιμοποιείται από προεπιλογή, αλλά μπορεί να ρυθμιστεί ένα κλειδί κρυπτογράφησης που διαχειρίζεται ο πελάτης (CMEK). Μπορείτε επίσης να ρυθμίσετε τι να κάνετε όταν ανακληθεί το χρησιμοποιούμενο CMEF: Να σημειωθεί ή να κλείσει η VM.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks