GCP - IAM, Principals & Org Policies Enum
Hizmet Hesapları
Hizmet hesabı nedir hakkında bir giriş için şu bağlantıya bakın:
GCP - Basic InformationNumaralandırma
Bir hizmet hesabı her zaman bir projeye aittir:
Kullanıcılar ve Gruplar
GCP'de Kullanıcılar ve Gruplar nasıl çalıştığı hakkında bir giriş için şu linke bakabilirsiniz:
GCP - Basic InformationNumaralandırma
serviceusage.services.enable
ve serviceusage.services.use
izinleri ile bir projede hizmetleri etkinleştirmek ve kullanmak mümkündür.
Varsayılan olarak, Workspace kullanıcılarına Proje Oluşturucu rolü verilir, bu da onlara yeni projeler oluşturma erişimi sağlar. Bir kullanıcı bir proje oluşturduğunda, ona üzerinde owner
rolü verilir. Bu nedenle, Workspace'i numaralandırabilmek için bu hizmetleri etkinleştirebilir.
Ancak, bu API'ları çağırabilmek için Workspace'ta yeterli izne sahip olmak da gereklidir.
Eğer admin
hizmetini etkinleştirebilirseniz ve kullanıcıınızın Workspace'ta yeterli ayrıcalıkları varsa, aşağıdaki satırlarla tüm grupları ve kullanıcıları numaralandırabilirsiniz.
kimlik grupları
dese de, grubu olmayan kullanıcıları da döndürür:
Önceki örneklerde --labels
parametresinin gerekliliği belirtilmiştir, bu yüzden genel bir değer kullanılmıştır (API doğrudan kullanıldığında gerekli değildir, PurplePanda'nın burada yaptığı gibi.
Yönetici hizmeti etkin olsa bile, etkilenen çalışma alanı kullanıcınızın yeterli izinlere sahip olmadığından dolayı bunları sıralarken bir hata almanız mümkündür:
IAM
IAM hakkında temel bilgiler için buraya bakın.
Varsayılan İzinler
Belgelerden: Bir organizasyon kaynağı oluşturulduğunda, varsayılan olarak tüm alanınızdaki kullanıcılara Billing Account Creator ve Project Creator rolleri verilir. Bu varsayılan roller, kullanıcılarınızın Google Cloud'u hemen kullanmaya başlamalarına olanak tanır, ancak organizasyon kaynağınızın düzenli işleyişinde kullanılması amaçlanmamıştır.
Bu roller, şu izinleri verir:
billing.accounts.create
veresourcemanager.organizations.get
resourcemanager.organizations.get
veresourcemanager.projects.create
Ayrıca, bir kullanıcı bir proje oluşturduğunda, belgelere göre otomatik olarak o projenin sahibi olur. Dolayısıyla, varsayılan olarak, bir kullanıcı bir proje oluşturabilir ve üzerinde herhangi bir hizmeti çalıştırabilir (madenciler? Workspace sıralaması? ...)
GCP Organizasyonunda en yüksek ayrıcalık Organization Administrator rolüdür.
set-iam-policy vs add-iam-policy-binding
Çoğu hizmette, bir kaynağın üzerindeki izinleri değiştirebilirsiniz, add-iam-policy-binding
veya set-iam-policy
yöntemini kullanarak. Temel fark, add-iam-policy-binding
'in mevcut IAM politikasına yeni bir rol bağlaması eklemesi iken set-iam-policy
'in önceden verilen izinleri silecek ve yalnızca komutta belirtilenleri ayarlayacak olmasıdır.
Sıralama
Bulut Varlık IAM Numaralandırma
Bir kullanıcının farklı kaynaklardaki (örneğin organizasyonlar, klasörler, projeler...) tüm izinlerini kontrol etmek için bu hizmeti kullanmanın farklı yolları vardır.
cloudasset.assets.searchAllIamPolicies
izni, bir kaynağın içindeki tüm iam politikalarını isteyebilir.
İzin
cloudasset.assets.analyzeIamPolicy
, bir kaynak içindeki bir öznenin tüm iam politikalarını isteyebilir.
İzin
cloudasset.assets.searchAllResources
, bir organizasyonun, klasörün veya projenin tüm kaynaklarını listeleme izni verir. IAM ile ilgili kaynaklar (roller gibi) dahildir.
İzin
cloudasset.assets.analyzeMove
bir proje gibi bir kaynağı etkileyen politikaları da almak için kullanışlı olabilir
Tahmin ediyorum ki
cloudasset.assets.queryIamPolicy
izni aynı zamanda prensiplerin izinlerini bulmaya erişim sağlayabilir.
testIamPermissions numaralandırma
Eğer önceki yöntemlerle IAM bilgilerine erişemiyorsanız ve Kırmızı Takım'da bulunuyorsanız, mevcut izinlerinizi kaba kuvvet uygulamak için https://github.com/carlospolop/bf_my_gcp_perms adlı aracı kullanabilirsiniz.
Ancak, hizmetin cloudresourcemanager.googleapis.com
etkinleştirilmiş olması gerektiğini unutmayın.
Privesc
Aşağıdaki sayfada izinleri kötüye kullanarak ayrıcalıkları yükseltme hakkında bilgi edinebilirsiniz:
GCP - IAM PrivescKimlik Doğrulamasız Numaralandırma
GCP - IAM, Principals & Org Unauthenticated EnumSaldırı Sonrası İşlemler
GCP - IAM Post ExploitationKalıcılık
Yüksek ayrıcalıklara sahipseniz şunları yapabilirsiniz:
Yeni Hizmet Hesapları (veya kullanıcılar, Workspace'te ise)
Kendiniz tarafından kontrol edilen prensiplere daha fazla izin vermek
Daha fazla ayrıcalık vermek (vm'de SSRF, zayıf Cloud Function'lar için...)
...
Org Politikaları
Org Politikaları hakkında genel bir bilgi için şuraya bakabilirsiniz:
GCP - Basic InformationIAM politikaları roller aracılığıyla prensiplerin kaynaklar üzerindeki izinlerini belirtir ve ayrıcalıklı izinleri atar. Organizasyon politikaları bu hizmetlerin nasıl kullanılabileceğini veya hangi özelliklerin devre dışı bırakılacağını kısıtlar. Bu, GCP ortamındaki her kaynağın en az ayrıcalığını artırmaya yardımcı olur.
İst Privileges
Aşağıdaki sayfada, yetkileri yükseltmek için org politikaları izinlerini kötüye kullanma yöntemlerini kontrol edebilirsiniz:
GCP - Orgpolicy PrivescLast updated