diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md
index 789a77816..d33e5b872 100644
--- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md
+++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md
@@ -12,11 +12,11 @@ Per maggiori informazioni su Vertex AI consulta:
### `aiplatform.customJobs.create`, `iam.serviceAccounts.actAs`
-Con il permesso `aiplatform.customJobs.create` e `iam.serviceAccounts.actAs` su un service account di destinazione, un attaccante può **eseguire codice arbitrario con privilegi elevati**.
+Con la permission `aiplatform.customJobs.create` e `iam.serviceAccounts.actAs` su un target service account, un attaccante può **eseguire codice arbitrario con privilegi elevati**.
-Questo funziona creando un custom training job che esegue codice controllato dall'attaccante (sia un custom container che un pacchetto Python). Specificando un service account privilegiato tramite il flag `--service-account`, il job eredita i permessi di quel service account. Il job viene eseguito su infrastruttura gestita da Google con accesso al GCP metadata service, permettendo l'estrazione dell'OAuth access token del service account.
+Questo avviene creando un custom training job che esegue codice controllato dall'attaccante (sia un custom container sia un Python package). Specificando un privileged service account tramite il flag `--service-account`, il job eredita i permessi di quell'account di servizio. Il job viene eseguito su Google-managed infrastructure con accesso al GCP metadata service, permettendo l'estrazione dell'OAuth access token dell'account di servizio.
-**Impact**: Full privilege escalation to the target service account's permissions.
+**Impatto**: Escalation completa dei privilegi fino ai permessi dell'account di servizio target.
@@ -65,19 +65,17 @@ gcloud ai custom-jobs stream-logs --region=
```
-> [!CAUTION]
-> Il custom job verrà eseguito con le autorizzazioni dell'account di servizio specificato. Assicurati di avere il permesso `iam.serviceAccounts.actAs` sull'account di servizio target.
### `aiplatform.models.upload`, `aiplatform.models.get`
-Questa tecnica ottiene l'escalation di privilegi caricando un modello su Vertex AI e sfruttando poi quel modello per eseguire codice con privilegi elevati tramite il deployment di un endpoint o un batch prediction job.
+Questa tecnica ottiene l'escalation dei privilegi caricando un modello su Vertex AI e poi sfruttando quel modello per eseguire codice con privilegi elevati tramite un endpoint deployment o un batch prediction job.
> [!NOTE]
-> Per eseguire questo attacco è necessario avere un bucket GCS leggibile pubblicamente o crearne uno nuovo per caricare gli artifact del modello.
+> Per eseguire questo attacco è necessario avere un GCS bucket leggibile pubblicamente oppure crearne uno nuovo per caricare gli artifact del modello.
-Upload malicious pickled model with reverse shell
+Carica pickled model malevolo con reverse shell
```bash
# Method 1: Upload malicious pickled model (triggers on deployment, not prediction)
# Create malicious sklearn model that executes reverse shell when loaded
@@ -113,7 +111,7 @@ gcloud ai models upload \
-Carica modello con container reverse shell
+Carica modello con reverse shell nel container
```bash
# Method 2 using --container-args to run a persistent reverse shell
@@ -145,16 +143,16 @@ gcloud ai models upload \
> [!DANGER]
-> Dopo aver caricato il modello malevolo un attacker potrebbe aspettare che qualcuno utilizzi il modello, oppure avviare il modello lui stesso tramite un endpoint deployment o un batch prediction job.
+> Dopo aver caricato il modello malevolo, un attaccante potrebbe aspettare che qualcuno utilizzi il modello oppure avviare se stesso il modello tramite una deployment su endpoint o un job di batch prediction.
#### `iam.serviceAccounts.actAs`, ( `aiplatform.endpoints.create`, `aiplatform.endpoints.deploy`, `aiplatform.endpoints.get` ) or ( `aiplatform.endpoints.setIamPolicy` )
-Se hai i permessi per creare e distribuire modelli su endpoints, o per modificare le policy IAM dell'endpoint, puoi sfruttare i modelli malevoli caricati nel progetto per ottenere privilege escalation. Per attivare uno dei modelli malevoli caricati in precedenza tramite un endpoint, tutto ciò che devi fare è:
+Se hai i permessi per creare e distribuire modelli su endpoint, o per modificare le policy IAM degli endpoint, puoi sfruttare i modelli malevoli caricati nel progetto per ottenere escalation di privilegi. Per attivare uno dei modelli malevoli caricati in precedenza tramite un endpoint, tutto ciò che devi fare è:
-Distribuire il modello malevolo su un endpoint
+Distribuire un modello malevolo su un endpoint
```bash
# Create an endpoint
gcloud ai endpoints create \
@@ -175,16 +173,16 @@ gcloud ai endpoints deploy-model \
#### `aiplatform.batchPredictionJobs.create`, `iam.serviceAccounts.actAs`
-Se hai i permessi per creare un **batch prediction job** ed eseguirlo con un service account, puoi accedere al metadata service. Il codice malevolo viene eseguito da un **custom prediction container** o da un **malicious model** durante il processo di batch prediction.
+Se disponi dei permessi per creare una **batch prediction jobs** e avviarla con un service account, puoi accedere al metadata service. Il codice malevolo viene eseguito da un **custom prediction container** o da un **malicious model** durante il processo di batch prediction.
-**Nota**: I batch prediction jobs possono essere creati solo tramite REST API o Python SDK (nessun supporto per gcloud CLI).
+**Note**: Le batch prediction jobs possono essere create solo tramite REST API o Python SDK (no gcloud CLI support).
> [!NOTE]
-> Questo attacco richiede prima l'upload di un malicious model (vedi la sezione `aiplatform.models.upload` sopra) o l'utilizzo di un custom prediction container contenente il codice della tua reverse shell.
+> Questo attacco richiede prima l'upload di un malicious model (vedi la sezione `aiplatform.models.upload` sopra) o l'utilizzo di un custom prediction container con il tuo reverse shell code.
-Crea un batch prediction job con un malicious model
+Create batch prediction job with malicious model
```bash
# Step 1: Upload a malicious model with custom prediction container that executes reverse shell
gcloud ai models upload \
@@ -240,14 +238,14 @@ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT}/locations/${R
### `aiplatform.models.export`
-Se hai il permesso **models.export**, puoi esportare gli artifact del modello in un bucket GCS che controlli, accedendo potenzialmente a dati di addestramento sensibili o a file del modello.
+Se possiedi il permesso **models.export**, puoi esportare artefatti del modello in un GCS bucket che controlli, accedendo potenzialmente a dati di addestramento sensibili o ai file del modello.
> [!NOTE]
-> Per eseguire questo attacco è necessario avere un bucket GCS leggibile e scrivibile da tutti oppure crearne uno nuovo per caricare gli artifact del modello.
+> Per eseguire questo attacco è necessario avere un GCS bucket accessibile in lettura e scrittura da chiunque, oppure crearne uno nuovo per caricare gli artefatti del modello.
-Esporta gli artifact del modello in un bucket GCS
+Esporta artefatti del modello in un GCS bucket
```bash
# Export model artifacts to your own GCS bucket
PROJECT="your-project"
@@ -274,12 +272,12 @@ gsutil -m cp -r gs://your-controlled-bucket/exported-models/ ./
### `aiplatform.pipelineJobs.create`, `iam.serviceAccounts.actAs`
-Crea **ML pipeline jobs** che eseguono più passaggi con container arbitrari e consentono escalation dei privilegi tramite accesso reverse shell.
+Crea job di pipeline ML che eseguono più step con container arbitrari e consentono privilege escalation tramite accesso reverse shell.
-Le pipeline sono particolarmente potenti per l'escalation dei privilegi perché supportano multi-stage attacks in cui ogni componente può usare container e configurazioni diverse.
+Le pipeline sono particolarmente potenti per il privilege escalation perché supportano attacchi multi-stage in cui ogni componente può usare container e configurazioni differenti.
> [!NOTE]
-> È necessario un GCS bucket world writable da usare come pipeline root.
+> È necessario un bucket GCS scrivibile da chiunque da usare come root della pipeline.
@@ -292,7 +290,7 @@ pip install google-cloud-aiplatform
-Crea un job di pipeline con un container reverse shell
+Crea pipeline job con container reverse shell
```python
#!/usr/bin/env python3
import json
@@ -386,15 +384,15 @@ print(f" {response.text}")
### `aiplatform.hyperparameterTuningJobs.create`, `iam.serviceAccounts.actAs`
-Crea **hyperparameter tuning jobs** che eseguono codice arbitrario con privilegi elevati tramite custom training containers.
+Crea **job di hyperparameter tuning** che eseguono codice arbitrario con privilegi elevati tramite custom training containers.
-Hyperparameter tuning jobs permettono di eseguire più training trials in parallelo, ognuno con valori di hyperparameter diversi. Specificando un container malevolo contenente una reverse shell o un comando di exfiltration, e associandolo a un service account privilegiato, è possibile ottenere privilege escalation.
+I job di hyperparameter tuning permettono di eseguire più training trial in parallelo, ciascuno con valori di iperparametri diversi. Specificando un container malevolo con una reverse shell o un exfiltration command, e associandolo a un privileged service account, puoi ottenere privilege escalation.
-**Impatto**: Escalation completa dei privilegi ai permessi del service account di destinazione.
+**Impatto**: Full privilege escalation ai permessi del service account di destinazione.
-Crea un hyperparameter tuning job con reverse shell
+Crea un job di hyperparameter tuning con reverse shell
```bash
# Method 1: Python reverse shell (most reliable)
# Create HP tuning job config with reverse shell
@@ -435,15 +433,15 @@ gcloud ai hp-tuning-jobs create \
### `aiplatform.datasets.export`
-Esporta **datasets** per esfiltrare i dati di addestramento che possono contenere informazioni sensibili.
+Esporta **datasets** per exfiltrate i dati di addestramento che possono contenere informazioni sensibili.
-**Note**: Le operazioni sui dataset richiedono REST API o Python SDK (nessun supporto del gcloud CLI per i dataset).
+**Nota**: Le operazioni sui dataset richiedono REST API o Python SDK (nessun supporto gcloud CLI per i dataset).
-I dataset spesso contengono i dati di addestramento originali che possono includere PII, dati aziendali riservati o altre informazioni sensibili utilizzate per addestrare i modelli di produzione.
+I dataset spesso contengono i dati di addestramento originali che possono includere PII, dati aziendali riservati o altre informazioni sensibili utilizzate per addestrare modelli di produzione.
-Esporta il dataset per esfiltrare i dati di addestramento
+Esporta dataset per exfiltrate i dati di addestramento
```bash
# Step 1: List available datasets to find a target dataset ID
PROJECT="your-project"
@@ -492,25 +490,25 @@ cat exported-data/*/data-*.jsonl
### `aiplatform.datasets.import`
-Importare dati malevoli o avvelenati in dataset esistenti per **manipolare l'addestramento del modello e introdurre backdoors**.
+Importa dati dannosi o avvelenati in dataset esistenti per **manipolare l'addestramento del modello e introdurre backdoors**.
-**Nota**: Le operazioni sui dataset richiedono REST API o Python SDK (nessun supporto gcloud CLI per i dataset).
+**Nota**: Le operazioni sui dataset richiedono REST API o Python SDK (no gcloud CLI support per i dataset).
-Importando dati appositamente creati in un dataset utilizzato per addestrare modelli ML, un attacker può:
-- Introdurre backdoors nei modelli (misclassification basata su trigger)
-- Poison i dati di addestramento per degradare le prestazioni del modello
-- Inject dati per far sì che i modelli leak informazioni
+Importando dati appositamente creati in un dataset usato per l'addestramento di modelli ML, un attaccante può:
+- Introdurre backdoors nei modelli (misclassificazione basata su trigger)
+- Avvelenare i dati di addestramento per degradare le prestazioni del modello
+- Iniettare dati per causare il leak di informazioni dai modelli
- Manipolare il comportamento del modello per input specifici
-Questo attacco è particolarmente efficace quando si prendono di mira dataset utilizzati per:
-- Classificazione di immagini (inject immagini etichettate in modo errato)
-- Classificazione di testo (inject testo di parte o malevolo)
-- Object detection (manipolare bounding boxes)
-- Recommendation systems (inject preferenze false)
+Questo attacco è particolarmente efficace quando prende di mira dataset utilizzati per:
+- Classificazione di immagini (iniettare immagini etichettate in modo errato)
+- Classificazione di testo (iniettare testo fazioso o maligno)
+- Rilevamento oggetti (manipolare le bounding boxes)
+- Sistemi di raccomandazione (iniettare preferenze false)
-Importare dati avvelenati in un dataset
+Importare dati avvelenati nel dataset
```bash
# Step 1: List available datasets to find target
PROJECT="your-project"
@@ -598,7 +596,7 @@ done > label_flip.jsonl
-Avvelenamento dei dati per l'estrazione del modello
+Data poisoning for model extraction
```bash
# Scenario 3: Data Poisoning for Model Extraction
# Inject carefully crafted queries to extract model behavior
@@ -612,7 +610,7 @@ EOF
-Attacco mirato contro entità specifiche
+Attacco mirato a entità specifiche
```bash
# Scenario 4: Targeted Attack on Specific Entities
# Poison data to misclassify specific individuals or objects
@@ -625,34 +623,34 @@ EOF
> [!DANGER]
-> Gli attacchi di Data poisoning possono avere conseguenze gravi:
-> - **Sistemi di sicurezza**: Eludere il riconoscimento facciale o il rilevamento delle anomalie
-> - **Fraud detection**: Addestrare modelli a ignorare specifici schemi di frode
-> - **Content moderation**: Far classificare contenuti dannosi come sicuri
-> - **Medical AI**: Classificare in modo errato condizioni di salute critiche
-> - **Autonomous systems**: Manipolare il rilevamento degli oggetti per decisioni critiche per la sicurezza
+> Data poisoning attacks possono avere gravi conseguenze:
+> - **Sistemi di sicurezza**: Bypass del riconoscimento facciale o del rilevamento delle anomalie
+> - **Rilevamento delle frodi**: Addestrare i modelli a ignorare specifici schemi di frode
+> - **Moderazione dei contenuti**: Far classificare come sicuro contenuto dannoso
+> - **AI medica**: Classificare erroneamente condizioni di salute critiche
+> - **Sistemi autonomi**: Manipolare il rilevamento degli oggetti per decisioni critiche per la sicurezza
>
> **Impatto**:
-> - Modelli backdoored che classificano in modo errato al verificarsi di trigger specifici
+> - Backdoored models che si classificano erroneamente su trigger specifici
> - Prestazioni e accuratezza del modello degradate
> - Modelli con bias che discriminano determinati input
> - Information leakage attraverso il comportamento del modello
-> - Persistente a lungo termine (i modelli addestrati su poisoned data erediteranno il backdoor)
->
-
+> - Persistenza a lungo termine (i modelli addestrati su dati avvelenati erediteranno il backdoor)
+>
+>
### `aiplatform.notebookExecutionJobs.create`, `iam.serviceAccounts.actAs`
> [!WARNING]
> > [!NOTE]
-> **API deprecata**: L'API `aiplatform.notebookExecutionJobs.create` è deprecata come parte della deprecazione di Vertex AI Workbench Managed Notebooks. L'approccio moderno è usare **Vertex AI Workbench Executor** che esegue i notebook tramite `aiplatform.customJobs.create` (documentato sopra).
-> Vertex AI Workbench Executor permette di pianificare esecuzioni di notebook che girano sull'infrastruttura di custom training di Vertex AI con un service account specificato. È fondamentalmente un wrapper di convenienza intorno a `customJobs.create`.
-> **For privilege escalation via notebooks**: Usa il metodo `aiplatform.customJobs.create` documentato sopra, che è più veloce, più affidabile e utilizza la stessa infrastruttura sottostante del Workbench Executor.
+> **API deprecata**: L'API `aiplatform.notebookExecutionJobs.create` è deprecata come parte della deprecazione di Vertex AI Workbench Managed Notebooks. L'approccio moderno è usare **Vertex AI Workbench Executor** che esegue i notebook tramite `aiplatform.customJobs.create` (già documentato sopra).
+> Il Vertex AI Workbench Executor permette di pianificare l'esecuzione di notebook che girano sull'infrastruttura di training custom di Vertex AI con un service account specificato. È essenzialmente un wrapper di comodità attorno a `customJobs.create`.
+> **Per privilege escalation tramite notebook**: Usa il metodo `aiplatform.customJobs.create` documentato sopra, che è più veloce, più affidabile e utilizza la stessa infrastruttura sottostante del Workbench Executor.
**La tecnica seguente è fornita solo per contesto storico e non è raccomandata per l'uso in nuove valutazioni.**
Crea **notebook execution jobs** che eseguono Jupyter notebooks con codice arbitrario.
-I Notebook jobs sono ideali per l'esecuzione di codice in stile interattivo con un service account, poiché supportano celle di codice Python e comandi shell.
+I notebook jobs sono ideali per l'esecuzione di codice in stile interattivo con un service account, poiché supportano celle di codice Python e comandi shell.