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
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
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.
 (1).png)
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:
.png)
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:
.png)
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).
.png)
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:
 (1).png)
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:
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
- https://console.cloud.google.com/apis/credentials/oauthclient adresine gidin ve onay ekranını yapılandırmak için tıklayın.
- 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.
- 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.
- 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.readonlyhem decloud-platformhassas izinlerdir.
- 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:
- https://console.cloud.google.com/apis/credentials/oauthclient adresine geri dönün, bu sefer farklı bir seçenek görünecektir.
- Web uygulaması için kimlik bilgileri oluşturmayı seçin.
- Gerekli Javascript kökenlerini ve yönlendirme URI’lerini ayarlayın.
- Test için her ikisine de
http://localhost:8000/callbackgibi bir şey ayarlayabilirsiniz.
- 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:
.png)
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:
glcoud Kullanımı
Web konsolu yerine gcloud kullanarak bir şeyler yapmak mümkündür, kontrol edin:
GCP - ClientAuthConfig Privesc
Referanslar
- 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 - Mike Felch ve Beau Bullock - OK Google, GSuite’i Kırmızı Takım Olarak Nasıl Ele Geçiririm?
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
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

