GCP - IAM, Principals & Org Policies Enum
Last updated
Last updated
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Bir servis hesabının ne olduğunu öğrenmek için:
Bir servis hesabı her zaman bir projeye aittir:
GCP'de Kullanıcılar ve Gruplar'ın nasıl çalıştığı hakkında bir giriş için kontrol edin:
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 owner
rolü verilir. Böylece, Workspace'i sayabilmek için projede bu hizmetleri etkinleştirebilir.
Ancak, bu API'leri çağırabilmek için Workspace'te yeterli izinlere sahip olmanız gerektiğini unutmayın.
Eğer admin
hizmetini etkinleştirebiliyorsanız ve kullanıcınızın workspace'te yeterli ayrıcalıkları varsa, aşağıdaki satırlarla tüm grupları ve kullanıcıları sayabilirsiniz.
identity groups
yazsa bile, grubu olmayan kullanıcıları da döndürür:
Önceki örneklerde --labels
parametresi gereklidir, bu nedenle genel bir değer kullanılır (API'yi doğrudan PurplePanda'nın burada yaptığı gibi kullanıyorsanız gerekmiyor).
Yönetici hizmeti etkin olsa bile, ele geçirilmiş workspace kullanıcınızın yeterli izinlere sahip olmaması nedeniyle bunları listelemekte hata almanız mümkündür:
IAM hakkında temel bilgiler için bunu kontrol edin.
belgelere göre: Bir organizasyon kaynağı oluşturulduğunda, alanınızdaki tüm kullanıcılara varsayılan olarak Faturalama Hesabı Oluşturucu ve Proje Oluşturucu rolleri verilir. Bu varsayılan roller, kullanıcılarınızın Google Cloud'u hemen kullanmaya başlamasına olanak tanır, ancak organizasyon kaynağınızın normal işletiminde kullanılmak üzere tasarlanmamıştır.
Bu roller aşağıdaki izinleri verir:
billing.accounts.create
ve resourcemanager.organizations.get
resourcemanager.organizations.get
ve resourcemanager.projects.create
Ayrıca, bir kullanıcı bir proje oluşturduğunda, belgelere göre o projenin sahibi olarak otomatik olarak atanır. Bu nedenle, varsayılan olarak, bir kullanıcı bir proje oluşturabilecek ve üzerinde herhangi bir hizmet çalıştırabilecektir (madenciler? Workspace listeleme? ...)
GCP Organizasyonu'ndaki en yüksek ayrıcalık Organizasyon Yöneticisi rolüdür.
Çoğu hizmette, bir kaynak üzerindeki izinleri add-iam-policy-binding
veya set-iam-policy
yöntemini kullanarak değiştirebileceksiniz. Ana fark, add-iam-policy-binding
mevcut IAM politikasına yeni bir rol bağlaması eklerken, set-iam-policy
daha önce verilmiş izinleri silip yalnızca komutta belirtilenleri ayarlayacaktır.
Bu hizmeti kullanarak bir kullanıcının farklı kaynaklardaki (örneğin organizasyonlar, klasörler, projeler...) tüm izinlerini kontrol etmenin farklı yolları vardır.
cloudasset.assets.searchAllIamPolicies
izni, bir kaynağın içindeki tüm iam politikalarını talep edebilir.
İzin cloudasset.assets.analyzeIamPolicy
bir kaynağın içindeki bir ilkenin tüm iam politikalarını talep edebilir.
İzin cloudasset.assets.searchAllResources
bir organizasyon, klasör veya projenin tüm kaynaklarını listelemeye olanak tanır. IAM ile ilgili kaynaklar (roller gibi) dahildir.
İzin cloudasset.assets.analyzeMove
bir projeyi etkileyen politikaları almak için de yararlı olabilir.
Sanırım cloudasset.assets.queryIamPolicy
izni, ilkelerin izinlerini bulmak için erişim sağlayabilir.
Eğer önceki yöntemlerle IAM bilgilerine erişemiyorsanız ve bir Kırmızı Takım üyesiyseniz, mevcut izinlerinizi brute-force yapmak için şu aracı https://github.com/carlospolop/bf_my_gcp_perms kullanabilirsiniz.
Ancak, cloudresourcemanager.googleapis.com
hizmetinin etkinleştirilmesi gerektiğini unutmayın.
Aşağıdaki sayfada IAM izinlerini kötüye kullanarak ayrıcalıkları artırma yöntemlerini kontrol edebilirsiniz:
Eğer yüksek ayrıcalıklarınız varsa şunları yapabilirsiniz:
Yeni SA'lar (veya Workspace'de kullanıcılar) oluşturmak
Kendiniz tarafından kontrol edilen ilkelere daha fazla izin vermek
Zayıf SA'lara daha fazla ayrıcalık vermek (vm'de SSRF, zayıf Cloud Function…)
…
Org Policies'in ne olduğunu öğrenmek için kontrol edin:
IAM politikaları, ilkelere roller aracılığıyla kaynaklar üzerinde sahip oldukları izinleri gösterir; bu roller ayrıntılı izinler atanmıştır. Organizasyon politikaları bu hizmetlerin nasıl kullanılabileceğini veya hangi özelliklerin devre dışı bırakıldığını kısıtlar. Bu, GCP ortamındaki her kaynağın en az ayrıcalığını artırmak için yardımcı olur.
Aşağıdaki sayfada örgüt politikası izinlerini kötüye kullanarak ayrıcalıkları artırma yöntemini kontrol edebilirsiniz:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)