GCP - Compute Enum
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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
GCP VPC & Networking
Μάθετε πώς λειτουργεί αυτό στο:
Enumeration
# List networks
gcloud compute networks list
gcloud compute networks describe <network>
# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>
# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"
# List Hierarchical Firewalls
gcloud compute firewall-policies list (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>
# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>
Μπορείτε εύκολα να βρείτε υπολογιστικά instances με ανοιχτούς κανόνες τείχους προστασίας με https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Υπολογιστικά instances
Αυτή είναι η μέθοδος για να τρέξετε εικονικές μηχανές μέσα στο GCP. Ελέγξτε αυτή τη σελίδα για περισσότερες πληροφορίες:
Αριθμητική
# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"
# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)
# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>
Για περισσότερες πληροφορίες σχετικά με το πώς να SSH ή να τροποποιήσετε τα μεταδεδομένα μιας παρουσίας για να ανεβάσετε δικαιώματα, ελέγξτε αυτή τη σελίδα:
GCP - local privilege escalation ssh pivoting
Ανάβαση Δικαιωμάτων
Στην επόμενη σελίδα, μπορείτε να δείτε πώς να καταχραστείτε τις άδειες υπολογιστή για να ανεβάσετε δικαιώματα:
Μη Αυθεντικοποιημένη Enum
GCP - Compute Unauthenticated Enum
Μετά την Εκμετάλλευση
GCP - Compute Post Exploitation
Επιμονή
Καταγραφές Σειριακής Κονσόλας
Οι Καταγραφές Σειριακής Κονσόλας του Compute Engine είναι μια δυνατότητα που σας επιτρέπει να δείτε και να διαγνώσετε τα αρχεία καταγραφής εκκίνησης και λειτουργικού συστήματος των εικονικών μηχανών σας.
Οι Καταγραφές Σειριακής Κονσόλας παρέχουν μια χαμηλού επιπέδου άποψη της διαδικασίας εκκίνησης της παρουσίας, συμπεριλαμβανομένων των μηνυμάτων πυρήνα, των scripts init και άλλων συστημικών γεγονότων που συμβαίνουν κατά την εκκίνηση. Αυτό μπορεί να είναι χρήσιμο για την αποσφαλμάτωση προβλημάτων εκκίνησης, την αναγνώριση κακών ρυθμίσεων ή σφαλμάτων λογισμικού, ή την επίλυση προβλημάτων συνδεσιμότητας δικτύου.
Αυτές οι καταγραφές μπορεί να εκθέσουν ευαίσθητες πληροφορίες από τα αρχεία καταγραφής του συστήματος που οι χρήστες με χαμηλά δικαιώματα συνήθως δεν βλέπουν, αλλά με τις κατάλληλες άδειες IAM μπορεί να είστε σε θέση να τις διαβάσετε.
Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή gcloud για να ερωτήσετε τις καταγραφές σειριακής θύρας (η απαιτούμενη άδεια είναι compute.instances.getSerialPortOutput):
gcloud compute instances get-serial-port-output <instance-name>
Startup Scripts output
Είναι δυνατή η προβολή της έξοδου των startup scripts από το VM εκτελώντας:
sudo journalctl -u google-startup-scripts.service
OS Configuration Manager
Μπορείτε να χρησιμοποιήσετε την υπηρεσία διαχείρισης διαμόρφωσης OS για να αναπτύξετε, ερωτήσετε και διατηρήσετε συνεπείς διαμορφώσεις (επιθυμητή κατάσταση και λογισμικό) για την VM instance (VM) σας. Στο Compute Engine, πρέπει να χρησιμοποιήσετε guest policies για να διατηρήσετε συνεπείς διαμορφώσεις λογισμικού σε μια VM.
Η δυνατότητα διαχείρισης διαμόρφωσης OS σας επιτρέπει να ορίσετε πολιτικές διαμόρφωσης που καθορίζουν ποια πακέτα λογισμικού θα πρέπει να είναι εγκατεστημένα, ποιες υπηρεσίες θα πρέπει να είναι ενεργοποιημένες και ποια αρχεία ή διαμορφώσεις θα πρέπει να είναι παρόντα στις VMs σας. Μπορείτε να χρησιμοποιήσετε μια δηλωτική προσέγγιση για τη διαχείριση της διαμόρφωσης λογισμικού των VMs σας, η οποία σας επιτρέπει να αυτοματοποιήσετε και να κλιμακώσετε τη διαδικασία διαχείρισης διαμόρφωσης πιο εύκολα.
Αυτό επιτρέπει επίσης την είσοδο σε instances μέσω IAM permissions, οπότε είναι πολύ χρήσιμο για privesc και pivoting.
Warning
Για να ενεργοποιήσετε το os-config σε ολόκληρο το έργο ή σε μια instance χρειάζεται απλώς να ορίσετε το metadata key
enable-osloginσεtrueστο επιθυμητό επίπεδο.
Επιπλέον, μπορείτε να ορίσετε το metadataenable-oslogin-2faσεtrueγια να ενεργοποιήσετε το 2fa.Όταν το ενεργοποιείτε κατά τη δημιουργία μιας instance, τα metadata keys θα ρυθμιστούν αυτόματα.
Περισσότερα σχετικά με 2fa στο OS-config, ισχύει μόνο αν ο χρήστης είναι χρήστης, αν είναι SA (όπως ο compute SA) δεν θα απαιτεί τίποτα επιπλέον.
Enumeration
gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>
gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>
Εικόνες
Προσαρμοσμένες Εικόνες
Οι προσαρμοσμένες εικόνες υπολογιστή μπορεί να περιέχουν ευαίσθητες λεπτομέρειες ή άλλες ευάλωτες ρυθμίσεις που μπορείτε να εκμεταλλευτείτε.
Όταν δημιουργείται μια εικόνα, μπορείτε να επιλέξετε 3 τύπους κρυπτογράφησης: Χρησιμοποιώντας κλειδί διαχειριζόμενο από την Google (προεπιλογή), ένα κλειδί από το KMS, ή ένα ακατέργαστο κλειδί που παρέχεται από τον πελάτη.
Αριθμητική
Μπορείτε να ερωτήσετε τη λίστα των μη τυπικών εικόνων σε ένα έργο με την ακόλουθη εντολή:
gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>
Μπορείτε στη συνέχεια να εξάγετε τους εικονικούς δίσκους από οποιαδήποτε εικόνα σε πολλαπλές μορφές. Η παρακάτω εντολή θα εξάγει την εικόνα test-image σε μορφή qcow2, επιτρέποντάς σας να κατεβάσετε το αρχείο και να δημιουργήσετε μια VM τοπικά για περαιτέρω έρευνα:
gcloud compute images export --image test-image \
--export-format qcow2 --destination-uri [BUCKET]
# Execute container inside a docker
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh
Ανύψωση Δικαιωμάτων
Ελέγξτε την ενότητα ανύψωσης δικαιωμάτων των Compute Instances.
Προσαρμοσμένα Πρότυπα Στιγμιότυπων
Ένα πρότυπο στιγμιότυπου ορίζει τις ιδιότητες του στιγμιότυπου για να βοηθήσει στην ανάπτυξη συνεπών ρυθμίσεων. Αυτά μπορεί να περιέχουν τους ίδιους τύπους ευαίσθητων δεδομένων όπως τα προσαρμοσμένα μεταδεδομένα ενός εκτελούμενου στιγμιότυπου. Μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές για να ερευνήσετε:
# List the available templates
gcloud compute instance-templates list
# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]
Θα ήταν ενδιαφέρον να γνωρίζουμε ποιο δίσκο χρησιμοποιούν οι νέες εικόνες, αλλά αυτά τα πρότυπα συνήθως δεν θα έχουν ευαίσθητες πληροφορίες.
Snapshots
Τα snapshots είναι αντίγραφα ασφαλείας δίσκων. Σημειώστε ότι αυτό δεν είναι το ίδιο με την κλωνοποίηση ενός δίσκου (μια άλλη διαθέσιμη δυνατότητα).
Το snapshot θα χρησιμοποιήσει την ίδια κρυπτογράφηση με τον δίσκο από τον οποίο έχει ληφθεί.
Enumeration
gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>
Ανύψωση Δικαιωμάτων
Ελέγξτε την ενότητα ανύψωσης δικαιωμάτων των 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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

