GCP - Permissions for a Pentest

Bir GCP ortamında pentest yapmak istiyorsanız, GCP'de kullanılan tüm veya çoğu hizmeti kontrol etmek için yeterli izinleri talep etmeniz gerekmektedir. İdeal olarak, müşteriden şunları oluşturmasını istemelisiniz:

  • Yeni bir proje oluşturun

  • Bu projenin içinde bir Hizmet Hesabı oluşturun (json kimlik bilgilerini alın) veya yeni bir kullanıcı oluşturun.

  • Daha sonra bahsedilen rolleri ORGANIZASYON üzerindeki Hizmet Hesabına veya kullanıcıya verin.

  • Oluşturulan projede bu gönderide daha sonra bahsedilen API'leri etkinleştirin

Daha sonra önerilen araçları kullanmak için kullanılacak izin seti:

roles/viewer
roles/resourcemanager.folderViewer
roles/resourcemanager.organizationViewer

API'ları etkinleştirmek için (starbase'den):

gcloud services enable \
serviceusage.googleapis.com \
cloudfunctions.googleapis.com \
storage.googleapis.com \
iam.googleapis.com \
cloudresourcemanager.googleapis.com \
compute.googleapis.com \
cloudkms.googleapis.com \
sqladmin.googleapis.com \
bigquery.googleapis.com \
container.googleapis.com \
dns.googleapis.com \
logging.googleapis.com \
monitoring.googleapis.com \
binaryauthorization.googleapis.com \
pubsub.googleapis.com \
appengine.googleapis.com \
run.googleapis.com \
redis.googleapis.com \
memcache.googleapis.com \
apigateway.googleapis.com \
spanner.googleapis.com \
privateca.googleapis.com \
cloudasset.googleapis.com \
accesscontextmanager.googleapis.com

Bireysel araç izinleri

From https://github.com/carlospolop/PurplePanda/tree/master/intel/google#permissions-configuration

roles/bigquery.metadataViewer
roles/composer.user
roles/compute.viewer
roles/container.clusterViewer
roles/iam.securityReviewer
roles/resourcemanager.folderViewer
roles/resourcemanager.organizationViewer
roles/secretmanager.viewer

ScoutSuite, Google Cloud Platform için bir güvenlik değerlendirme aracıdır. Bu araç, GCP kaynaklarınızın güvenlik durumunu değerlendirmek için kullanılabilir. ScoutSuite, GCP hizmetlerine erişmek için gerekli izinleri kullanır. Bu izinler, GCP kaynaklarınızı analiz etmek ve güvenlik açıklarını tespit etmek için gereklidir. ScoutSuite, GCP izinlerini kullanarak aşağıdaki bilgileri toplayabilir:

  • Kullanıcılar ve roller

  • Hizmet hesapları

  • IAM politikaları

  • Firewall kuralları

  • Depolama ayarları

  • Veritabanı yapılandırmaları

  • Ve daha fazlası

ScoutSuite, GCP kaynaklarınızın güvenlik durumunu değerlendirmek için kullanışlı bir araçtır. Bu aracı kullanarak, GCP ortamınızda potansiyel güvenlik açıklarını tespit edebilir ve düzeltme önlemleri alabilirsiniz.

From https://github.com/nccgroup/ScoutSuite/wiki/Google-Cloud-Platform#permissions

roles/Viewer
roles/iam.securityReviewer
roles/stackdriver.accounts.viewer

CloudSploit, GCP için bir güvenlik denetim aracıdır. Bu araç, GCP kaynaklarınızı denetlemek ve güvenlik açıklarını tespit etmek için kullanılabilir. CloudSploit, GCP'nin sağladığı API'leri kullanarak hesap yapılandırmasını ve izinleri analiz eder. Bu analiz sonucunda, potansiyel güvenlik açıkları ve hatalı yapılandırmalar belirlenebilir. CloudSploit, GCP hesabınızın güvenliğini artırmak için önerilerde bulunur ve en iyi uygulamaları sağlar. Bu araç, GCP'deki güvenlik denetimlerini otomatikleştirmek ve güvenlik açıklarını hızlı bir şekilde tespit etmek için kullanılabilir.

From https://github.com/aquasecurity/cloudsploit/blob/master/docs/gcp.md#cloud-provider-configuration

includedPermissions:
- cloudasset.assets.listResource
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.list
- cloudsql.instances.list
- cloudsql.users.list
- compute.autoscalers.list
- compute.backendServices.list
- compute.disks.list
- compute.firewalls.list
- compute.healthChecks.list
- compute.instanceGroups.list
- compute.instances.getIamPolicy
- compute.instances.list
- compute.networks.list
- compute.projects.get
- compute.securityPolicies.list
- compute.subnetworks.list
- compute.targetHttpProxies.list
- container.clusters.list
- dns.managedZones.list
- iam.serviceAccountKeys.list
- iam.serviceAccounts.list
- logging.logMetrics.list
- logging.sinks.list
- monitoring.alertPolicies.list
- resourcemanager.folders.get
- resourcemanager.folders.getIamPolicy
- resourcemanager.folders.list
- resourcemanager.hierarchyNodes.listTagBindings
- resourcemanager.organizations.get
- resourcemanager.organizations.getIamPolicy
- resourcemanager.projects.get
- resourcemanager.projects.getIamPolicy
- resourcemanager.projects.list
- resourcemanager.resourceTagBindings.list
- resourcemanager.tagKeys.get
- resourcemanager.tagKeys.getIamPolicy
- resourcemanager.tagKeys.list
- resourcemanager.tagValues.get
- resourcemanager.tagValues.getIamPolicy
- resourcemanager.tagValues.list
- storage.buckets.getIamPolicy
- storage.buckets.list

Cartography, GCP için bir keşif aracıdır. Bu araç, GCP kaynaklarını ve yapılandırmalarını analiz etmek için kullanılır. Cartography, GCP'nin izinlerini ve yapılandırmalarını inceleyerek güvenlik açıklarını tespit etmeye yardımcı olur. Bu, bir pentest sırasında kullanılabilecek değerli bir araçtır.

From https://lyft.github.io/cartography/modules/gcp/config.html

roles/iam.securityReviewer
roles/resourcemanager.organizationViewer
roles/resourcemanager.folderViewer

From https://github.com/JupiterOne/graph-google-cloud/blob/main/docs/development.md

roles/iam.securityReviewer
roles/iam.organizationRoleViewer
roles/bigquery.metadataViewer

Last updated