GCP - Vertex AI Απαρίθμηση

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

Vertex AI

Vertex AI είναι η Google Cloud’s ενιαία πλατφόρμα μηχανικής μάθησης για την κατασκευή, ανάπτυξη και διαχείριση μοντέλων AI σε κλίμακα. Συνδυάζει διάφορες υπηρεσίες AI και ML σε μία ενιαία, ολοκληρωμένη πλατφόρμα, επιτρέποντας σε επιστήμονες δεδομένων και μηχανικούς ML να:

  • Εκπαιδεύσουν προσαρμοσμένα μοντέλα χρησιμοποιώντας AutoML ή custom training
  • Αναπτύξουν μοντέλα σε endpoints για προβλέψεις
  • Διαχειριστούν τον κύκλο ζωής ML από τον πειραματισμό έως την παραγωγή
  • Πρόσβαση σε προεκπαιδευμένα μοντέλα από το Model Garden
  • Παρακολουθήσουν και βελτιστοποιήσουν την απόδοση μοντέλων

Agent Engine / Reasoning Engine

Για ειδικές μεθόδους απαρίθμησης και post-exploitation για το Agent Engine / Reasoning Engine που περιλαμβάνουν metadata credential theft, P4SA abuse, και producer/tenant project pivoting, δείτε:

GCP - Vertex AI Post Exploitation

Βασικά Συστατικά

Models

Τα μοντέλα του Vertex AI αντιπροσωπεύουν εκπαιδευμένα μοντέλα μηχανικής μάθησης που μπορούν να αναπτυχθούν σε endpoints για την παροχή προβλέψεων. Τα μοντέλα μπορούν να:

  • Ανεβούν από custom containers ή model artifacts
  • Δημιουργηθούν μέσω AutoML training
  • Εισαχθούν από το Model Garden (pre-trained models)
  • Έχουν versioning με πολλαπλές εκδόσεις ανά μοντέλο

Κάθε μοντέλο έχει metadata που περιλαμβάνει το framework, το container image URI, την τοποθεσία των artifacts και τη ρύθμιση εξυπηρέτησης.

Endpoints

Τα endpoints είναι resources που φιλοξενούν αναπτυγμένα μοντέλα και παρέχουν online προβλέψεις. Κύρια χαρακτηριστικά:

  • Μπορούν να φιλοξενήσουν πολλαπλά αναπτυγμένα μοντέλα (με traffic splitting)
  • Παρέχουν HTTPS endpoints για προβλέψεις σε πραγματικό χρόνο
  • Υποστηρίζουν autoscaling βάσει φόρτου
  • Μπορούν να έχουν ιδιωτική ή δημόσια πρόσβαση
  • Υποστηρίζουν A/B testing μέσω traffic splitting

Custom Jobs

Οι custom jobs επιτρέπουν την εκτέλεση custom training κώδικα χρησιμοποιώντας τα δικά σας containers ή Python packages. Χαρακτηριστικά:

  • Υποστήριξη για distributed training με πολλαπλές worker pools
  • Διαμορφώσιμες τύποι μηχανών και accelerators (GPUs/TPUs)
  • Σύνδεση με service account για πρόσβαση σε άλλους πόρους GCP
  • Ενσωμάτωση με Vertex AI Tensorboard για απεικόνιση
  • Επιλογές VPC connectivity

Hyperparameter Tuning Jobs

Αυτές οι εργασίες αναζητούν αυτόματα τα βέλτιστα hyperparameters εκτελώντας πολλαπλά training trials με διαφορετικούς συνδυασμούς παραμέτρων.

Model Garden

Το Model Garden παρέχει πρόσβαση σε:

  • Προεκπαιδευμένα Google models
  • Open-source μοντέλα (συμπεριλαμβανομένου Hugging Face)
  • Third-party models
  • Δυνατότητα one-click deployment

Tensorboards

Τα Tensorboards παρέχουν απεικόνιση και παρακολούθηση για πειράματα ML, καταγράφοντας metrics, γραφήματα μοντέλων και την πρόοδο εκπαίδευσης.

Λογαριασμοί Υπηρεσίας & Δικαιώματα

Από προεπιλογή, οι υπηρεσίες Vertex AI χρησιμοποιούν τον Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), ο οποίος έχει δικαιώματα Editor στο project. Ωστόσο, μπορείτε να ορίσετε custom service accounts όταν:

  • Δημιουργείτε custom jobs
  • Ανεβάζετε models
  • Αναπτύσσετε models σε endpoints

Αυτός ο service account χρησιμοποιείται για:

  • Πρόσβαση σε training data στο Cloud Storage
  • Εγγραφή logs στο Cloud Logging
  • Πρόσβαση σε secrets από το Secret Manager
  • Αλληλεπίδραση με άλλες GCP υπηρεσίες

Αποθήκευση Δεδομένων

  • Model artifacts αποθηκεύονται σε buckets του Cloud Storage
  • Training data συνήθως βρίσκεται στο Cloud Storage ή BigQuery
  • Container images αποθηκεύονται στο Artifact Registry ή Container Registry
  • Logs αποστέλλονται στο Cloud Logging
  • Metrics αποστέλλονται στο Cloud Monitoring

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

Από προεπιλογή, το Vertex AI χρησιμοποιεί Google-managed encryption keys. Μπορείτε επίσης να διαμορφώσετε:

  • Customer-managed encryption keys (CMEK) από το Cloud KMS
  • Η κρυπτογράφηση εφαρμόζεται σε model artifacts, training data και endpoints

Δικτύωση

Οι πόροι Vertex AI μπορούν να διαμορφωθούν για:

  • Δημόσια πρόσβαση στο internet (προεπιλογή)
  • VPC peering για ιδιωτική πρόσβαση
  • Private Service Connect για ασφαλή συνδεσιμότητα
  • Υποστήριξη Shared VPC

Απαρίθμηση

# List models
gcloud ai models list --region=<region>
gcloud ai models describe <model-id> --region=<region>
gcloud ai models list-version <model-id> --region=<region>

# List endpoints
gcloud ai endpoints list --region=<region>
gcloud ai endpoints describe <endpoint-id> --region=<region>
gcloud ai endpoints list --list-model-garden-endpoints-only --region=<region>

# List custom jobs
gcloud ai custom-jobs list --region=<region>
gcloud ai custom-jobs describe <job-id> --region=<region>

# Stream logs from a running job
gcloud ai custom-jobs stream-logs <job-id> --region=<region>

# List hyperparameter tuning jobs
gcloud ai hp-tuning-jobs list --region=<region>
gcloud ai hp-tuning-jobs describe <job-id> --region=<region>

# List model monitoring jobs
gcloud ai model-monitoring-jobs list --region=<region>
gcloud ai model-monitoring-jobs describe <job-id> --region=<region>

# List Tensorboards
gcloud ai tensorboards list --region=<region>
gcloud ai tensorboards describe <tensorboard-id> --region=<region>

# List indexes (for vector search)
gcloud ai indexes list --region=<region>
gcloud ai indexes describe <index-id> --region=<region>

# List index endpoints
gcloud ai index-endpoints list --region=<region>
gcloud ai index-endpoints describe <index-endpoint-id> --region=<region>

# Get operations (long-running operations status)
gcloud ai operations describe <operation-id> --region=<region>

# Test endpoint predictions (if you have access)
gcloud ai endpoints predict <endpoint-id> \
--region=<region> \
--json-request=request.json

# Make direct predictions (newer API)
gcloud ai endpoints direct-predict <endpoint-id> \
--region=<region> \
--json-request=request.json

Συλλογή Πληροφοριών Μοντέλου

# Get detailed model information including versions
gcloud ai models describe <model-id> --region=<region>

# Check specific model version
gcloud ai models describe <model-id>@<version> --region=<region>

# List all versions of a model
gcloud ai models list-version <model-id> --region=<region>

# Get model artifact location (usually a GCS bucket)
gcloud ai models describe <model-id> --region=<region> --format="value(artifactUri)"

# Get container image URI
gcloud ai models describe <model-id> --region=<region> --format="value(containerSpec.imageUri)"

Λεπτομέρειες τελικού σημείου

# Get endpoint details including deployed models
gcloud ai endpoints describe <endpoint-id> --region=<region>

# Get endpoint URL
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(deployedModels[0].displayName)"

# Get service account used by endpoint
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(deployedModels[0].serviceAccount)"

# Check traffic split between models
gcloud ai endpoints describe <endpoint-id> --region=<region> --format="value(trafficSplit)"

Πληροφορίες Προσαρμοσμένης Εργασίας

# Get job details including command, args, and service account
gcloud ai custom-jobs describe <job-id> --region=<region>

# Get service account used by job
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].serviceAccount)"

# Get container image used
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].containerSpec.imageUri)"

# Check environment variables (may contain secrets)
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.workerPoolSpecs[0].containerSpec.env)"

# Get network configuration
gcloud ai custom-jobs describe <job-id> --region=<region> --format="value(jobSpec.network)"

Έλεγχος Πρόσβασης

# Note: IAM policies for individual Vertex AI resources are managed at the project level
# Check project-level permissions
gcloud projects get-iam-policy <project-id>

# Check service account permissions
gcloud iam service-accounts get-iam-policy <service-account-email>

# Check if endpoints allow unauthenticated access
# This is controlled by IAM bindings on the endpoint
gcloud projects get-iam-policy <project-id> \
--flatten="bindings[].members" \
--filter="bindings.role:aiplatform.user"

Αποθήκευση και Αντικείμενα

# Models and training jobs often store artifacts in GCS
# List buckets that might contain model artifacts
gsutil ls

# Common artifact locations:
# gs://<project>-aiplatform-<region>/
# gs://<project>-vertex-ai/
# gs://<custom-bucket>/vertex-ai/

# Download model artifacts if accessible
gsutil -m cp -r gs://<bucket>/path/to/artifacts ./artifacts/

# Check for notebooks in AI Platform Notebooks
gcloud notebooks instances list --location=<location>
gcloud notebooks instances describe <instance-name> --location=<location>

Κήπος Μοντέλων

# List Model Garden endpoints
gcloud ai endpoints list --list-model-garden-endpoints-only --region=<region>

# Model Garden models are often deployed with default configurations
# Check for publicly accessible endpoints

Privilege Escalation

Στην παρακάτω σελίδα μπορείτε να δείτε πώς να abuse Vertex AI permissions to escalate privileges:

GCP - Vertex AI Privesc

Post Exploitation

GCP - Vertex AI Post Exploitation

Αναφορές

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