GCP - Vertex AI Enum
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Vertex AI
Vertex AI es la plataforma unificada de machine learning de Google Cloud para construir, desplegar y gestionar modelos de IA a escala. Combina varios servicios de AI y ML en una 煤nica plataforma integrada, permitiendo a cient铆ficos de datos e ingenieros de ML:
- Entrenar modelos personalizados usando AutoML o entrenamiento personalizado
- Desplegar modelos en endpoints escalables para predicciones
- Gestionar el ciclo de vida ML desde la experimentaci贸n hasta la producci贸n
- Acceder a modelos pre-entrenados desde Model Garden
- Monitorear y optimizar el rendimiento de los modelos
Agent Engine / Reasoning Engine
Para la enumeraci贸n espec铆fica de Agent Engine / Reasoning Engine y rutas de post-explotaci贸n que involucran metadata credential theft, P4SA abuse, y producer/tenant project pivoting, consulta:
GCP - Vertex AI Post Exploitation
Key Components
Modelos
Los modelos de Vertex AI representan modelos de machine learning entrenados que pueden desplegarse en endpoints para servir predicciones. Los modelos pueden ser:
- Cargados desde contenedores personalizados o artefactos del modelo
- Creado mediante AutoML training
- Importado desde Model Garden (modelos pre-entrenados)
- Versionado con m煤ltiples versiones por modelo
Cada modelo tiene metadata que incluye su framework, URI de la imagen del contenedor, ubicaci贸n del artefacto y configuraci贸n de serving.
Endpoints
Los endpoints son recursos que alojan modelos desplegados y sirven predicciones en l铆nea. Caracter铆sticas clave:
- Pueden alojar m煤ltiples modelos desplegados (con divisi贸n de tr谩fico)
- Proporcionan endpoints HTTPS para predicciones en tiempo real
- Soportan autoscaling seg煤n el tr谩fico
- Pueden usar acceso privado o p煤blico
- Soportan A/B testing mediante divisi贸n de tr谩fico
Custom Jobs
Los custom jobs permiten ejecutar c贸digo de entrenamiento personalizado usando tus propios contenedores o paquetes Python. Las caracter铆sticas incluyen:
- Soporte para distributed training con m煤ltiples pools de trabajadores
- Tipos de m谩quina y aceleradores configurables (GPUs/TPUs)
- Asociaci贸n de service account para acceder a otros recursos de GCP
- Integraci贸n con Vertex AI Tensorboard para visualizaci贸n
- Opciones de VPC connectivity
Hyperparameter Tuning Jobs
Estos trabajos buscan autom谩ticamente hiperpar谩metros 贸ptimos ejecutando m煤ltiples pruebas de entrenamiento con diferentes combinaciones de par谩metros.
Model Garden
Model Garden proporciona acceso a:
- Modelos pre-entrenados de Google
- Modelos open-source (incluyendo Hugging Face)
- Modelos de terceros
- Capacidades de despliegue con un solo clic
Tensorboards
Los Tensorboards ofrecen visualizaci贸n y monitoreo para experimentos de ML, rastreando m茅tricas, gr谩ficas de modelos y el progreso del entrenamiento.
Service Accounts & Permissions
Por defecto, los servicios de Vertex AI usan la Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), que tiene permisos Editor en el proyecto. Sin embargo, puedes especificar cuentas de servicio personalizadas cuando:
- Creas custom jobs
- Subes modelos
- Despliegas modelos en endpoints
Esta cuenta de servicio se utiliza para:
- Acceder a datos de entrenamiento en Cloud Storage
- Escribir logs en Cloud Logging
- Acceder a secretos desde Secret Manager
- Interactuar con otros servicios de GCP
Data Storage
- Los artefactos de modelos se almacenan en buckets de Cloud Storage
- Los datos de entrenamiento t铆picamente residen en Cloud Storage o BigQuery
- Las im谩genes de contenedor se almacenan en Artifact Registry o Container Registry
- Los logs se env铆an a Cloud Logging
- Las m茅tricas se env铆an a Cloud Monitoring
Encryption
Por defecto, Vertex AI usa Google-managed encryption keys. Tambi茅n puedes configurar:
- Customer-managed encryption keys (CMEK) desde Cloud KMS
- El cifrado aplica a artefactos de modelos, datos de entrenamiento y endpoints
Networking
Los recursos de Vertex AI pueden configurarse para:
- Acceso p煤blico a Internet (por defecto)
- VPC peering para acceso privado
- Private Service Connect para conectividad segura
- Soporte 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
Recopilaci贸n de informaci贸n del modelo
# 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)"
Detalles del 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)"
Informaci贸n del trabajo personalizado
# 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)"
Control de acceso
# 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"
Almacenamiento y Artefactos
# 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
En la siguiente p谩gina, puedes consultar c贸mo abuse Vertex AI permissions to escalate privileges:
Post Exploitation
GCP - Vertex AI Post Exploitation
Referencias
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

