GCP - Vertex AI Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Vertex AI
Vertex AI est la plateforme unifiĂ©e de machine learning de Google Cloud pour construire, dĂ©ployer et gĂ©rer des modĂšles dâIA Ă grande Ă©chelle. Elle regroupe plusieurs services AI et ML en une plateforme intĂ©grĂ©e, permettant aux data scientists et aux ingĂ©nieurs ML de :
- Entraßner des modÚles personnalisés en utilisant AutoML ou un entraßnement personnalisé
- Déployer des modÚles sur des endpoints scalables pour des prédictions
- GĂ©rer le cycle de vie ML de lâexpĂ©rimentation Ă la production
- Accéder à des modÚles pré-entraßnés depuis Model Garden
- Surveiller et optimiser les performances des modĂšles
Agent Engine / Reasoning Engine
Pour lâĂ©numĂ©ration spĂ©cifique dâAgent Engine / Reasoning Engine et les chemins de post-exploitation impliquant metadata credential theft, P4SA abuse, et producer/tenant project pivoting, consultez :
GCP - Vertex AI Post Exploitation
Composants clés
Models
Les models de Vertex AI reprĂ©sentent des modĂšles de machine learning entraĂźnĂ©s qui peuvent ĂȘtre dĂ©ployĂ©s sur des endpoints pour servir des prĂ©dictions. Les models peuvent ĂȘtre :
- Téléversés depuis des containers personnalisés ou des artefacts de modÚle
- Créés via lâentraĂźnement AutoML
- Importés depuis Model Garden (modÚles pré-entraßnés)
- Versionnés avec plusieurs versions par model
Chaque model possĂšde des mĂ©tadonnĂ©es incluant son framework, lâURI de lâimage du container, lâemplacement des artefacts et la configuration de serving.
Endpoints
Les endpoints sont des ressources qui hébergent les models déployés et servent des prédictions en ligne. Principales caractéristiques :
- Peuvent héberger plusieurs models déployés (avec répartition du trafic)
- Fournissent des endpoints HTTPS pour des prédictions en temps réel
- Supportent lâautoscaling selon le trafic
- Peuvent utiliser un accÚs privé ou public
- Supportent le A/B testing via la répartition du trafic
Custom Jobs
Les custom jobs permettent dâexĂ©cuter du code dâentraĂźnement personnalisĂ© en utilisant vos propres containers ou paquets Python. Fonctions incluent :
- Support de lâentraĂźnement distribuĂ© avec plusieurs worker pools
- Types de machines et accélérateurs configurables (GPUs/TPUs)
- Service account attachĂ© pour accĂ©der Ă dâautres ressources GCP
- Intégration avec Vertex AI Tensorboard pour la visualisation
- Options de connectivité VPC
Hyperparameter Tuning Jobs
Ces jobs recherchent automatiquement les hyperparamĂštres optimaux en exĂ©cutant plusieurs essais dâentraĂźnement avec diffĂ©rentes combinaisons de paramĂštres.
Model Garden
Model Garden donne accĂšs Ă :
- ModÚles Google pré-entraßnés
- ModĂšles open-source (y compris Hugging Face)
- ModĂšles tiers
- Capacités de déploiement en un clic
Tensorboards
Les tensorboards fournissent la visualisation et la surveillance pour les expĂ©riences ML, en suivant les mĂ©triques, les graphes de modĂšle et la progression de lâentraĂźnement.
Service Accounts & Permissions
Par défaut, les services Vertex AI utilisent le Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), qui possÚde des permissions Editor sur le projet. Cependant, vous pouvez spécifier des comptes de service personnalisés lors de :
- la création de custom jobs
- le téléversement de models
- le déploiement de models vers des endpoints
Ce compte de service est utilisé pour :
- AccĂ©der aux donnĂ©es dâentraĂźnement dans Cloud Storage
- Ăcrire des logs dans Cloud Logging
- Accéder aux secrets depuis Secret Manager
- Interagir avec dâautres services GCP
Stockage des données
- Les artefacts de model sont stockés dans des buckets Cloud Storage
- Les donnĂ©es dâentraĂźnement rĂ©sident typiquement dans Cloud Storage ou BigQuery
- Les images de containers sont stockées dans Artifact Registry ou Container Registry
- Les logs sont envoyés vers Cloud Logging
- Les métriques sont envoyées vers Cloud Monitoring
Chiffrement
Par défaut, Vertex AI utilise des clés de chiffrement gérées par Google. Vous pouvez également configurer :
- des Customer-managed encryption keys (CMEK) depuis Cloud KMS
- Le chiffrement sâapplique aux artefacts de model, aux donnĂ©es dâentraĂźnement et aux endpoints
Réseau
Les ressources Vertex AI peuvent ĂȘtre configurĂ©es pour :
- AccÚs internet public (par défaut)
- VPC peering pour un accÚs privé
- Private Service Connect pour une connectivité sécurisée
- Support de 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
Collecte dâinformations sur le modĂšle
# 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)"
Détails du point de terminaison
# 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)"
Informations sur 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)"
ContrĂŽle dâaccĂšs
# 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"
Stockage et artefacts
# 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>
Model Garden
# 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
Sur la page suivante, vous pouvez voir comment abuse Vertex AI permissions to escalate privileges:
Post Exploitation
GCP - Vertex AI Post Exploitation
Références
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

