GCP - Vertex AI Enum
Tip
Impara & pratica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Impara & pratica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Impara & pratica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Sostieni HackTricks
- Controlla i subscription plans!
- Unisciti al 💬 Discord group o al telegram group o seguici su Twitter 🐦 @hacktricks_live.
- Condividi hacking tricks inviando PRs ai HackTricks e HackTricks Cloud github repos.
Vertex AI
Vertex AI è la piattaforma unificata di machine learning di Google Cloud per costruire, distribuire e gestire modelli AI su scala. Combina vari servizi AI e ML in un’unica piattaforma integrata, permettendo a data scientist e ML engineer di:
- Addestrare modelli personalizzati usando AutoML o custom training
- Distribuire modelli su endpoint scalabili per le predizioni
- Gestire il ciclo di vita ML dalla sperimentazione alla produzione
- Accedere a modelli pre-addestrati da Model Garden
- Monitorare e ottimizzare le prestazioni dei modelli
Agent Engine / Reasoning Engine
Per percorsi specifici di enumerazione e post-exploitation relativi a metadata credential theft, P4SA abuse, e producer/tenant project pivoting, controlla:
GCP - Vertex AI Post Exploitation
Componenti chiave
Models
I models in Vertex AI rappresentano modelli di machine learning addestrati che possono essere distribuiti su endpoint per fornire predizioni. I modelli possono essere:
- Caricati da container personalizzati o artifact del modello
- Creati tramite AutoML training
- Importati da Model Garden (modelli pre-addestrati)
- Versionati con più versioni per ogni modello
Ogni modello ha metadata che includono il framework, l’URI dell’immagine del container, la posizione degli artifact e la configurazione di serving.
Endpoints
Gli endpoints sono risorse che ospitano modelli distribuiti e forniscono predizioni online. Caratteristiche principali:
- Possono ospitare più deployed models (con traffic splitting)
- Forniscono endpoint HTTPS per predizioni in tempo reale
- Supportano autoscaling in base al traffico
- Possono usare accesso privato o pubblico
- Supportano A/B testing tramite traffic splitting
Custom Jobs
I custom jobs permettono di eseguire codice di training personalizzato usando i propri container o pacchetti Python. Le caratteristiche includono:
- Supporto per distributed training con più worker pools
- Tipi di macchina e acceleratori (GPU/TPU) configurabili
- Allegato di service account per accedere ad altre risorse GCP
- Integrazione con Vertex AI Tensorboard per la visualizzazione
- Opzioni di VPC connectivity
Hyperparameter Tuning Jobs
Questi job eseguono automaticamente una ricerca degli iperparametri ottimali eseguendo più trial di training con differenti combinazioni di parametri.
Model Garden
Model Garden fornisce accesso a:
- Modelli Google pre-addestrati
- Modelli open-source (inclusi Hugging Face)
- Modelli di terze parti
- Capacità di deployment con un clic
Tensorboards
I Tensorboards forniscono visualizzazione e monitoraggio per esperimenti ML, tracciando metriche, grafici del modello e progresso dell’addestramento.
Service Accounts & Permissions
Per default, i servizi Vertex AI usano il Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), che ha permessi di Editor sul progetto. Tuttavia, è possibile specificare service account personalizzati quando:
- Si creano custom jobs
- Si caricano modelli
- Si distribuiscono modelli su endpoint
Questo service account viene utilizzato per:
- Accedere ai dati di training in Cloud Storage
- Scrivere log su Cloud Logging
- Accedere a secret da Secret Manager
- Interagire con altri servizi GCP
Archiviazione dei dati
- Gli artifact del modello sono archiviati in bucket di Cloud Storage
- I dati di training risiedono tipicamente in Cloud Storage o BigQuery
- Le immagini dei container sono conservate in Artifact Registry o Container Registry
- I log sono inviati a Cloud Logging
- Le metriche sono inviate a Cloud Monitoring
Crittografia
Di default, Vertex AI usa chiavi di crittografia gestite da Google. È anche possibile configurare:
- Customer-managed encryption keys (CMEK) da Cloud KMS
- La crittografia si applica ad artifact del modello, dati di training e endpoint
Networking
Le risorse Vertex AI possono essere configurate per:
- Accesso pubblico a Internet (default)
- VPC peering per accesso privato
- Private Service Connect per connettività sicura
- Supporto per Shared VPC
Enumeration
# 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
Raccolta di informazioni sul modello
# 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)"
Dettagli Endpoint
# 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)"
Informazioni sul Custom Job
# 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)"
Controllo degli accessi
# 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"
Archiviazione e artefatti
# 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>
Giardino dei modelli
# 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
Nella pagina seguente puoi vedere come abusare delle autorizzazioni di Vertex AI per elevare i privilegi:
Post Exploitation
GCP - Vertex AI Post Exploitation
Riferimenti
Tip
Impara & pratica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Impara & pratica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Impara & pratica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Sostieni HackTricks
- Controlla i subscription plans!
- Unisciti al 💬 Discord group o al telegram group o seguici su Twitter 🐦 @hacktricks_live.
- Condividi hacking tricks inviando PRs ai HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

