GWS - Google Platforms Phishing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Здається, за замовчуванням, у workspace учасники можуть створювати групи та запрошувати людей до них. Потім ви можете змінити електронну пошту, яка буде надіслана користувачу, додавши деякі посилання. Електронна пошта буде надіслана з адреси google, тому вона виглядатиме легітимно, і люди можуть натиснути на посилання.
Також можливо встановити FROM адресу як електронну пошту групи Google, щоб надіслати більше електронних листів користувачам всередині групи, як на наступному зображенні, де група google--support@googlegroups.com
була створена, і електронний лист був надісланий всім членам групи (які були додані без будь-якої згоди)
Ви можете або почати чат з людиною, просто маючи її електронну адресу, або надіслати запрошення на розмову. Більше того, можливо створити Простір, який може мати будь-яку назву (наприклад, "Google Support") і запросити членів до нього. Якщо вони приймуть, вони можуть подумати, що спілкуються з Google Support:
Однак у моєму тестуванні запрошені члени навіть не отримали запрошення.
Ви можете перевірити, як це працювало в минулому за адресою: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
Раніше було можливо створити здається легітимний документ і в коментарі згадати якусь електронну пошту (наприклад, @user@gmail.com). Google надіслав електронний лист на цю електронну адресу, повідомляючи, що вони були згадані в документі. Сьогодні це не працює, але якщо ви надасте жертві доступ до документа, Google надішле електронний лист, вказуючи на це. Це повідомлення, яке з'являється, коли ви згадуєте когось:
Жертви можуть мати механізм захисту, який не дозволяє електронним листам, що вказують на те, що зовнішній документ був поділений з ними, досягати їхньої електронної пошти.
Ви можете створити подію в календарі і додати стільки електронних адрес компанії, яку ви атакуєте, скільки у вас є. Заплануйте цю подію в календарі на 5 або 15 хвилин від поточного часу. Зробіть подію виглядати легітимно і додайте коментар та заголовок, вказуючи, що їм потрібно прочитати щось (з фішинговим посиланням).
Це попередження, яке з'явиться в браузері з заголовком зустрічі "Звільнення людей", тому ви могли б встановити більш фішинговий заголовок (і навіть змінити ім'я, пов'язане з вашою електронною поштою).
Щоб це виглядало менш підозріло:
Налаштуйте так, щоб отримувачі не могли бачити інших запрошених людей
НЕ надсилайте електронні листи, що повідомляють про подію. Тоді люди побачать лише своє попередження про зустріч через 5 хвилин і що їм потрібно прочитати це посилання.
Здається, використовуючи API, ви можете встановити True, що люди прийняли подію і навіть створити коментарі від їхнього імені.
Можливо створити скрипт на https://script.google.com/ і виставити його як веб-додаток, доступний для всіх, який використовуватиме легітимний домен script.google.com
.
З деяким кодом, як наведено нижче, зловмисник може змусити скрипт завантажувати довільний вміст на цій сторінці без зупинки доступу до домену:
Наприклад, отримавши доступ до https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec, ви побачите:
Зверніть увагу, що з'явиться попередження, коли вміст завантажується всередині iframe.
Можливо створити App Scripts, прикріплені до документів, щоб спробувати отримати доступ до OAuth токена жертви, для отримання додаткової інформації перегляньте:
GWS - App ScriptsБудь-яка з попередніх технік може бути використана, щоб змусити користувача отримати доступ до Google OAuth додатку, який запитуватиме у користувача деякі доступи. Якщо користувач довіряє джерелу, він може довіряти додатку (навіть якщо він запитує високі привілейовані дозволи).
Зверніть увагу, що Google показує непривабливе вікно з попередженням, що додаток є ненадійним у кількох випадках, а адміністратори Workspace можуть навіть заборонити людям приймати OAuth додатки.
Google дозволяє створювати додатки, які можуть взаємодіяти від імені користувачів з кількома сервісами Google: Gmail, Drive, GCP...
Коли створюється додаток, щоб діяти від імені інших користувачів, розробник повинен створити OAuth додаток всередині GCP і вказати області (дозволи), які додаток потребує для доступу до даних користувачів. Коли користувач хоче використовувати цей додаток, йому буде запропоновано прийняти, що додаток матиме доступ до їхніх даних, зазначених в областях.
Це дуже привабливий спосіб фішингу нетехнічних користувачів для використання додатків, які отримують доступ до чутливої інформації, оскільки вони можуть не розуміти наслідків. Однак в облікових записах організацій є способи запобігти цьому.
Як було згадано, Google завжди показуватиме вікно для користувача, щоб прийняти дозволи, які вони надають додатку від їхнього імені. Однак, якщо додаток вважається небезпечним, Google спочатку покаже вікно, яке вказує, що воно небезпечне і ускладнює користувачу надання дозволів додатку.
Це вікно з'являється в додатках, які:
Використовують будь-яку область, яка може отримати доступ до приватних даних (Gmail, Drive, GCP, BigQuery...)
Додатки з менш ніж 100 користувачами (додатки > 100 також потребують процесу перевірки, щоб зупинити показ неперевіреного вікна)
Тут ви можете знайти список усіх областей Google OAuth.
cloud-platform: Перегляд та управління вашими даними в сервісах Google Cloud Platform. Ви можете видавати себе за користувача в GCP.
admin.directory.user.readonly: Перегляд та завантаження каталогу GSuite вашої організації. Отримайте імена, телефони, URL-адреси календарів усіх користувачів.
Почніть створення OAuth Client ID
Перейдіть на https://console.cloud.google.com/apis/credentials/oauthclient і натисніть на налаштування екрана згоди.
Потім вам буде запропоновано вказати, чи є тип користувача внутрішнім (тільки для людей у вашій організації) чи зовнішнім. Виберіть той, який відповідає вашим потребам
Внутрішній може бути цікавим, якщо ви вже скомпрометували користувача організації і створюєте цей додаток, щоб фішити іншого.
Дайте ім'я додатку, електронну пошту підтримки (зверніть увагу, що ви можете вказати електронну пошту googlegroup, щоб спробувати трохи анонімізувати себе), логотип, дозволені домени та іншу електронну пошту для оновлень.
Виберіть OAuth області.
Ця сторінка поділена на неделікатні дозволи, делікатні дозволи та обмежені дозволи. Кожного разу, коли ви додаєте новий дозвіл, він додається до своєї категорії. В залежності від запитуваних дозволів різні вікна з'являться для користувача, вказуючи, наскільки чутливими є ці дозволи.
Як admin.directory.user.readonly
, так і cloud-platform
є делікатними дозволами.
Додайте тестових користувачів. Поки статус додатку є тестовим, лише ці користувачі зможуть отримати доступ до додатку, тому переконайтеся, що додали електронну пошту, яку ви збираєтеся фішити.
Тепер давайте отримати облікові дані для веб-додатку, використовуючи раніше створений OAuth Client ID:
Поверніться на https://console.cloud.google.com/apis/credentials/oauthclient, цього разу з'явиться інша опція.
Виберіть створити облікові дані для веб-додатку
Встановіть необхідні Javascript origins та redirect URIs
Ви можете вказати в обох щось на кшталт http://localhost:8000/callback
для тестування
Отримайте свої облікові дані додатку
Нарешті, давайте запустимо веб-додаток, який використовуватиме облікові дані OAuth додатку. Ви можете знайти приклад на https://github.com/carlospolop/gcp_oauth_phishing_example.
Перейдіть на http://localhost:8000
, натисніть кнопку Увійти з Google, вам буде предложено повідомлення, подібне до цього:
Додаток покаже токен доступу та токен оновлення, які можна легко використовувати. Для отримання додаткової інформації про те, як використовувати ці токени, перевірте:
GCP - Token Persistanceglcoud
Можливо зробити щось, використовуючи gcloud замість веб-консолі, перевірте:
GCP - ClientAuthConfig Priveschttps://www.youtube-nocookie.com/embed/6AsVUS79gLw - Метью Брайант - Хакінг G Suite: Сила темної магії Apps Script
https://www.youtube.com/watch?v=KTVHLolz6cE - Майк Фелч і Боу Буллок - ОК Google, як мені провести Red Team GSuite?
Вивчайте та практикуйте хакінг AWS:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте хакінг GCP: HackTricks Training GCP Red Team Expert (GRTE)