Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe

This commit is contained in:
Translator
2025-01-02 00:06:10 +00:00
parent 92eaf7ce11
commit 210c27fffb
217 changed files with 1796 additions and 1807 deletions

View File

@@ -12,7 +12,7 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodo
Очевидно, за замовчуванням, у workspace учасники [**можуть створювати групи**](https://groups.google.com/all-groups) **та запрошувати людей до них**. Ви можете змінити електронну пошту, яка буде надіслана користувачу, **додавши деякі посилання.** **Електронна пошта буде надіслана з адреси google**, тому вона виглядатиме **легітимно**, і люди можуть натиснути на посилання.
Також можливо встановити **FROM** адресу як **електронну пошту групи Google**, щоб надіслати **більше електронних листів користувачам всередині групи**, як на наступному зображенні, де група **`google--support@googlegroups.com`** була створена, і **електронний лист був надісланий всім учасникам** групи (які були додані без будь-якої згоди)
Також можливо встановити адресу **FROM** як **електронну пошту Google групи**, щоб надіслати **більше електронних листів користувачам всередині групи**, як на наступному зображенні, де група **`google--support@googlegroups.com`** була створена, і **електронний лист був надісланий всім учасникам** групи (які були додані без будь-якої згоди)
<figure><img src="../../../images/image (5) (1).png" alt=""><figcaption></figcaption></figure>
@@ -25,7 +25,7 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodo
> [!TIP]
> **Однак у моєму тестуванні запрошені учасники навіть не отримали запрошення.**
Ви можете перевірити, як це працювало в минулому, за адресою: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
Ви можете перевірити, як це працювало в минулому за адресою: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
## Google Doc Phishing
@@ -39,7 +39,7 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodo
## Google Calendar Phishing
Ви можете **створити подію в календарі** і додати стільки електронних адрес компанії, яку ви атакуєте, скільки у вас є. Заплануйте цю подію в календарі на **5 або 15 хвилин** від поточного часу. Зробіть подію виглядати легітимно і **додайте коментар та заголовок, вказуючи, що їм потрібно щось прочитати****фішинговим посиланням**).
Ви можете **створити подію в календарі** і додати стільки електронних адрес компанії, яку ви атакуєте, скільки у вас є. Заплануйте цю подію в календарі на **5 або 15 хвилин** від поточного часу. Зробіть подію виглядати легітимно і **додайте коментар і заголовок, вказуючи, що їм потрібно щось прочитати****фішинговим посиланням**).
Це попередження, яке з'явиться в браузері з заголовком зустрічі "Звільнення людей", тому ви могли б встановити більш фішинговий заголовок (і навіть змінити ім'я, пов'язане з вашою електронною поштою).
@@ -48,7 +48,7 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodo
Щоб це виглядало менш підозріло:
- Налаштуйте так, щоб **отримувачі не могли бачити інших запрошених людей**
- **НЕ надсилайте електронні листи, що повідомляють про подію**. Тоді люди лише побачать своє попередження про зустріч через 5 хвилин і що їм потрібно прочитати це посилання.
- **НЕ надсилайте електронні листи, що повідомляють про подію**. Тоді люди побачать лише своє попередження про зустріч через 5 хвилин і що їм потрібно прочитати це посилання.
- Очевидно, використовуючи API, ви можете встановити **True**, що **люди** прийняли **подію** і навіть створити **коментарі від їхнього імені**.
## App Scripts Redirect Phishing
@@ -71,7 +71,7 @@ return HtmlService.createHtmlOutput(
## App Scripts OAuth Phishing
Можливо створити App Scripts, прикріплені до документів, щоб спробувати отримати доступ до OAuth токена жертви, для отримання додаткової інформації перегляньте:
Можливо створити App Scripts, прикріплені до документів, щоб спробувати отримати доступ до токена OAuth жертви, для отримання додаткової інформації перегляньте:
{{#ref}}
gws-app-scripts.md
@@ -82,41 +82,41 @@ gws-app-scripts.md
Будь-яка з попередніх технік може бути використана, щоб змусити користувача отримати доступ до **Google OAuth application**, яка **запитуватиме** у користувача деякі **доступи**. Якщо користувач **довіряє** **джерелу**, він може **довіряти** **додатку** (навіть якщо він запитує високі привілейовані дозволи).
> [!NOTE]
> Зверніть увагу, що Google показує непривабливе вікно з попередженням, що додаток ненадійний у кількох випадках, і адміністратори Workspace можуть навіть заборонити людям приймати OAuth додатки.
> Зверніть увагу, що Google показує непривабливий запит, попереджаючи, що додаток ненадійний у кількох випадках, і адміністратори Workspace можуть навіть заборонити людям приймати OAuth додатки.
**Google** дозволяє створювати додатки, які можуть **взаємодіяти від імені користувачів** з кількома **сервісами Google**: Gmail, Drive, GCP...
**Google** дозволяє створювати додатки, які можуть **взаємодіяти від імені користувачів** з кількома **Google services**: Gmail, Drive, GCP...
При створенні додатку, щоб **діяти від імені інших користувачів**, розробник повинен створити **OAuth app всередині GCP** і вказати області (дозволи), які додаток потребує для доступу до даних користувачів.\
Коли **користувач** хоче **використати** цей **додаток**, йому буде **запропоновано** **прийняти**, що додаток матиме доступ до його даних, зазначених в областях.
Коли створюється додаток, щоб **діяти від імені інших користувачів**, розробник повинен створити **OAuth app всередині GCP** і вказати області (дозволи), які додаток потребує для доступу до даних користувачів.\
Коли **користувач** хоче **використати** цей **додаток**, йому буде **запропоновано** **прийняти**, що додаток матиме доступ до їхніх даних, зазначених в областях.
Це дуже привабливий спосіб **фішингу** нетехнічних користувачів для використання **додатків, які отримують доступ до чутливої інформації**, оскільки вони можуть не розуміти наслідків. Однак в облікових записах організацій є способи запобігти цьому.
Це дуже привабливий спосіб **фішингу** нетехнічних користувачів, щоб змусити їх використовувати **додатки, які отримують доступ до чутливої інформації**, оскільки вони можуть не розуміти наслідків. Однак в облікових записах організацій є способи запобігти цьому.
### Unverified App prompt
Як було згадано, Google завжди буде показувати **вікно для користувача, щоб прийняти** дозволи, які вони надають додатку від їх імені. Однак, якщо додаток вважається **небезпечним**, Google спочатку покаже **вікно**, яке вказує, що це **небезпечний** додаток, і **ускладнить** користувачу надання дозволів додатку.
Як було згадано, Google завжди буде показувати **запит користувачу на прийняття** дозволів, які вони надають додатку від свого імені. Однак, якщо додаток вважається **небезпечним**, Google спочатку покаже **запит**, вказуючи, що він **небезпечний** і **ускладнюючи** користувачу надання дозволів додатку.
Це вікно з'являється в додатках, які:
Цей запит з'являється в додатках, які:
- Використовують будь-яку область, яка може отримати доступ до приватних даних (Gmail, Drive, GCP, BigQuery...)
- Додатки з менш ніж 100 користувачами (додатки > 100 також потребують процесу перевірки, щоб зупинити показ неперевіреного вікна)
- Додатки з менш ніж 100 користувачами (додатки > 100 також потребують процесу перевірки, щоб зупинити показ неперевіреного запиту)
### Interesting Scopes
[**Тут**](https://developers.google.com/identity/protocols/oauth2/scopes) ви можете знайти список усіх областей Google OAuth.
- **cloud-platform**: Перегляд та управління вашими даними в сервісах **Google Cloud Platform**. Ви можете видавати себе за користувача в GCP.
- **admin.directory.user.readonly**: Перегляд та завантаження каталогу GSuite вашої організації. Отримайте імена, телефони, URL-адреси календарів усіх користувачів.
- **cloud-platform**: Перегляд та управління вашими даними в службах **Google Cloud Platform**. Ви можете видавати себе за користувача в GCP.
- **admin.directory.user.readonly**: Перегляд та завантаження каталогу GSuite вашої організації. Отримайте імена, телефони, URL-адреси календаря всіх користувачів.
### Create an OAuth App
**Почніть створення OAuth Client ID**
**Почніть створювати OAuth Client ID**
1. Перейдіть до [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient) і натисніть на налаштування екрану згоди.
2. Потім вам буде запропоновано, чи є **тип користувача** **внутрішнім** (тільки для людей у вашій організації) чи **зовнішнім**. Виберіть той, який відповідає вашим потребам
- Внутрішній може бути цікавим, якщо ви вже скомпрометували користувача організації і створюєте цей додаток, щоб фішити іншого.
3. Дайте **ім'я** додатку, **електронну пошту підтримки** (зверніть увагу, що ви можете вказати електронну пошту googlegroup, щоб спробувати трохи анонімізувати себе), **логотип**, **дозволені домени** та іншу **електронну пошту** для **оновлень**.
4. **Виберіть** **OAuth області**.
- Ця сторінка поділена на неделікатні дозволи, делікатні дозволи та обмежені дозволи. Кожного разу, коли ви додаєте новий дозвіл, він додається до своєї категорії. В залежності від запитуваних дозволів різні вікна з'являться для користувача, вказуючи, наскільки чутливими є ці дозволи.
- Ця сторінка поділена на неделікатні дозволи, делікатні дозволи та обмежені дозволи. Щоразу, коли ви додаєте новий дозвіл, він додається до своєї категорії. В залежності від запитуваних дозволів різні запити з'являться користувачу, вказуючи, наскільки чутливими є ці дозволи.
- Як **`admin.directory.user.readonly`**, так і **`cloud-platform`** є делікатними дозволами.
5. **Додайте тестових користувачів.** Поки статус додатку є тестовим, лише ці користувачі зможуть отримати доступ до додатку, тому переконайтеся, що **додали електронну пошту, яку ви будете фішити**.
@@ -125,10 +125,10 @@ gws-app-scripts.md
1. Поверніться до [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient), цього разу з'явиться інша опція.
2. Виберіть **створити облікові дані для веб-додатку**
3. Встановіть необхідні **Javascript origins** та **redirect URIs**
- Ви можете вказати в обох щось на кшталт **`http://localhost:8000/callback`** для тестування
- Ви можете вказати в обох щось на зразок **`http://localhost:8000/callback`** для тестування
4. Отримайте свої облікові дані **додатку**
Нарешті, давайте **запустимо веб-додаток, який використовуватиме облікові дані OAuth додатку**. Ви можете знайти приклад на [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
Нарешті, давайте **запустимо веб-додаток, який використовуватиме облікові дані OAuth додатку**. Ви можете знайти приклад у [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
```bash
git clone ttps://github.com/carlospolop/gcp_oauth_phishing_example
cd gcp_oauth_phishing_example
@@ -156,6 +156,6 @@ python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"
## Посилання
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Метью Брайант - Хакінг G Suite: Сила темної магії Apps Script
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Майк Фелч і Боу Буллок - ОК Google, як мені провести Red Team для GSuite?
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Майк Фелч і Боу Буллок - ОК Google, як мені провести Red Team GSuite?
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -5,7 +5,7 @@
## App Scripts
App Scripts - це **код, який буде активовано, коли користувач з правами редактора отримує доступ до документа, з яким пов'язаний App Script** і після **прийняття запиту OAuth**.\
Вони також можуть бути налаштовані на **виконання через певний проміжок часу** власником App Script (постійність).
Вони також можуть бути налаштовані на **виконання через певний проміжок часу** власником App Script (Persistence).
### Створити App Script
@@ -15,7 +15,7 @@ App Scripts - це **код, який буде активовано, коли к
<summary>Створити проект, прив'язаний до контейнера, з Google Docs, Sheets або Slides</summary>
1. Відкрийте документ Docs, електронну таблицю Sheets або презентацію Slides.
1. Відкрийте документ Docs, таблицю Sheets або презентацію Slides.
2. Натисніть **Розширення** > **Google Apps Script**.
3. У редакторі скриптів натисніть **Без назви проект**.
4. Дайте вашому проекту назву та натисніть **Перейменувати**.
@@ -59,7 +59,7 @@ App Scripts - це **код, який буде активовано, коли к
<summary>Створити окремий проект за допомогою інструменту командного рядка clasp</summary>
`clasp` - це інструмент командного рядка, який дозволяє створювати, витягувати/додавати та розгортати проекти Apps Script з терміналу.
`clasp` - це інструмент командного рядка, який дозволяє вам створювати, завантажувати/вивантажувати та розгортати проекти Apps Script з терміналу.
Дивіться [Посібник по інтерфейсу командного рядка за допомогою `clasp`](https://developers.google.com/apps-script/guides/clasp) для отримання додаткової інформації.
@@ -77,7 +77,7 @@ App Scripts - це **код, який буде активовано, коли к
- **AdminDirectory**: Доступ до користувачів і груп каталогу (якщо у користувача достатньо прав)
- **Gmail**: Для доступу до даних gmail
- **Drive**: Для доступу до даних drive
- **Drive**: Для доступу до даних диска
- **Google Sheets API**: Щоб це працювало з тригером
Щоб змінити **необхідні області**, ви можете перейти до налаштувань проекту та увімкнути: **`Показати файл маніфесту "appsscript.json" в редакторі`.**
@@ -147,21 +147,21 @@ nc -lv 4444 #macOS
### Створити тригер
Після того, як App буде прочитано, натисніть на **⏰ Тригери**, щоб створити тригер. Як **функцію** для виконання виберіть **`getToken`**, виконується на розгортанні **`Head`**, у джерелі події виберіть **`З таблиці`** та тип події виберіть **`При відкритті`** або **`При редагуванні`** (згідно з вашими потребами) і збережіть.
Після того, як App буде прочитано, натисніть на **⏰ Тригери**, щоб створити тригер. Як **функцію** для виконання виберіть **`getToken`**, запускається при розгортанні **`Head`**, у джерелі події виберіть **`З таблиці`** та тип події виберіть **`При відкритті`** або **`При редагуванні`** (згідно з вашими потребами) і збережіть.
Зверніть увагу, що ви можете перевірити **виконання App Scripts на вкладці Виконання**, якщо хочете щось налагодити.
Зверніть увагу, що ви можете перевірити **виконання App Scripts на вкладці Виконання**, якщо хочете відлагодити щось.
### Спільний доступ
Щоб **запустити** **App Script**, жертва повинна підключитися з **доступом редактора**.
> [!TIP]
> **Токен**, використаний для виконання **App Script**, буде токеном **творця тригера**, навіть якщо файл відкритий як редактор іншими користувачами.
> **Токен**, використаний для виконання **App Script**, буде токеном **творця тригера**, навіть якщо файл відкритий як Редактор іншими користувачами.
### Зловживання документами, поділеними зі мною
### Зловживання документами, спільно надісланими мені
> [!CAUTION]
> Якщо хтось **поділився з вами документом з App Scripts і тригером, використовуючи Head** App Script (не фіксоване розгортання), ви можете змінити код App Script (додавши, наприклад, функції для крадіжки токенів), отримати до нього доступ, і **App Script буде виконано з дозволами користувача, який поділився з вами документом**! (зверніть увагу, що токен OAuth власника матиме такі області доступу, які були надані під час створення тригера).
> Якщо хтось **поділився з вами документом з App Scripts і тригером, використовуючи Head** App Script (не фіксоване розгортання), ви можете змінити код App Script (додавши, наприклад, функції для крадіжки токенів), отримати до нього доступ, і **App Script буде виконано з дозволами користувача, який поділився з вами документом**! (зверніть увагу, що OAuth токен власника матиме такі області доступу, які були надані під час створення тригера).
>
> **Сповіщення буде надіслано творцеві скрипта, вказуючи, що хтось змінив скрипт** (Що, якщо використовувати дозволи gmail для створення фільтра, щоб запобігти сповіщенню?)
@@ -183,7 +183,7 @@ nc -lv 4444 #macOS
<figure><img src="../../../images/image (337).png" alt=""><figcaption></figcaption></figure>
Після чого з'явиться **типове сповіщення OAuth, що запитує** необхідні дозволи.
Після цього з'явиться **типове запит OAuth**, що запитує необхідні дозволи.
### Тестування
@@ -198,30 +198,30 @@ curl -H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Accept: application/json" \
"https://www.googleapis.com/calendar/v3/users/me/calendarList"
```
## App Script як Постійність
## App Script як постійний доступ
Одним з варіантів постійності було б **створити документ і додати тригер для функції getToken** та поділитися документом з атакуючим, щоб кожного разу, коли атакуючий відкриває файл, він **екстрагує токен жертви.**
Один з варіантів постійного доступу - це **створити документ і додати тригер для функції getToken** та поділитися документом з атакуючим, щоб кожного разу, коли атакуючий відкриває файл, він **екстрагує токен жертви.**
Також можливо створити App Script і налаштувати його тригер на кожен X час (наприклад, кожну хвилину, годину, день...). Атакуючий, який **компрометував облікові дані або сесію жертви, може налаштувати тригер часу App Script і щодня витікати дуже привілейований OAuth токен**:
Просто створіть App Script, перейдіть до Тригерів, натисніть Додати тригер і виберіть як джерело події Часовий тригер і виберіть опції, які вам найбільше підходять:
Просто створіть App Script, перейдіть до Тригерів, натисніть Додати тригер і виберіть як джерело події Часовий тригер, а також виберіть опції, які вам найбільше підходять:
<figure><img src="../../../images/image (336).png" alt=""><figcaption></figcaption></figure>
> [!CAUTION]
> Це створить електронний лист про безпеку та push-повідомлення на ваш мобільний телефон, що сповіщає про це.
> Це створить електронний лист про безпеку та push-повідомлення на вашому мобільному телефоні, що сповіщає про це.
### Обхід Неперевіреного Запиту Спільного Документа
### Обхід неперевіреного запиту спільного документа
Більше того, якщо хтось **поділився** з вами документом з **доступом редактора**, ви можете створити **App Scripts всередині документа**, і **ВЛАСНИК (творець) документа буде власником App Script**.
Більше того, якщо хтось **поділився** з вами документом з **доступом редактора**, ви можете створювати **App Scripts всередині документа**, а **ВЛАСНИК (творець) документа буде власником App Script**.
> [!WARNING]
> Це означає, що **творець документа з'явиться як творець будь-якого App Script**, який будь-хто з доступом редактора створює всередині нього.
> Це означає, що **творець документа з'явиться як творець будь-якого App Script**, який створить будь-хто з доступом редактора всередині нього.
>
> Це також означає, що **App Script буде довірятися середовищу Workspace** творця документа.
> Це також означає, що **App Script буде довіреним середовищем Workspace** творця документа.
> [!CAUTION]
> Це також означає, що якщо **App Script вже існував** і люди надали **доступ**, будь-хто з **дозволом редактора** на документ може **модифікувати його та зловживати цим доступом.**\
> Щоб зловживати цим, вам також потрібно, щоб люди активували App Script. І один цікавий трюк - це **опублікувати скрипт як веб-додаток**. Коли **люди**, які вже надали **доступ** до App Script, отримують доступ до веб-сторінки, вони **активують App Script** (це також працює за допомогою тегів `<img>`).
> Щоб зловживати цим, вам також потрібно, щоб люди активували App Script. І один з цікавих трюків - це **опублікувати скрипт як веб-додаток**. Коли **люди**, які вже надали **доступ** до App Script, отримують доступ до веб-сторінки, вони **активують App Script** (це також працює за допомогою тегів `<img>`).
{{#include ../../../banners/hacktricks-training.md}}