GCP - Logging Enum

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου HackTricks AWS)!

Άλλοι τρόποι υποστήριξης των HackTricks:

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

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

Η καταγραφή στο Cloud είναι πλήρως ενσωματωμένη με άλλες υπηρεσίες του GCP, παρέχοντας ένα κεντρικό αποθετήριο για καταγραφές από όλους τους πόρους σας στο GCP. Αυτή συλλέγει αυτόματα καταγραφές από διάφορες υπηρεσίες του GCP όπως το App Engine, το Compute Engine και οι Cloud Functions. Μπορείτε επίσης να χρησιμοποιήσετε την Καταγραφή στο Cloud για εφαρμογές που εκτελούνται είτε on-premises είτε σε άλλα νέφη χρησιμοποιώντας τον πράκτορα ή το API της Καταγραφής στο Cloud.

Βασικά Χαρακτηριστικά:

  • Κεντρική Αποθήκευση Δεδομένων Καταγραφής: Συγκεντρώστε δεδομένα καταγραφής από διάφορες πηγές, προσφέροντας μια ολιστική άποψη των εφαρμογών και της υποδομής σας.

  • Διαχείριση Καταγραφής σε Πραγματικό Χρόνο: Ροή καταγραφών σε πραγματικό χρόνο για άμεση ανάλυση και αντίδραση.

  • Ισχυρή Ανάλυση Δεδομένων: Χρησιμοποιήστε προηγμένες δυνατότητες φιλτραρίσματος και αναζήτησης για γρήγορη διατριβή μέσα από μεγάλους όγκους δεδομένων καταγραφής.

  • Ενσωμάτωση με το BigQuery: Εξαγωγή καταγραφών στο BigQuery για λεπτομερή ανάλυση και ερωτήσεις.

  • Μετρήσεις βασισμένες σε Καταγραφές: Δημιουργία προσαρμοσμένων μετρήσεων από τα δεδομένα καταγραφής σας για παρακολούθηση και ειδοποιήσεις.

Ροή Καταγραφών

Βασικά οι απορροές και οι μετρήσεις βασισμένες σε καταγραφές θα καθορίσουν πού πρέπει να αποθηκευτεί μια καταγραφή.

Διαμορφώσεις που Υποστηρίζονται από την Καταγραφή στο GCP

Η Καταγραφή στο Cloud είναι υψηλά διαμορφώσιμη για να ταιριάζει σε διαφορετικές λειτουργικές ανάγκες:

  1. Κάδοι Καταγραφής (Αποθήκευση καταγραφών στον ιστό): Ορίστε κάδους στην Καταγραφή στο Cloud για τη διαχείριση διατήρησης καταγραφών, παρέχοντας έλεγχο επί του χρόνου που διατηρούνται οι καταχωρήσεις καταγραφής σας.

  • Από προεπιλογή δημιουργούνται οι κάδοι _Default και _Required (ο ένας καταγράφει αυτό που ο άλλος όχι).

  • _Required είναι:

LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency")
  • Η περίοδος διατήρησης των δεδομένων ρυθμίζεται ανά κάδο και πρέπει να είναι τουλάχιστον 1 ημέρα. Ωστόσο, η περίοδος διατήρησης του _Required είναι 400 ημέρες και δεν μπορεί να τροποποιηθεί.

  • Σημειώστε ότι οι Κάδοι Καταγραφής δεν είναι ορατοί στο Cloud Storage.

  1. Απορροές Καταγραφής (Δρομολογητής καταγραφών στον ιστό): Δημιουργήστε απορροές για εξαγωγή καταχωρήσεων καταγραφής σε διάφορους προορισμούς όπως Pub/Sub, BigQuery ή Cloud Storage βασισμένοι σε ένα φίλτρο.

  • Από προεπιλογή δημιουργούνται απορροές για τους κάδους _Default και _Required:

_Required logging.googleapis.com/projects//locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency") _Default logging.googleapis.com/projects//locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")

* **Φίλτρα Αποκλεισμού:** Είναι δυνατόν να ρυθμιστούν **αποκλεισμοί για να αποτρέψουν συγκεκριμένες καταχωρήσεις καταγραφής** από το να εισέλθουν, εξοικονομώντας κόστη και μειώνοντας τον περιττό θόρυβο.
3. **Μετρήσεις Βασισμένες σε Καταγραφές:** Διαμορφώστε **προσαρμοσμένες μετρήσεις** βασισμένες στο περιεχόμενο των καταγραφών, επιτρέποντας την ειδοποίηση και την παρακολούθηση βασισμένα σε δεδομένα καταγραφής.
4. **Προβολές Καταγραφών:** Οι προβολές καταγραφών παρέχουν προηγμένο και **λεπτομερή έλεγχο επάνω σε ποιος έχει πρόσβαση** στις καταγραφές εντός των κάδων καταγραφής σας. 
* Η Καταγραφή στο Cloud **δημιουργεί αυτόματα την προβολή `_AllLogs` για κάθε κάδο**, η οποία εμφανίζει όλες τις καταγραφές. Η Καταγραφή στο Cloud δημιουργεί επίσης μια προβολή για τον κάδο `_Default` που ονομάζεται `_Default`. Η προβολή `_Default` για τον κάδο `_Default` εμφανίζει όλες τις καταγραφές εκτός από τις καταγραφές ελέγχου πρόσβασης δεδομένων. Οι προβολές `_AllLogs` και `_Default` δεν είναι επεξεργάσιμες.

Είναι δυνατόν να επιτραπεί σε έναν αρχέτυπο **να χρησιμοποιεί μόνο μια συγκεκριμένη προβολή καταγραφής** με μια πολιτική
```json
{
"bindings": [
{
"members": [
"user:username@gmail.com"
],
"role": "roles/logging.viewAccessor",
"condition": {
"title": "Bucket reader condition example",
"description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.",
"expression":
"resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\""
}
}
],
"etag": "BwWd_6eERR4=",
"version": 3
}

Προεπιλεγμένα Αρχεία Καταγραφής

Από προεπιλογή, οι λειτουργίες Εγγραφής Διαχειριστή (επίσης ονομάζονται αρχεία καταγραφής δραστηριότητας διαχειριστή) είναι αυτές που καταγράφονται (εγγραφή μεταδεδομένων ή πληροφοριών διαμόρφωσης) και δεν μπορούν να απενεργοποιηθούν.

Στη συνέχεια, ο χρήστης μπορεί να ενεργοποιήσει τα Αρχεία Καταγραφής Πρόσβασης Δεδομένων, τα οποία είναι Ανάγνωση Διαχειριστή, Εγγραφή Δεδομένων και Εγγραφή Δεδομένων.

Μπορείτε να βρείτε περισσότερες πληροφορίες για κάθε είδος καταγραφής στα έγγραφα: https://cloud.google.com/iam/docs/audit-logging

Ωστόσο, σημειώστε ότι αυτό σημαίνει ότι από προεπιλογή οι ενέργειες GetIamPolicy και άλλες ενέργειες ανάγνωσης δεν καταγράφονται. Έτσι, από προεπιλογή, ένας επιτιθέμενος που προσπαθεί να απαριθμήσει το περιβάλλον δεν θα εντοπιστεί αν ο συστημικός διαχειριστής δεν έχει διαμορφώσει τη δημιουργία περισσότερων αρχείων καταγραφής.

Για να ενεργοποιήσετε περισσότερα αρχεία καταγραφής στην κονσόλα, ο συστημικός διαχειριστής πρέπει να μεταβεί στη διεύθυνση https://console.cloud.google.com/iam-admin/audit και να τα ενεργοποιήσει. Υπάρχουν 2 διαφορετικές επιλογές:

  • Προεπιλεγμένη Διαμόρφωση: Είναι δυνατή η δημιουργία μιας προεπιλεγμένης διαμόρφωσης και η καταγραφή όλων των Αναγνώσεων Διαχειριστή και/ή Αναγνώσεων Δεδομένων και/ή Εγγραφών Δεδομένων και ακόμη και η προσθήκη εξαιρούμενων αρχών:

  • Επιλογή των υπηρεσιών: Ή απλά επιλέξτε τις υπηρεσίες για τις οποίες θα θέλατε να δημιουργήσετε αρχεία καταγραφής και τον τύπο των αρχείων καταγραφής και την εξαιρούμενη αρχή για αυτήν τη συγκεκριμένη υπηρεσία.

Σημειώστε επίσης ότι από προεπιλογή δημιουργούνται μόνο αυτά τα αρχεία καταγραφής επειδή η δημιουργία περισσότερων αρχείων καταγραφής θα αυξήσει το κόστος.

Απαρίθμηση

Το εργαλείο γραμμής εντολών gcloud είναι αναπόσπαστο μέρος του οικοσυστήματος του GCP, επιτρέποντάς σας να διαχειρίζεστε τους πόρους και τις υπηρεσίες σας. Εδώ είναι πώς μπορείτε να χρησιμοποιήσετε το gcloud για τη διαχείριση των διαμορφώσεων καταγραφής και την πρόσβαση στα αρχεία καταγραφής.

# List buckets
gcloud logging buckets list
gcloud logging buckets describe <bucket-name> --location <location>

# List log entries: only logs that contain log entries are listed.
gcloud logging logs list

# Get log metrics
gcloud logging metrics list
gcloud logging metrics describe <metric-name>

# Get log sinks
gcloud logging sinks list
gcloud logging sinks describe <sink-name>

# Get log views
gcloud logging views list --bucket <bucket> --location global
gcloud logging views describe --bucket <bucket> --location global <view-id> # view-id is usually the same as the bucket name

# Get log links
gcloud logging links list --bucket _Default --location global
gcloud logging links describe <link-id> --bucket _Default --location global

Παράδειγμα ελέγχου των logs του cloudresourcemanager (αυτό που χρησιμοποιείται για BF δικαιώματα): https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512

Δεν υπάρχουν logs του testIamPermissions:

Post Exploitation

pageGCP - Logging Post Exploitation

Persistence

pageGCP - Logging Persistence

Αναφορές

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

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated