diff --git a/src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting/README.md b/src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting/README.md index 4b0eb032f..c2f2e7924 100644 --- a/src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting/README.md +++ b/src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting/README.md @@ -6,10 +6,10 @@ ### **Alan Genel Yetkilendirme Temelleri** -Google Workspace'in Alan Genel Yetkilendirmesi, bir kimlik nesnesinin, ya bir **harici uygulama** Google Workspace Marketplace'ten ya da bir iç **GCP Hizmet Hesabı** olarak, **kullanıcılar adına Workspace'teki verilere erişmesine** olanak tanır. +Google Workspace'in Alan Genel yetkilendirmesi, bir kimlik nesnesinin, ya bir **harici uygulama** Google Workspace Marketplace'ten ya da bir iç **GCP Hizmet Hesabı** olarak, **kullanıcılar adına Workspace'teki verilere erişmesine** olanak tanır. > [!NOTE] -> Bu, temelde **GCP projeleri içindeki hizmet hesaplarının**, aynı organizasyondaki (veya hatta farklı bir organizasyondaki) **Workspace kullanıcılarını taklit edebilme** yeteneğine sahip olabileceği anlamına gelir. +> Bu, temelde **GCP projeleri içindeki hizmet hesaplarının**, aynı organizasyondaki (veya farklı bir organizasyondaki) **Workspace kullanıcılarını taklit edebilme** yeteneğine sahip olabileceği anlamına gelir. Bu işlemin tam olarak nasıl çalıştığı hakkında daha fazla bilgi için kontrol edin: @@ -19,11 +19,11 @@ gcp-understanding-domain-wide-delegation.md ### Mevcut yetkilendirmeyi ele geçirme -Eğer bir saldırgan **GCP üzerinde bazı erişimleri ele geçirmişse** ve şirketin **geçerli bir Workspace kullanıcı e-posta adresini** (tercihen **süper yönetici**) biliyorsa, **erişim sağladığı tüm projeleri listeleyebilir**, projelerin **tüm SA'lerini listeleyebilir**, hangi **hizmet hesaplarına erişimi olduğunu kontrol edebilir** ve **taklit edebileceği her SA ile bu adımları tekrarlayabilir**.\ -Elde ettiği **tüm hizmet hesaplarının listesi** ve **Workspace** **e-posta adresleri** ile saldırgan, her hizmet hesabı ile **kullanıcıyı taklit etmeye** çalışabilir. +Eğer bir saldırgan **GCP üzerinde bazı erişimleri ele geçirmişse** ve şirketin **geçerli bir Workspace kullanıcı e-posta adresini** (tercihen **süper yönetici**) biliyorsa, **erişim sağladığı tüm projeleri listeleyebilir**, projelerin **tüm SA'lerini listeleyebilir**, hangi **hizmet hesaplarına erişimi olduğunu** kontrol edebilir ve **taklit edebileceği her SA ile bu adımları tekrarlayabilir**.\ +Elde ettiği **tüm hizmet hesaplarının listesi** ve **Workspace** **e-posta adresleri** ile saldırgan, **her hizmet hesabıyla kullanıcıyı taklit etmeye** çalışabilir. > [!CAUTION] -> Alan genel yetkilendirmeyi yapılandırırken herhangi bir Workspace kullanıcısına ihtiyaç olmadığını unutmayın, bu nedenle sadece **bir geçerli kullanıcı bilmek yeterlidir ve taklit için gereklidir**.\ +> Alan genel yetkilendirme yapılandırılırken herhangi bir Workspace kullanıcısına ihtiyaç olmadığını unutmayın, bu nedenle sadece **bir geçerli kullanıcı bilmek yeterlidir ve taklit için gereklidir**.\ > Ancak, **taklit edilen kullanıcının ayrıcalıkları kullanılacaktır**, bu nedenle eğer Süper Yönetici ise her şeye erişebileceksiniz. Eğer herhangi bir erişimi yoksa bu işe yaramaz. #### [GCP Yetkilendirme Token'ı Oluştur](https://github.com/carlospolop/gcp_gen_delegation_token) @@ -38,20 +38,20 @@ python3 gen_delegation_token.py --user-email --key-file [!DİKKAT] +> [!CAUTION] > Bir kullanıcının Workspace'i listeleyebilmesi için yeterli Workspace izinlerine de sahip olması gerekir (her kullanıcı dizini listeleyemez). ```bash # Create project @@ -127,11 +127,11 @@ Daha fazla numaralandırma için kontrol edin: Giriş yapmak için `gcloud` akışı hakkında daha fazla bilgi bulabilirsiniz: {{#ref}} -../gcp-persistence/gcp-non-svc-persistance.md +../gcp-persistence/gcp-non-svc-persistence.md {{#endref}} Orada açıklandığı gibi, gcloud **`https://www.googleapis.com/auth/drive`** kapsamını talep edebilir, bu da bir kullanıcının sürücüsüne erişmesine izin verir.\ -Bir saldırgan olarak, eğer bir kullanıcının bilgisayarını **fiziksel olarak** ele geçirdiyseniz ve **kullanıcı hala** hesabıyla giriş yapıyorsa, sürücüye erişim sağlayan bir token oluşturarak giriş yapabilirsiniz: +Bir saldırgan olarak, eğer bir kullanıcının bilgisayarını **fiziksel olarak** ele geçirdiyseniz ve **kullanıcı hala** hesabıyla oturum açmışsa, sürüme erişim sağlayan bir token oluşturarak giriş yapabilirsiniz: ```bash gcloud auth login --enable-gdrive-access ``` @@ -140,7 +140,7 @@ Eğer bir saldırgan bir kullanıcının bilgisayarını ele geçirirse, `google
> [!WARNING] -> Bu nedenle, kullanıcı bir sonraki giriş yaptığında, saldırganın drive'a erişmek için kötüye kullanabileceği **drive'a erişim izni olan bir token oluşturacaktır**. Açıkça, tarayıcı oluşturulan token'ın drive'a erişim izni olduğunu gösterecektir, ancak kullanıcı **`gcloud auth login`** komutunu kendisi çağıracağı için muhtemelen **hiçbir şeyden şüphelenmeyecektir.** +> Bu nedenle, kullanıcı bir sonraki oturum açtığında, saldırganın drive'a erişim sağlamak için kötüye kullanabileceği **drive'a erişim izni olan bir token oluşturacaktır**. Açıkça, tarayıcı oluşturulan token'ın drive'a erişim izni olduğunu gösterecektir, ancak kullanıcı **`gcloud auth login`** komutunu kendisi çağıracağı için muhtemelen **hiçbir şeyden şüphelenmeyecektir.** > > Drive dosyalarını listelemek için: **`curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://www.googleapis.com/drive/v3/files"`** @@ -148,7 +148,7 @@ Eğer bir saldırgan bir kullanıcının bilgisayarını ele geçirirse, `google ### Ayrıcalıklı GCP kullanıcılarına erişim -Eğer bir saldırgan GWS üzerinde tam erişime sahipse, GCP üzerinde ayrıcalıklı erişime sahip gruplara veya kullanıcılara erişebilecektir, bu nedenle GWS'den GCP'ye geçiş genellikle daha "basit"dir çünkü **GWS'deki kullanıcılar GCP üzerinde yüksek ayrıcalıklara sahiptir**. +Eğer bir saldırgan GWS üzerinde tam erişime sahipse, GCP üzerinde ayrıcalıklı erişime sahip gruplara veya kullanıcılara erişim sağlayabilecektir, bu nedenle GWS'den GCP'ye geçiş genellikle daha "basit"dir çünkü **GWS'deki kullanıcılar GCP üzerinde yüksek ayrıcalıklara sahiptir**. ### Google Grupları Ayrıcalık Yükseltme diff --git a/src/pentesting-cloud/workspace-security/gws-google-platforms-phishing/README.md b/src/pentesting-cloud/workspace-security/gws-google-platforms-phishing/README.md index 3342ad790..166eff82f 100644 --- a/src/pentesting-cloud/workspace-security/gws-google-platforms-phishing/README.md +++ b/src/pentesting-cloud/workspace-security/gws-google-platforms-phishing/README.md @@ -10,9 +10,9 @@ https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-met ## Google Groups Phishing -Görünüşe göre, varsayılan olarak, workspace üyeleri [**gruplar oluşturabilir**](https://groups.google.com/all-groups) **ve insanları bu gruplara davet edebilirler**. Daha sonra kullanıcıya gönderilecek e-postayı **bazı bağlantılar ekleyerek** değiştirebilirsiniz. **E-posta bir google adresinden gelecektir**, bu nedenle **gerçekçi** görünecek ve insanlar bağlantıya tıklayabilir. +Görünüşe göre, varsayılan olarak, workspace üyeleri [**gruplar oluşturabilir**](https://groups.google.com/all-groups) **ve insanları davet edebilirler**. Daha sonra kullanıcıya gönderilecek e-postayı **bazı bağlantılar ekleyerek** değiştirebilirsiniz. **E-posta bir google adresinden gelecektir**, bu nedenle **gerçekçi** görünecek ve insanlar bağlantıya tıklayabilir. -Ayrıca, **FROM** adresini **Google grup e-postası** olarak ayarlamak da mümkündür, böylece **gruptaki kullanıcılara daha fazla e-posta gönderebilirsiniz**, aşağıdaki resimde olduğu gibi **`google--support@googlegroups.com`** grubu oluşturulmuş ve gruptaki **tüm üyelere** bir **e-posta gönderilmiştir** (izinleri olmadan eklenmişlerdir). +Ayrıca, **FROM** adresini **Google grup e-postası** olarak ayarlamak da mümkündür, böylece **gruptaki kullanıcılara daha fazla e-posta gönderebilirsiniz**, aşağıdaki resimde olduğu gibi **`google--support@googlegroups.com`** grubu oluşturulmuş ve gruptaki **tüm üyelere** (herhangi bir onay olmadan eklenmiş) **bir e-posta gönderilmiştir**.
@@ -29,17 +29,17 @@ Bunun geçmişte nasıl çalıştığını kontrol edebilirsiniz: [https://www.y ## Google Doc Phishing -Geçmişte, **görünüşte meşru bir belge** oluşturmak ve bir yorumda **bazı e-postaları (örneğin @user@gmail.com)** belirtmek mümkündü. Google, **o e-posta adresine** belgedeki bahsedildiğini bildiren bir e-posta gönderdi.\ -Günümüzde bu çalışmıyor ama eğer **kurbanın e-posta erişimini belgeye verirseniz**, Google bununla ilgili bir e-posta gönderecektir. Birini bahsettiğinizde görünen mesaj şudur: +Geçmişte, **görünüşte meşru bir belge** oluşturmak ve bir yorumda **bazı e-postaları (örneğin @user@gmail.com)** belirtmek mümkündü. Google, o e-posta adresine **belgede bahsedildiğini** bildiren bir e-posta gönderdi.\ +Günümüzde bu çalışmıyor ama eğer **kurbanın e-posta erişimini belgeye verirseniz**, Google bununla ilgili bir e-posta gönderecektir. Birini bahsettiğinizde görünen mesaj budur:
> [!TIP] -> Kurbanların, dış bir belgenin onlarla paylaşıldığını belirten e-postaların e-posta kutularına ulaşmasını engelleyen koruma mekanizmaları olabilir. +> Kurbanların, kendilerine dış bir belgenin paylaşıldığını belirten e-postaların ulaşmasını engelleyen koruma mekanizmaları olabilir. ## Google Calendar Phishing -**Bir takvim etkinliği oluşturabilir** ve saldırdığınız şirketin sahip olduğu kadar e-posta adresi ekleyebilirsiniz. Bu takvim etkinliğini mevcut zamandan **5 veya 15 dakika** sonra planlayın. Etkinliği gerçekçi gösterin ve **okumaları gereken bir şey olduğunu belirten bir yorum ve başlık ekleyin** (ile birlikte **phishing linki**). +**Bir takvim etkinliği oluşturabilir** ve saldırdığınız şirketin sahip olduğu kadar e-posta adresi ekleyebilirsiniz. Bu takvim etkinliğini mevcut zamandan **5 veya 15 dakika** sonra planlayın. Etkinliği gerçekçi gösterin ve **okumaları gereken bir şey olduğunu belirten bir yorum ve başlık ekleyin** (ile **phishing link**). Bu, "İnsanları İşten Çıkarma" başlıklı bir toplantı ile tarayıcıda görünecek uyarıdır, bu nedenle daha phishing benzeri bir başlık ayarlayabilirsiniz (ve hatta e-posta ile ilişkilendirilmiş ismi değiştirebilirsiniz). @@ -47,14 +47,14 @@ Bu, "İnsanları İşten Çıkarma" başlıklı bir toplantı ile tarayıcıda g Daha az şüpheli görünmesi için: -- **Alıcıların diğer davet edilen kişileri göremeyecekleri şekilde ayarlayın.** -- **Etkinlik hakkında bildirim e-postaları göndermeyin.** Böylece, insanlar sadece 5 dakika içinde bir toplantı hakkında uyarı görecek ve o bağlantıyı okumaları gerektiğini bilecekler. +- **Alıcıların diğer davet edilen kişileri göremeyecek şekilde ayarlayın** +- **Etkinlik hakkında bildirim e-postaları göndermeyin**. Böylece, insanlar sadece 5 dakika içinde bir toplantı hakkında uyarı görecek ve o bağlantıyı okumaları gerektiğini bilecekler. - Görünüşe göre API kullanarak **doğru** olarak **insanların** etkinliği **kabul ettiğini** ayarlayabilir ve hatta **onların adına yorumlar oluşturabilirsiniz**. ## App Scripts Redirect Phishing [https://script.google.com/](https://script.google.com/) adresinde bir script oluşturmak ve **herkesin erişebileceği bir web uygulaması olarak sergilemek** mümkündür; bu, meşru alan **`script.google.com`** kullanacaktır.\ -Aşağıdaki gibi bir kod ile bir saldırgan, bu sayfada durmaksızın keyfi içerik yüklemesini sağlayabilir: +Aşağıdaki gibi bir kod ile bir saldırgan, bu sayfada keyfi içerik yüklemesini sağlayabilir ve alanı sürekli olarak erişmeye devam edebilir: ```javascript function doGet() { return HtmlService.createHtmlOutput( @@ -71,7 +71,7 @@ return HtmlService.createHtmlOutput( ## App Scripts OAuth Phishing -Belgelere bağlı App Scripts oluşturmak, kurbanın OAuth token'ına erişim sağlamaya çalışmak mümkündür, daha fazla bilgi için kontrol edin: +Kurbanın OAuth token'ına erişim sağlamak için belgelere bağlı App Scripts oluşturmak mümkündür, daha fazla bilgi için kontrol edin: {{#ref}} gws-app-scripts.md @@ -82,11 +82,11 @@ gws-app-scripts.md Önceki tekniklerden herhangi biri, kullanıcının **Google OAuth uygulamasına** erişmesini sağlamak için kullanılabilir; bu uygulama kullanıcıdan bazı **erişim** talep edecektir. Eğer kullanıcı **kaynağa** **güveniyorsa**, **uygulamaya** da **güvenebilir** (yüksek ayrıcalıklı izinler istese bile). > [!NOTE] -> Google, uygulamanın güvenilir olmadığını belirten çirkin bir uyarı penceresi sunmaktadır ve Workspace yöneticileri, insanların OAuth uygulamalarını kabul etmelerini engelleyebilir. +> Google, uygulamanın güvenilir olmadığını belirten çirkin bir uyarı sunar ve Workspace yöneticileri, insanların OAuth uygulamalarını kabul etmelerini engelleyebilir. **Google**, kullanıcılar adına çeşitli **Google hizmetleri** ile **etkileşimde bulunabilen** uygulamalar oluşturulmasına izin verir: Gmail, Drive, GCP... -Başka kullanıcılar adına **hareket edecek** bir uygulama oluştururken, geliştiricinin **GCP içinde bir OAuth uygulaması** oluşturması ve uygulamanın kullanıcı verilerine erişmesi için gerekli olan kapsamları (izinleri) belirtmesi gerekir.\ +**Diğer kullanıcılar adına** hareket edecek bir uygulama oluştururken, geliştiricinin **GCP içinde bir OAuth uygulaması** oluşturması ve uygulamanın kullanıcı verilerine erişmesi için gerekli olan kapsamları (izinleri) belirtmesi gerekir.\ Bir **kullanıcı**, o **uygulamayı** **kullanmak** istediğinde, kendilerine belirtilen kapsamlar dahilinde uygulamanın verilerine erişim sağlayacağını **kabul etmeleri** için **istek** alacaklardır. Bu, teknik bilgisi olmayan kullanıcıları **hassas bilgilere erişen uygulamaları kullanmaya** **phish** etmek için çok cazip bir yoldur çünkü sonuçları anlamayabilirler. Ancak, organizasyon hesaplarında bunun olmasını önlemenin yolları vardır. @@ -98,7 +98,7 @@ Daha önce belirtildiği gibi, Google her zaman kullanıcının uygulamaya verdi Bu istem, aşağıdaki durumlarda uygulamalarda görünür: - Özel verilere erişebilen herhangi bir kapsam kullanıyorsa (Gmail, Drive, GCP, BigQuery...) -- 100'den az kullanıcıya sahip uygulamalar (100'den fazla kullanıcıya sahip uygulamalar için doğrulama süreci de gereklidir, böylece doğrulanmamış istem gösterilmez) +- 100'den az kullanıcıya sahip uygulamalar (100'den fazla kullanıcıya sahip uygulamalar için doğrulama süreci de gereklidir, böylece doğrulanmamış istemi göstermeyi durdurur) ### İlginç Kapsamlar @@ -112,11 +112,11 @@ Bu istem, aşağıdaki durumlarda uygulamalarda görünür: **Bir OAuth Client ID oluşturmaya başlayın** 1. [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient) adresine gidin ve onay ekranını yapılandırmak için tıklayın. -2. Ardından, **kullanıcı türünün** **içsel** (sadece kuruluşunuzdaki kişiler için) mi yoksa **dışsal** mı olduğunu sorulacaktır. İhtiyacınıza uygun olanı seçin. +2. Ardından, **kullanıcı türünün** **içsel** (sadece kuruluşunuzdaki kişiler için) mi yoksa **dışsal** mı olduğunu soracaktır. İhtiyacınıza uygun olanı seçin. - İçsel, eğer kuruluşun bir kullanıcısını zaten ele geçirdiyseniz ve bu uygulamayı başka birini **phish** etmek için oluşturuyorsanız ilginç olabilir. 3. Uygulamaya bir **isim** verin, bir **destek e-postası** (kendinizi biraz daha anonimleştirmek için bir googlegroup e-postası ayarlayabileceğinizi unutmayın), bir **logo**, **yetkili alanlar** ve **güncellemeler** için başka bir **e-posta** verin. 4. **OAuth kapsamlarını** **seçin**. -- Bu sayfa, hassas izinler, hassas olmayan izinler ve kısıtlı izinler olarak üçe ayrılmıştır. Her yeni izin eklediğinizde, kendi kategorisine eklenir. İstenen izinlere bağlı olarak, kullanıcının bu izinlerin ne kadar hassas olduğunu belirten farklı istemler görünecektir. +- Bu sayfa, hassas izinler, hassas olmayan izinler ve kısıtlı izinler olarak üçe ayrılmıştır. Her yeni izin eklediğinizde, kendi kategorisine eklenir. İstenen izinlere bağlı olarak, kullanıcılara bu izinlerin ne kadar hassas olduğunu belirten farklı istemler görünecektir. - Hem **`admin.directory.user.readonly`** hem de **`cloud-platform`** hassas izinlerdir. 5. **Test kullanıcılarını ekleyin.** Uygulamanın durumu test aşamasındayken, yalnızca bu kullanıcılar uygulamaya erişebilecektir, bu nedenle **phish edeceğiniz e-postayı eklemeyi unutmayın**. @@ -142,7 +142,7 @@ python3 app.py --client-id "" --client-secret "" Uygulama, kolayca kullanılabilecek **erişim ve yenileme token'larını** gösterecektir. **Bu token'ları nasıl kullanacağınız hakkında daha fazla bilgi için kontrol edin**: {{#ref}} -../../gcp-security/gcp-persistence/gcp-non-svc-persistance.md +../../gcp-security/gcp-persistence/gcp-non-svc-persistence.md {{#endref}} #### `glcoud` Kullanımı @@ -156,6 +156,6 @@ Web konsolu yerine gcloud kullanarak bir şeyler yapmak mümkündür, kontrol ed ## Referanslar - [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic -- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch ve Beau Bullock - OK Google, GSuite'i Kırmak için Ne Yapmalıyım? +- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch ve Beau Bullock - OK Google, GSuite'i Kırmızı Takım Olarak Nasıl Ele Geçiririm? {{#include ../../../banners/hacktricks-training.md}}