GWS - Google Platforms Phishing

Reading time: 11 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Generic Phishing Methodology

Phishing Methodology - HackTricks

Google Groups Phishing

स्पष्ट रूप से, डिफ़ॉल्ट रूप से, workspace सदस्यों समूह बना सकते हैं और लोगों को आमंत्रित कर सकते हैं। आप फिर उस ईमेल को संशोधित कर सकते हैं जो उपयोगकर्ता को भेजा जाएगा कुछ लिंक जोड़कर। ईमेल एक गूगल पते से आएगा, इसलिए यह वैध लगेगा और लोग लिंक पर क्लिक कर सकते हैं।

यह भी संभव है कि FROM पते को Google समूह ईमेल के रूप में सेट किया जाए ताकि समूह के अंदर उपयोगकर्ताओं को अधिक ईमेल भेजे जा सकें, जैसे कि निम्नलिखित छवि में जहां समूह google--support@googlegroups.com बनाया गया था और समूह के सभी सदस्यों को ईमेल भेजा गया (जो बिना किसी सहमति के जोड़े गए थे)

Google Chat Phishing

आप किसी व्यक्ति के साथ चैट शुरू करने में सक्षम हो सकते हैं बस उनके ईमेल पते को लेकर या बात करने के लिए आमंत्रण भेज सकते हैं। इसके अलावा, यह संभव है कि एक स्पेस बनाएँ जिसका कोई भी नाम हो सकता है (जैसे "Google Support") और इसमें सदस्यों को आमंत्रित करें। यदि वे स्वीकार करते हैं तो वे सोच सकते हैं कि वे Google Support से बात कर रहे हैं:

tip

हालांकि, मेरे परीक्षण में आमंत्रित सदस्यों को तो आमंत्रण भी नहीं मिला।

आप देख सकते हैं कि यह पहले कैसे काम करता था: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s

Google Doc Phishing

पहले यह संभव था कि एक स्पष्ट रूप से वैध दस्तावेज़ बनाया जाए और एक टिप्पणी में कुछ ईमेल (जैसे @user@gmail.com) का उल्लेख किया जाए। Google उस ईमेल पते पर एक ईमेल भेजता था यह सूचित करते हुए कि उन्हें दस्तावेज़ में उल्लेखित किया गया था।
आजकल, यह काम नहीं करता लेकिन यदि आप शिकार को दस्तावेज़ तक पहुंच देते हैं तो Google एक ईमेल भेजेगा जो यह संकेत करेगा। यह वह संदेश है जो तब दिखाई देता है जब आप किसी का उल्लेख करते हैं:

tip

शिकारियों के पास सुरक्षा तंत्र हो सकता है जो यह अनुमति नहीं देता कि यह ईमेल उनके ईमेल तक पहुंचे जो यह संकेत करते हैं कि एक बाहरी दस्तावेज़ उनके साथ साझा किया गया था।

Google Calendar Phishing

आप एक कैलेंडर इवेंट बना सकते हैं और जितने भी ईमेल पते हैं उन सभी को जोड़ सकते हैं जिनका आप हमला कर रहे हैं। इस कैलेंडर इवेंट को वर्तमान समय से 5 या 15 मिनट में शेड्यूल करें। इवेंट को वैध दिखाने के लिए बनाएं और एक टिप्पणी और एक शीर्षक डालें जो यह संकेत करे कि उन्हें कुछ पढ़ना है (साथ में फिशिंग लिंक).

यह वह चेतावनी है जो ब्राउज़र में "Firing People" मीटिंग शीर्षक के साथ दिखाई देगी, इसलिए आप एक अधिक फिशिंग जैसा शीर्षक सेट कर सकते हैं (और यहां तक कि अपने ईमेल से जुड़े नाम को भी बदल सकते हैं)।

इसे कम संदिग्ध दिखाने के लिए:

  • इसे इस तरह सेट करें कि प्राप्तकर्ता अन्य आमंत्रित लोगों को न देख सकें
  • ईवेंट के बारे में सूचनाएं न भेजें। फिर, लोग केवल 5 मिनट में एक मीटिंग के बारे में अपनी चेतावनी देखेंगे और उन्हें उस लिंक को पढ़ने की आवश्यकता होगी।
  • स्पष्ट रूप से API का उपयोग करके आप सत्य सेट कर सकते हैं कि लोगों ने इवेंट को स्वीकृत किया है और यहां तक कि उनके पक्ष में टिप्पणियाँ भी बना सकते हैं

App Scripts Redirect Phishing

यह संभव है कि https://script.google.com/ में एक स्क्रिप्ट बनाई जाए और इसे एक वेब एप्लिकेशन के रूप में उजागर किया जाए जो सभी के लिए सुलभ हो जो वैध डोमेन script.google.com का उपयोग करेगा।
इसके साथ कुछ कोड जैसे निम्नलिखित एक हमलावर को इस पृष्ठ में मनमाने सामग्री को लोड करने के लिए स्क्रिप्ट बनाने की अनुमति दे सकता है बिना डोमेन तक पहुंच को रोके:

javascript
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)
}

उदाहरण के लिए https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec पर पहुँचने पर आप देखेंगे:

tip

ध्यान दें कि जब सामग्री एक iframe के अंदर लोड होती है तो एक चेतावनी दिखाई देगी।

ऐप स्क्रिप्ट OAuth फ़िशिंग

ऐप स्क्रिप्ट बनाना संभव है जो दस्तावेज़ों से जुड़े होते हैं ताकि पीड़ित के OAuth टोकन तक पहुँच प्राप्त करने की कोशिश की जा सके, अधिक जानकारी के लिए देखें:

GWS - App Scripts

OAuth ऐप्स फ़िशिंग

पिछले किसी भी तकनीक का उपयोग उपयोगकर्ता को एक Google OAuth एप्लिकेशन तक पहुँचने के लिए किया जा सकता है जो उपयोगकर्ता से कुछ एक्सेस अनुरोध करेगा। यदि उपयोगकर्ता स्रोत पर विश्वास करता है तो वह एप्लिकेशन पर भी विश्वास कर सकता है (भले ही यह उच्च विशेषाधिकार प्राप्त अनुमतियों के लिए पूछ रहा हो)।

note

ध्यान दें कि Google कई मामलों में एक भद्दा प्रॉम्प्ट प्रस्तुत करता है जो चेतावनी देता है कि एप्लिकेशन अविश्वसनीय है और Workspace प्रशासक यहां तक कि लोगों को OAuth एप्लिकेशन स्वीकार करने से रोक सकते हैं।

Google उपयोगकर्ताओं की ओर से कई Google सेवाओं के साथ संवाद करने के लिए एप्लिकेशन बनाने की अनुमति देता है: Gmail, Drive, GCP...

जब किसी एप्लिकेशन को अन्य उपयोगकर्ताओं की ओर से कार्य करने के लिए बनाया जाता है, तो डेवलपर को GCP के अंदर एक OAuth ऐप बनाना होगा और उन स्कोप (अनुमतियों) को निर्दिष्ट करना होगा जिनकी ऐप को उपयोगकर्ताओं के डेटा तक पहुँचने की आवश्यकता है।
जब एक उपयोगकर्ता उस एप्लिकेशन का उपयोग करना चाहता है, तो उन्हें स्वीकृति देने के लिए प्रॉम्प्ट किया जाएगा कि एप्लिकेशन उनके डेटा तक पहुँच प्राप्त करेगा जो स्कोप में निर्दिष्ट है।

यह फिशिंग गैर-तकनीकी उपयोगकर्ताओं को संवेदनशील जानकारी तक पहुँचने वाले एप्लिकेशन का उपयोग करने के लिए एक बहुत ही आकर्षक तरीका है क्योंकि वे परिणामों को नहीं समझ सकते। हालाँकि, संगठनों के खातों में, इसे होने से रोकने के तरीके हैं।

अविश्वसनीय ऐप प्रॉम्प्ट

जैसा कि उल्लेख किया गया था, Google हमेशा उपयोगकर्ता को अनुमतियों को स्वीकार करने के लिए प्रॉम्प्ट करेगा जो वे एप्लिकेशन को अपनी ओर से दे रहे हैं। हालाँकि, यदि एप्लिकेशन को खतरनाक माना जाता है, तो Google पहले प्रॉम्प्ट दिखाएगा जो यह संकेत देगा कि यह खतरनाक है और उपयोगकर्ता के लिए ऐप को अनुमतियाँ देने में अधिक कठिनाई पैदा करेगा।

यह प्रॉम्प्ट उन ऐप्स में दिखाई देता है:

  • कोई भी स्कोप जो निजी डेटा (Gmail, Drive, GCP, BigQuery...) तक पहुँच सकता है
  • 100 से कम उपयोगकर्ताओं वाले ऐप्स (100 से अधिक उपयोगकर्ताओं वाले ऐप्स के लिए एक समीक्षा प्रक्रिया भी आवश्यक है ताकि अविश्वसनीय प्रॉम्प्ट दिखाना बंद किया जा सके)

दिलचस्प स्कोप

यहाँ आप सभी Google OAuth स्कोप की सूची पा सकते हैं।

  • cloud-platform: अपने डेटा को Google Cloud Platform सेवाओं के बीच देखें और प्रबंधित करें। आप GCP में उपयोगकर्ता का प्रतिनिधित्व कर सकते हैं।
  • admin.directory.user.readonly: अपने संगठन के GSuite निर्देशिका को देखें और डाउनलोड करें। सभी उपयोगकर्ताओं के नाम, फोन, कैलेंडर यूआरएल प्राप्त करें।

एक OAuth ऐप बनाएं

OAuth क्लाइंट आईडी बनाना शुरू करें

  1. https://console.cloud.google.com/apis/credentials/oauthclient पर जाएं और सहमति स्क्रीन को कॉन्फ़िगर करने पर क्लिक करें।
  2. फिर, आपसे पूछा जाएगा कि उपयोगकर्ता प्रकार आंतरिक (केवल आपके संगठन के लोगों के लिए) है या बाहरी। उस विकल्प का चयन करें जो आपकी आवश्यकताओं के अनुसार हो
  • आंतरिक तब दिलचस्प हो सकता है जब आपने पहले ही संगठन के एक उपयोगकर्ता को समझौता कर लिया है और आप इस ऐप को दूसरे को फिश करने के लिए बना रहे हैं।
  1. ऐप को एक नाम दें, एक समर्थन ईमेल (ध्यान दें कि आप खुद को थोड़ा और अनाम करने के लिए एक गूगल ग्रुप ईमेल सेट कर सकते हैं), एक लोगो, अधिकृत डोमेन और अपडेट्स के लिए एक और ईमेल दें।
  2. OAuth स्कोप का चयन करें।
  • यह पृष्ठ गैर-संवेदनशील अनुमतियों, संवेदनशील अनुमतियों और प्रतिबंधित अनुमतियों में विभाजित है। हर बार जब आप एक नई अनुमति जोड़ते हैं, तो यह उसकी श्रेणी में जोड़ी जाती है। अनुरोधित अनुमतियों के आधार पर उपयोगकर्ता को विभिन्न प्रॉम्प्ट दिखाई देंगे जो यह संकेत देते हैं कि ये अनुमतियाँ कितनी संवेदनशील हैं।
  • दोनों admin.directory.user.readonly और cloud-platform संवेदनशील अनुमतियाँ हैं।
  1. परीक्षण उपयोगकर्ताओं को जोड़ें। जब तक ऐप की स्थिति परीक्षण में है, केवल ये उपयोगकर्ता ऐप तक पहुँचने में सक्षम होंगे इसलिए सुनिश्चित करें कि उस ईमेल को जोड़ें जिसे आप फिश करने जा रहे हैं

अब हम पिछले बनाए गए OAuth क्लाइंट आईडी का उपयोग करके वेब एप्लिकेशन के लिए क्रेडेंशियल्स प्राप्त करें:

  1. https://console.cloud.google.com/apis/credentials/oauthclient पर वापस जाएं, इस बार एक अलग विकल्प दिखाई देगा।
  2. वेब एप्लिकेशन के लिए क्रेडेंशियल्स बनाने का चयन करें
  3. आवश्यक जावास्क्रिप्ट मूल और रीडायरेक्ट यूआरआई सेट करें
  • आप परीक्षण के लिए दोनों में कुछ ऐसा सेट कर सकते हैं जैसे http://localhost:8000/callback
  1. अपने एप्लिकेशन के क्रेडेंशियल्स प्राप्त करें

अंत में, चलिए एक वेब एप्लिकेशन चलाते हैं जो OAuth एप्लिकेशन क्रेडेंशियल्स का उपयोग करेगा। आप एक उदाहरण https://github.com/carlospolop/gcp_oauth_phishing_example में पा सकते हैं।

bash
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 पर जाएं और Google के साथ लॉगिन बटन पर क्लिक करें, आपको इस तरह का एक संदेश प्रदर्शित किया जाएगा:

ऐप्लिकेशन एक्सेस और रिफ्रेश टोकन दिखाएगा जिसे आसानी से उपयोग किया जा सकता है। इन टोकनों का उपयोग कैसे करें, इसकी अधिक जानकारी के लिए देखें:

GCP - Token Persistence

glcoud का उपयोग करना

वेब कंसोल के बजाय gcloud का उपयोग करके कुछ करना संभव है, देखें:

GCP - ClientAuthConfig Privesc

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें