GCP - Vertex AI Aufzählung
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Unterstütze HackTricks
- Sieh dir die Abonnementpläne an!
- Tritt der 💬 Discord group oder der telegram group bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs an die HackTricks und HackTricks Cloud GitHub-Repos einreichst.
Vertex AI
Vertex AI ist Google Cloud’s einheitliche Machine-Learning-Plattform zum Entwickeln, Bereitstellen und Verwalten von AI-Modellen im großen Maßstab. Sie kombiniert verschiedene AI- und ML-Services in einer einzigen, integrierten Plattform und ermöglicht es Data Scientists und ML Engineers:
- Modelle mittels AutoML oder benutzerdefiniertem Training zu trainieren
- Modelle an skalierbare Endpunkte für Vorhersagen zu deployen
- den ML-Lifecycle von Experimenten bis zur Produktion zu verwalten
- auf vortrainierte Modelle aus Model Garden zuzugreifen
- die Modellleistung zu überwachen und zu optimieren
Agent Engine / Reasoning Engine
Für Agent Engine / Reasoning Engine-spezifische Aufzählung und Post-Exploitation-Pfade, die metadata credential theft, P4SA abuse und producer/tenant project pivoting betreffen, siehe:
GCP - Vertex AI Post Exploitation
Wichtige Komponenten
Models
Vertex AI Models repräsentieren trainierte Machine-Learning-Modelle, die an Endpoints deployt werden können, um Vorhersagen bereitzustellen. Models können:
- aus benutzerdefinierten Containern oder Modellartefakten hochgeladen werden
- durch AutoML-Training erstellt werden
- aus Model Garden (pre-trained models) importiert werden
- versioniert werden, mit mehreren Versionen pro Modell
Jedes Model hat Metadaten, einschließlich Framework, Container-Image-URI, Artefakt-Speicherort und Serving-Konfiguration.
Endpoints
Endpoints sind Ressourcen, die deployte Models hosten und Online-Vorhersagen bereitstellen. Wichtige Merkmale:
- Können mehrere deployte Models hosten (mit Traffic-Splitting)
- Bieten HTTPS endpoints für Echtzeit-Vorhersagen
- Unterstützen Autoscaling basierend auf Traffic
- Können privaten oder öffentlichen Zugriff verwenden
- Unterstützen A/B-Tests durch Traffic-Splitting
Custom Jobs
Custom Jobs erlauben es, benutzerdefinierten Trainingscode mit eigenen Containern oder Python-Paketen auszuführen. Merkmale umfassen:
- Unterstützung für verteiltes Training mit mehreren Worker-Pools
- Konfigurierbare Machine Types und Accelerators (GPUs/TPUs)
- Anbindung eines Service Accounts für den Zugriff auf andere GCP-Ressourcen
- Integration mit Vertex AI Tensorboard zur Visualisierung
- VPC-Konnektivitätsoptionen
Hyperparameter Tuning Jobs
Diese Jobs suchen automatisch nach optimalen Hyperparametern, indem sie mehrere Trainingstrials mit unterschiedlichen Parameterkombinationen durchführen.
Model Garden
Model Garden bietet Zugriff auf:
- vortrainierte Google-Modelle
- Open-Source-Modelle (einschließlich Hugging Face)
- Drittanbieter-Modelle
- Ein-Klick-Bereitstellungsfunktionen
Tensorboards
Tensorboards bieten Visualisierung und Monitoring für ML-Experimente und verfolgen Metriken, Modellgraphen und Trainingsfortschritt.
Service Accounts & Permissions
Standardmäßig verwenden Vertex AI-Services den Compute Engine default service account (PROJECT_NUMBER-compute@developer.gserviceaccount.com), der Editor-Berechtigungen im Projekt hat. Sie können jedoch benutzerdefinierte Service Accounts angeben beim:
- Erstellen von Custom Jobs
- Hochladen von Models
- Deployen von Models zu Endpoints
Dieser Service Account wird verwendet, um:
- auf Trainingsdaten in Cloud Storage zuzugreifen
- Logs in Cloud Logging zu schreiben
- Secrets aus Secret Manager zuzugreifen
- mit anderen GCP-Services zu interagieren
Datenspeicherung
- Model-Artefakte werden in Cloud Storage Buckets gespeichert
- Trainingsdaten liegen typischerweise in Cloud Storage oder BigQuery
- Container-Images werden in Artifact Registry oder Container Registry gespeichert
- Logs werden an Cloud Logging gesendet
- Metriken werden an Cloud Monitoring gesendet
Verschlüsselung
Standardmäßig verwendet Vertex AI Google-managed encryption keys. Sie können auch konfigurieren:
- Customer-managed encryption keys (CMEK) aus Cloud KMS
- Verschlüsselung gilt für Modellartefakte, Trainingsdaten und Endpoints
Netzwerk
Vertex AI-Ressourcen können für folgende Optionen konfiguriert werden:
- Public internet access (Standard)
- VPC Peering für privaten Zugriff
- Private Service Connect für sichere Konnektivität
- Shared VPC-Unterstützung
Aufzählung
# 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
Modell-Informationssammlung
# 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)"
Endpunktdetails
# 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)"
Informationen zu benutzerdefinierten Jobs
# 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)"
Zugriffskontrolle
# 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"
Speicher und Artefakte
# 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
Auf der folgenden Seite erfahren Sie, wie man abuse Vertex AI permissions to escalate privileges:
Post Exploitation
GCP - Vertex AI Post Exploitation
Referenzen
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Unterstütze HackTricks
- Sieh dir die Abonnementpläne an!
- Tritt der 💬 Discord group oder der telegram group bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs an die HackTricks und HackTricks Cloud GitHub-Repos einreichst.
HackTricks Cloud

