GWS - Google Platforms Phishing

Tip

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)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Generic Phishing Methodology

Phishing Methodology - HackTricks

Google Groups Phishing

Görünüşe göre, varsayılan olarak, workspace üyeleri gruplar oluşturabilir 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 (herhangi bir onay olmadan eklenmiş) bir e-posta gönderilmiştir.

Google Chat Phishing

Bir kişinin e-posta adresine sahip olarak bir sohbet başlatabilir veya konuşma daveti gönderebilirsiniz. Ayrıca, herhangi bir isimle (örneğin “Google Destek”) bir Alan oluşturmak ve üye davet etmek mümkündür. Kabul ederlerse, Google Destek ile konuşuyorlarmış gibi düşünebilirler:

Tip

Ancak testlerimde davet edilen üyeler davet bile almadı.

Bunun geçmişte nasıl çalıştığını kontrol edebilirsiniz: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s

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 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, 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 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).

Daha az şüpheli görünmesi için:

  • 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/ 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 keyfi içerik yüklemesini sağlayabilir ve alanı sürekli olarak erişmeye devam edebilir:

function doGet() {
return HtmlService.createHtmlOutput(
'<meta http-equiv="refresh" content="0;url=https://cloud.hacktricks.wiki/en/pentesting-cloud/workspace-security/gws-google-platforms-phishing/index.html#app-scripts-redirect-phishing">'
).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}

Örneğin https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec adresine eriştiğinizde şunları göreceksiniz:

Tip

İçerik bir iframe içinde yüklendiğinde bir uyarı belirecektir.

App Scripts OAuth Phishing

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:

GWS - App Scripts

OAuth Apps Phishing

Ö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ı 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…

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.

Doğrulanmamış Uygulama İsteği

Daha önce belirtildiği gibi, Google her zaman kullanıcının uygulamaya verdikleri izinleri kabul etmesi için bir istem sunacaktır. Ancak, uygulama tehlikeli olarak kabul edilirse, Google önce tehlikeli olduğunu belirten bir istek gösterecek ve kullanıcının uygulamaya izin vermesini daha zor hale getirecektir.

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ış istemi göstermeyi durdurur)

İlginç Kapsamlar

Burada tüm Google OAuth kapsamlarının bir listesini bulabilirsiniz.

  • cloud-platform: Google Cloud Platform hizmetleri arasında verilerinizi görüntüleyin ve yönetin. GCP’de kullanıcıyı taklit edebilirsiniz.
  • admin.directory.user.readonly: Kuruluşunuzun GSuite dizinini görüntüleyin ve indirin. Tüm kullanıcıların isimlerini, telefonlarını, takvim URL’lerini alın.

OAuth Uygulaması Oluşturma

Bir OAuth Client ID oluşturmaya başlayın

  1. 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 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.
  1. 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.
  2. 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ı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.
  1. 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.

Şimdi önceden oluşturulan OAuth Client ID kullanarak bir web uygulaması için kimlik bilgileri alalım:

  1. https://console.cloud.google.com/apis/credentials/oauthclient adresine geri dönün, bu sefer farklı bir seçenek görünecektir.
  2. Web uygulaması için kimlik bilgileri oluşturmayı seçin.
  3. Gerekli Javascript kökenlerini ve yönlendirme URI’lerini ayarlayın.
  • Test için her ikisine de http://localhost:8000/callback gibi bir şey ayarlayabilirsiniz.
  1. Uygulamanızın kimlik bilgilerini alın.

Son olarak, OAuth uygulama kimlik bilgilerini kullanacak bir web uygulaması çalıştırın. Bir örneği https://github.com/carlospolop/gcp_oauth_phishing_example adresinde bulabilirsiniz.

git clone ttps://github.com/carlospolop/gcp_oauth_phishing_example
cd gcp_oauth_phishing_example
pip install flask requests google-auth-oauthlib
python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"

http://localhost:8000 adresine gidin, Google ile Giriş yap butonuna tıklayın, size bu gibi bir mesaj gösterilecektir:

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:

GCP - Token Persistence

glcoud Kullanımı

Web konsolu yerine gcloud kullanarak bir şeyler yapmak mümkündür, kontrol edin:

GCP - ClientAuthConfig Privesc

Referanslar

Tip

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)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin