mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-26 03:04:46 -08:00
Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe
This commit is contained in:
@@ -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}}
|
||||
|
||||
Reference in New Issue
Block a user