GWS - Google Platforms Phishing

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Загальна методологія фішингу

Фішинг в Google Groups

Здається, за замовчуванням у членів робочого простору можуть створюватися групи та запрошувати людей до них. Потім ви можете змінити електронний лист, який буде відправлений користувачеві, додавши деякі посилання. Лист буде відправлений з адреси Google, тому він виглядатиме легітимно, і люди можуть натиснути на посилання.

Також можливо встановити адресу FROM як електронну адресу групи Google, щоб відправити більше листів користувачам всередині групи, як на наступному зображенні, де була створена група google--support@googlegroups.com і лист був відправлений усім членам групи (які були додані без будь-якої згоди)

Фішинг в Google Chat

Можливо, ви зможете або розпочати чат з особою, просто маючи їхню електронну адресу, або відправити запрошення на розмову. Крім того, можливо створити простір, який може мати будь-яку назву (наприклад, "Підтримка Google") і запросити учасників. Якщо вони приймуть, вони можуть подумати, що розмовляють з підтримкою Google:

Проте, під час мого тестування запрошені учасники навіть не отримали запрошення.

Ви можете перевірити, як це працювало раніше за посиланням: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s

Фішинг в Google Doc

Раніше було можливо створити здавалося б, легітимний документ і в коментарі згадати деяку електронну адресу (наприклад, @user@gmail.com). Google відправляв лист на цю адресу електронної пошти, повідомляючи, що їх згадали в документі. В наш час це не працює, але якщо ви надасте доступ до документу пошкодженому, Google відправить лист, що це підтверджує. Ось повідомлення, яке з'являється, коли ви згадуєте когось:

У жертв можуть бути механізми захисту, які не дозволяють листи, що підтверджують, що зовнішній документ був надісланий їм, досягати їхньої електронної пошти.

Фішинг в Google Calendar

Ви можете створити подію в календарі та додати стільки електронних адрес компанії, яку ви атакуєте, скільки потрібно. Заплануйте цю подію в 5 або 15 хвилин від поточного часу. Зробіть подію виглядати легітимно та додайте коментар та заголовок, що вказує, що їм потрібно щось прочитатифішинговим посиланням).

Це сповіщення, яке з'явиться в браузері з заголовком зустрічі "Звільнення людей", тому ви можете встановити більш фішинговий заголовок (і навіть змінити ім'я, пов'язане з вашою електронною поштою).

Щоб зробити це менш підозрілим:

  • Налаштуйте його так, щоб одержувачі не могли бачити інших запрошених людей

  • НЕ відправляйте листи, що повідомляють про подію. Тоді люди побачать лише попередження про зустріч через 5 хвилин і те, що їм потрібно прочитати це посилання.

  • Здається, використовуючи API, ви можете встановити, що люди прийняли подію і навіть створити коментарі від їх імені.

Фішинг перенаправленням App Scripts

Можливо створити скрипт на https://script.google.com/ та викласти його як веб-додаток, доступний для всіх, який буде використовувати легітимний домен script.google.com. Потім з деяким кодом, подібним до наступного, зловмисник може зробити так, щоб скрипт завантажував довільний вміст на цій сторінці без зупинки доступу до домену:

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

Наприклад, доступ до https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec ви побачите:

Зверніть увагу, що з'явиться попередження, оскільки вміст завантажується всередині iframe.

Оскарження OAuth за допомогою App Scripts

Можливо створити App Scripts, прикріплені до документів, щоб спробувати отримати доступ до токена OAuth жертви, для отримання додаткової інформації перевірте:

Оскарження OAuth Apps

Будь-яку з попередніх технік можна використовувати для того, щоб змусити користувача отримати доступ до додатку 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-додатку

Почніть створювати ідентифікатор клієнта OAuth

  1. Перейдіть за посиланням https://console.cloud.google.com/apis/credentials/oauthclient та натисніть на налаштування екрану згоди.

  2. Потім вас запитають, чи тип користувача є внутрішнім (тільки для людей у вашій організації) або зовнішнім. Виберіть той, який відповідає вашим потребам

  • Внутрішній може бути цікавим, якщо ви вже скомпрометували користувача організації і створюєте цей додаток для фішингу іншого.

  1. Дайте назву додатку, підтримку електронної пошти (зверніть увагу, що ви можете встановити електронну пошту googlegroup, щоб спробувати анонімізувати себе трохи більше), логотип, авторизовані домени та іншу електронну пошту для оновлень.

  2. Виберіть обсяги OAuth.

  • Ця сторінка розділена на нечутливі дозволи, чутливі дозволи та обмежені дозволи. Кожного разу, коли ви додаєте новий дозвіл, він додається у свою категорію. Залежно від запитаних дозволів користувачеві буде показано різні підказки, які вказують, наскільки чутливі ці дозволи.

  • Як admin.directory.user.readonly, так і cloud-platform є чутливими дозволами.

  1. Додайте тестових користувачів. Поки статус додатка тестування, лише ці користувачі зможуть отримати доступ до додатка, тому переконайтеся, що додаєте електронну пошту, яку збираєтеся фішити.

Тепер давайте отримаємо облікові дані для веб-додатка, використовуючи раніше створений ідентифікатор клієнта OAuth:

  1. Поверніться за посиланням https://console.cloud.google.com/apis/credentials/oauthclient, на цей раз з'явиться інша опція.

  2. Виберіть створити облікові дані для веб-додатка

  3. Встановіть необхідні Javascript походження та URI перенаправлення

  • Ви можете встановити в обох щось на кшталт http://localhost:8000/callback для тестування

  1. Отримайте облікові дані вашого додатка

Наостанок, давайте запустимо веб-додаток, який використовуватиме облікові дані OAuth-додатка. Приклад можна знайти за посиланням https://github.com/carlospolop/gcp_oauth_phishing_example.

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, ви побачите повідомлення на зразок цього:

Додаток покаже токени доступу та оновлення, які можна легко використовувати. Для отримання додаткової інформації про використання цих токенів перевірте:

Використання gcloud

Можливо виконати щось за допомогою gcloud замість веб-консолі, перевірте:

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated