From 387cd7ef11c5642abdcde487241ee209aac9b0f4 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 5 Feb 2026 12:31:11 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-enumeration-tool --- .../azure-security/az-enumeration-tools.md | 282 ++++++++++++++---- 1 file changed, 223 insertions(+), 59 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-enumeration-tools.md b/src/pentesting-cloud/azure-security/az-enumeration-tools.md index 82ba5073f..f22b0e621 100644 --- a/src/pentesting-cloud/azure-security/az-enumeration-tools.md +++ b/src/pentesting-cloud/azure-security/az-enumeration-tools.md @@ -1,11 +1,11 @@ -# Az - Інструменти для енумерації +# Az - Інструменти перерахування {{#include ../../banners/hacktricks-training.md}} -## Встановлення PowerShell в linux +## Встановлення PowerShell у linux > [!TIP] -> У linux потрібно встановити PowerShell Core: +> У linux вам потрібно встановити PowerShell Core: ```bash sudo apt-get update sudo apt-get install -y wget apt-transport-https software-properties-common @@ -32,7 +32,7 @@ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` -2. Встановіть останній стабільний реліз PowerShell: +2. Встановіть останню стабільну версію PowerShell: ```sh brew install powershell/tap/powershell ``` @@ -49,19 +49,19 @@ brew upgrade powershell ### az cli -[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) є кросплатформним інструментом, написаним на Python, для керування й адміністрування (більшості) ресурсів Azure та Entra ID. Він підключається до Azure і виконує адміністративні команди через командний рядок або скрипти. +[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) — кросплатформний інструмент, написаний на Python, для керування та адміністрування (більшість) ресурсів Azure та Entra ID. Він підключається до Azure і виконує адміністративні команди через командний рядок або скрипти. Перейдіть за цим посиланням для [**installation instructions¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install). -Команди в Azure CLI мають структуру за шаблоном: `az ` +Команди в Azure CLI структуровані за шаблоном: `az ` #### Налагодження | MitM az cli -Використовуючи параметр **`--debug`**, можна побачити всі запити, які інструмент **`az`** відправляє: +За допомогою параметра **`--debug`** можна побачити всі запити, які інструмент **`az`** надсилає: ```bash az account management-group list --output table --debug ``` -Щоб виконати **MitM** інструменту та вручну **перевірити всі запити**, які він надсилає, ви можете: +Щоб зробити **MitM** для інструмента та вручну **check all the requests**, які він надсилає, можна зробити так: {{#tabs }} {{#tab name="Bash" }} @@ -104,51 +104,215 @@ $env:HTTP_PROXY="http://127.0.0.1:8080" {{#endtab }} {{#endtabs }} +
+Виправлення “CA cert does not include key usage extension” + +### Чому виникає помилка + +Коли Azure CLI автентифікується, він робить HTTPS-запити (через MSAL → Requests → OpenSSL). Якщо ви перехоплюєте TLS з допомогою Burp, Burp генерує «на льоту» сертифікати для сайтів типу `login.microsoftonline.com` і підписує їх своєю CA. + +На новіших стекax (Python 3.13 + OpenSSL 3) валідація CA суворіша: + +- A CA certificate must include **Basic Constraints: `CA:TRUE`** and a **Key Usage** extension permitting certificate signing (**`keyCertSign`**, and typically **`cRLSign`**). + +За замовчуванням CA Burp (PortSwigger CA) застаріла і зазвичай не має розширення Key Usage, тому OpenSSL відхиляє її навіть якщо ви її «доверяєте». + +Це призводить до таких помилок: + +- `CA cert does not include key usage extension` +- `CERTIFICATE_VERIFY_FAILED` +- `self-signed certificate in certificate chain` + +Отже, потрібно: + +1. Створити сучасну CA (з коректним Key Usage). +2. Змусити Burp використовувати її для підпису перехоплених сертифікатів. +3. Довірити цій CA в macOS. +4. Вказати Azure CLI / Requests на цей CA bundle. + +### Пoетапно: робоча конфігурація + +#### 0) Попередні вимоги + +- Burp запущений локально (proxy на `127.0.0.1:8080`) +- Azure CLI встановлено (Homebrew) +- Ви маєте права `sudo` (щоб довірити CA в системному keychain) + +#### 1) Create a standards-compliant Burp CA (PEM + KEY) + +Create an OpenSSL config file that explicitly sets CA extensions: +```bash +mkdir -p ~/burp-ca && cd ~/burp-ca + +cat > burp-ca.cnf <<'EOF' +[ req ] +default_bits = 2048 +prompt = no +default_md = sha256 +distinguished_name = dn +x509_extensions = v3_ca + +[ dn ] +C = US +O = Burp Custom CA +CN = Burp Custom Root CA + +[ v3_ca ] +basicConstraints = critical,CA:TRUE +keyUsage = critical,keyCertSign,cRLSign +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer +EOF +``` +Згенерувати CA сертифікат + приватний ключ: +```bash +openssl req -x509 -new -nodes \ +-days 3650 \ +-keyout burp-ca.key \ +-out burp-ca.pem \ +-config burp-ca.cnf +``` +Швидка перевірка (ВИ ПОВИННІ побачити Key Usage): +```bash +openssl x509 -in burp-ca.pem -noout -text | egrep -A3 "Basic Constraints|Key Usage" +``` +Очікується, що міститиме приблизно таке: + +- `CA:TRUE` +- `Key Usage: ... Certificate Sign, CRL Sign` + +#### 2) Конвертувати в PKCS#12 (формат імпорту Burp) + +Burp потребує сертифікат + приватний ключ, найпростіше — у PKCS#12: +```bash +openssl pkcs12 -export \ +-out burp-ca.p12 \ +-inkey burp-ca.key \ +-in burp-ca.pem \ +-name "Burp Custom Root CA" +``` +You’ll be prompted for an export password (set one; Burp will ask for it). + +#### 3) Імпортуйте CA в Burp і перезапустіть Burp + +У Burp: + +- Proxy → Options +- Знайдіть Import / export CA certificate +- Натисніть Import CA certificate +- Виберіть PKCS#12 +- Виберіть `burp-ca.p12` +- Введіть пароль +- Повністю перезапустіть Burp (важливо) + +Чому перезапуск? Burp може продовжувати використовувати старий CA до перезапуску. + +#### 4) Довірте новому CA у системному keychain macOS + +Це дозволяє системним додаткам і багатьом TLS-стекам довіряти цьому CA. +```bash +sudo security add-trusted-cert \ +-d -r trustRoot \ +-k /Library/Keychains/System.keychain \ +~/burp-ca/burp-ca.pem +``` +(Якщо ви віддаєте перевагу GUI: Keychain Access → System → Certificates → import → set “Always Trust”.) + +#### 5) Налаштуйте змінні середовища для проксі +```bash +export HTTPS_PROXY="http://127.0.0.1:8080" +export HTTP_PROXY="http://127.0.0.1:8080" +``` +#### 6) Налаштуйте Requests/Azure CLI, щоб довіряти вашому Burp CA + +Azure CLI використовує Python Requests внутрішньо; налаштуйте обидва: +```bash +export REQUESTS_CA_BUNDLE="$HOME/burp-ca/burp-ca.pem" +export SSL_CERT_FILE="$HOME/burp-ca/burp-ca.pem" +``` +Примітки: + +- `REQUESTS_CA_BUNDLE` використовується бібліотекою Requests. +- `SSL_CERT_FILE` допомагає іншим TLS-клієнтам та в граничних випадках. +- Зазвичай вам не потрібні старі `ADAL_PYTHON_SSL_NO_VERIFY` / `AZURE_CLI_DISABLE_CONNECTION_VERIFICATION`, коли CA налаштовано правильно. + +#### 7) Перевірте, що Burp справді підписує сертифікати вашим новим CA (критична перевірка) + +Це підтверджує, що ваш ланцюг перехоплення налаштований правильно: +```bash +openssl s_client -connect login.microsoftonline.com:443 \ +-proxy 127.0.0.1:8080 /dev/null \ +| openssl x509 -noout -issuer +``` +Очікуваний видавець містить ім'я вашого CA, наприклад: + +`O=Burp Custom CA, CN=Burp Custom Root CA` + +Якщо ви все ще бачите PortSwigger CA, Burp не використовує імпортований вами CA → перевірте імпорт та перезапустіть. + +#### 8) Перевірте, що Python Requests працює через Burp +```bash +python3 - <<'EOF' +import requests +requests.get("https://login.microsoftonline.com") +print("OK") +EOF +``` +Очікується: `OK` + +#### 9) Azure CLI тест +```bash +az account get-access-token --resource=https://management.azure.com/ +``` +Якщо ви вже увійшли, має повернутися JSON з `accessToken`. + +
+ ### Az PowerShell -Azure PowerShell — модуль з cmdlets для керування ресурсами Azure безпосередньо з командного рядка PowerShell. +Azure PowerShell — модуль із cmdlets для керування ресурсами Azure безпосередньо з командного рядка PowerShell. Follow this link for the [**installation instructions**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell). -Commands in Azure PowerShell AZ Module are structured like: `-Az ` +Команди в Azure PowerShell AZ Module мають структуру: `-Az ` #### Debug | MitM Az PowerShell -За допомогою параметра **`-Debug`** можна побачити всі запити, які відправляє інструмент: +Використовуючи параметр **`-Debug`**, можна побачити всі запити, які відправляє інструмент: ```bash Get-AzResourceGroup -Debug ``` -In order to do a **MitM** to the tool and **check all the requests** it's sending manually you can set the env variables `HTTPS_PROXY` and `HTTP_PROXY` according to the [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy). +Щоб зробити **MitM** щодо інструмента та **перевірити всі запити**, які він надсилає вручну, можна встановити змінні середовища `HTTPS_PROXY` і `HTTP_PROXY` відповідно до [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy). ### Microsoft Graph PowerShell -Microsoft Graph PowerShell — кросплатформений SDK, який дозволяє отримувати доступ до всіх Microsoft Graph APIs, включно зі сервісами, такими як SharePoint, Exchange та Outlook, використовуючи єдину точку входу. Він підтримує PowerShell 7+, сучасну автентифікацію через MSAL, зовнішні ідентичності та розширені запити. Орієнтований на принцип найменших привілеїв, він забезпечує безпечну роботу та регулярно оновлюється, щоб відповідати останнім можливостям Microsoft Graph API. +Microsoft Graph PowerShell є кросплатформеним SDK, який дозволяє доступ до всіх Microsoft Graph API, включно зі службами такими як SharePoint, Exchange та Outlook, використовуючи єдину кінцеву точку. Підтримує PowerShell 7+, сучасну аутентифікацію через MSAL, зовнішні ідентичності та розширені запити. Орієнтований на принцип найменших привілеїв, він забезпечує безпечні операції та отримує регулярні оновлення для відповідності останнім можливостям Microsoft Graph API. Перейдіть за цим посиланням для [**installation instructions**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation). Команди в Microsoft Graph PowerShell мають структуру: `-Mg ` -#### Debug Microsoft Graph PowerShell +#### Налагодження Microsoft Graph PowerShell -Використовуючи параметр **`-Debug`**, можна побачити всі запити, які інструмент надсилає: +За допомогою параметра **`-Debug`** можна побачити всі запити, які інструмент відправляє: ```bash Get-MgUser -Debug ``` ### ~~**AzureAD Powershell**~~ -Модуль Azure Active Directory (AD), тепер **застарілий**, є частиною Azure PowerShell для керування ресурсами Azure AD. Він надає cmdlets для завдань, таких як керування користувачами, групами та реєстраціями додатків в Entra ID. +Модуль Azure Active Directory (AD), який тепер є **застарілим**, входить до складу Azure PowerShell для керування ресурсами Azure AD. Він надає cmdlets для таких завдань, як керування користувачами, групами та реєстраціями застосунків в Entra ID. > [!TIP] -> Це замінено Microsoft Graph PowerShell +> Натомість використовується Microsoft Graph PowerShell -Перейдіть за цим посиланням для [**інструкцій з встановлення**](https://www.powershellgallery.com/packages/AzureAD). +Перейдіть за цим посиланням для [**інструкції з встановлення**](https://www.powershellgallery.com/packages/AzureAD). -## Автоматизована розвідка та інструменти відповідності +## Автоматизований Recon та інструменти відповідності ### [turbot azure plugins](https://github.com/orgs/turbot/repositories?q=mod-azure) -Turbot у поєднанні зі steampipe та powerpipe дозволяє збирати інформацію з Azure та Entra ID, виконувати перевірки відповідності та виявляти неправильні налаштування. Наразі найбільш рекомендовані до запуску модулі Azure: +Turbot разом зі steampipe та powerpipe дозволяє збирати інформацію з Azure та Entra ID, виконувати перевірки відповідності та виявляти помилки конфігурації. Наразі найбільш рекомендовані модулі Azure для запуску: - [https://github.com/turbot/steampipe-mod-azure-compliance](https://github.com/turbot/steampipe-mod-azure-compliance) - [https://github.com/turbot/steampipe-mod-azure-insights](https://github.com/turbot/steampipe-mod-azure-insights) @@ -179,9 +343,9 @@ powerpipe server ``` ### [Prowler](https://github.com/prowler-cloud/prowler) -Prowler — це інструмент безпеки з відкритим кодом для проведення оцінок відповідності найкращим практикам безпеки, аудитів, реагування на інциденти, постійного моніторингу, посилення безпеки та готовності до судово-експертних розслідувань в середовищах AWS, Azure, Google Cloud і Kubernetes. +Prowler — це інструмент з відкритим кодом для виконання оцінок найкращих практик безпеки, аудитів, реагування на інциденти, безперервного моніторингу, hardening та forensics readiness для AWS, Azure, Google Cloud і Kubernetes. -Він дозволяє виконати сотні перевірок середовища Azure для виявлення конфігураційних помилок безпеки та зібрати результати у форматі json (та інших текстових форматах) або переглянути їх у веб-інтерфейсі. +Він дозволяє запускати сотні перевірок щодо середовища Azure, виявляти помилки конфігурації безпеки та збирати результати у json (та інших текстових форматах) або переглядати їх у web. ```bash # Create a application with Reader role and set the tenant ID, client ID and secret in prowler so it access the app @@ -205,7 +369,7 @@ docker run --rm -e "AZURE_CLIENT_ID=" -e "AZURE_TENANT_ID= Дозволяє автоматично виконувати перевірки конфігурації безпеки підписок Azure та Microsoft Entra ID. -HTML-звіти зберігаються в каталозі `./monkey-reports` всередині папки репозиторію github. +HTML-звіти зберігаються в каталозі `./monkey-reports` у папці репозиторію github. ```bash git clone https://github.com/silverhack/monkey365 Get-ChildItem -Recurse monkey365 | Unblock-File @@ -226,7 +390,7 @@ Invoke-Monkey365 -TenantId -ClientId -ClientSecret $Secu ``` ### [ScoutSuite](https://github.com/nccgroup/ScoutSuite) -Scout Suite збирає дані конфігурації для ручної перевірки та виділяє області ризику. Це багатохмарний інструмент аудиту безпеки, який дозволяє оцінювати стан безпеки хмарних середовищ. +ScoutSuite збирає дані конфігурації для ручної перевірки та виділяє області ризику. Це інструмент аудиту безпеки для multi-cloud середовищ, який дозволяє оцінювати безпековий стан хмарних середовищ. ```bash virtualenv -p python3 venv source venv/bin/activate @@ -242,9 +406,9 @@ python scout.py azure --cli ``` ### [Azure-MG-Sub-Governance-Reporting](https://github.com/JulianHayward/Azure-MG-Sub-Governance-Reporting) -Це powershell-скрипт, який допомагає вам **візуалізувати всі ресурси та дозволи всередині Management Group і Entra ID** tenant та виявляти помилки конфігурації безпеки. +Це powershell-скрипт, який допомагає вам **візуалізувати всі ресурси та дозволи всередині Management Group та Entra ID** тенанта й виявляти проблеми в налаштуваннях безпеки. -Він працює з використанням Az PowerShell module, тому підтримуються будь-які методи автентифікації, які підтримує цей інструмент. +Він працює з використанням Az PowerShell module, тож будь-який спосіб автентифікації, підтримуваний цим інструментом, також підтримується. ```bash import-module Az .\AzGovVizParallel.ps1 -ManagementGroupId [-SubscriptionIdWhitelist ] @@ -253,7 +417,7 @@ import-module Az ### [**ROADRecon**](https://github.com/dirkjanm/ROADtools) -Енумерація ROADRecon надає інформацію про конфігурацію Entra ID, таку як користувачі, групи, ролі, політики умовного доступу... +Enumeration ROADRecon надає інформацію про конфігурацію Entra ID, таку як users, groups, roles, conditional access policies... ```bash cd ROADTools pipenv shell @@ -266,23 +430,23 @@ roadrecon gui ``` ### [**AzureHound**](https://github.com/BloodHoundAD/AzureHound) -AzureHound — колектор BloodHound для Microsoft Entra ID та Azure. Це один статичний Go-бінарний файл для Windows/Linux/macOS, який безпосередньо взаємодіє з: -- Microsoft Graph (каталог Entra ID, M365) та -- Azure Resource Manager (ARM) control plane (subscriptions, resource groups, compute, storage, key vault, app services, AKS тощо) +AzureHound — колектор BloodHound для Microsoft Entra ID та Azure. Це один статичний виконуваний файл на Go для Windows/Linux/macOS, який безпосередньо звертається до: +- Microsoft Graph (Entra ID directory, M365) та +- Azure Resource Manager (ARM) control plane (subscriptions, resource groups, compute, storage, key vault, app services, AKS, etc.) -Ключові характеристики -- Працює з будь-якої точки публічного інтернету проти tenant APIs (доступ до внутрішньої мережі не потрібен) -- Виводить JSON для імпорту в BloodHound CE, щоб візуалізувати шляхи атаки між ідентичностями та хмарними ресурсами -- Значення User-Agent за замовчуванням: azurehound/v2.x.x +Key traits +- Працює з будь-якого місця в публічному інтернеті проти tenant APIs (не потрібен доступ до внутрішньої мережі) +- Виводить JSON для BloodHound CE ingestion, щоб візуалізувати шляхи атаки між ідентичностями та cloud resources +- User-Agent за замовчуванням: azurehound/v2.x.x -Параметри автентифікації -- Username + password: -u -p +Authentication options +- Ім'я користувача + пароль: -u -p - Refresh token: --refresh-token - JSON Web Token (access token): --jwt - Service principal secret: -a -s - Service principal certificate: -a --cert --key [--keypass ] -Приклади +Examples ```bash # Full tenant collection to file using different auth flows ## User creds @@ -318,36 +482,36 @@ azurehound list web-apps -t "" -o webapps.json azurehound list function-apps -t "" -o funcapps.json ``` What gets queried -- Graph endpoints (приклади): +- Graph endpoints (examples): - /v1.0/organization, /v1.0/users, /v1.0/groups, /v1.0/roleManagement/directory/roleDefinitions, directoryRoles, owners/members -- ARM endpoints (приклади): +- ARM endpoints (examples): - management.azure.com/subscriptions/.../providers/Microsoft.Storage/storageAccounts - .../Microsoft.KeyVault/vaults, .../Microsoft.Compute/virtualMachines, .../Microsoft.Web/sites, .../Microsoft.ContainerService/managedClusters Preflight behavior and endpoints -- Кожен azurehound list зазвичай виконує ці тестові виклики перед enumeration: +- Кожна команда azurehound list зазвичай виконує ці тестові виклики перед переліченням: 1) Identity platform: login.microsoftonline.com 2) Graph: GET https://graph.microsoft.com/v1.0/organization 3) ARM: GET https://management.azure.com/subscriptions?api-version=... -- Базові URL-адреси cloud environment відрізняються для Government/China/Germany. Див. constants/environments.go у репозиторії. +- Базові URL-адреси хмарного середовища відрізняються для Government/China/Germany. Див. constants/environments.go у репозиторії. ARM-heavy objects (less visible in Activity/Resource logs) -- The following list targets predominantly use ARM control plane reads: automation-accounts, container-registries, function-apps, key-vaults, logic-apps, managed-clusters, management-groups, resource-groups, storage-accounts, storage-containers, virtual-machines, vm-scale-sets, web-apps. -- These GET/list operations are typically not written to Activity Logs; data-plane reads (e.g., *.blob.core.windows.net, *.vault.azure.net) are covered by Diagnostic Settings at the resource level. +- Наступні цілі переважно читаються через ARM control plane: automation-accounts, container-registries, function-apps, key-vaults, logic-apps, managed-clusters, management-groups, resource-groups, storage-accounts, storage-containers, virtual-machines, vm-scale-sets, web-apps. +- Ці операції GET/list, як правило, не записуються в Activity Logs; читання data-plane (наприклад, *.blob.core.windows.net, *.vault.azure.net) фіксуються через Diagnostic Settings на рівні ресурсу. OPSEC and logging notes -- Microsoft Graph Activity Logs are not enabled by default; enable and export to SIEM to gain visibility of Graph calls. Expect the Graph preflight GET /v1.0/organization with UA azurehound/v2.x.x. -- Entra ID non-interactive sign-in logs record the identity platform auth (login.microsoftonline.com) used by AzureHound. -- ARM control-plane read/list operations are not recorded in Activity Logs; many azurehound list operations against resources won’t appear there. Only data-plane logging (via Diagnostic Settings) will capture reads to service endpoints. -- Defender XDR GraphApiAuditEvents (preview) can expose Graph calls and token identifiers but may lack UserAgent and have limited retention. +- Microsoft Graph Activity Logs за замовчуванням не увімкнені; увімкніть і експортуйте в SIEM, щоб отримати видимість викликів Graph. Очікуйте Graph preflight GET /v1.0/organization з UA azurehound/v2.x.x. +- У логах non-interactive sign-in Entra ID фіксується автентифікація identity platform (login.microsoftonline.com), яку використовує AzureHound. +- Операції читання/list через ARM control-plane не записуються в Activity Logs; багато операцій azurehound list по ресурсу там не з’являться. Лише data-plane логування (через Diagnostic Settings) зафіксує звернення до сервісних кінцевих точок. +- Defender XDR GraphApiAuditEvents (preview) може виявляти виклики Graph і ідентифікатори токенів, але може не містити UserAgent і мати обмежений термін зберігання. -Порада: При enumeration шляхів привілеїв, дампьте users, groups, roles та role assignments, потім імпортуйте в BloodHound і використовуйте готові cypher-запити для виявлення Global Administrator/Privileged Role Administrator та транзитивної ескалації через nested groups і RBAC assignments. +Tip: When enumerating for privilege paths, dump users, groups, roles, and role assignments, then ingest in BloodHound and use prebuilt cypher queries to surface Global Administrator/Privileged Role Administrator and transitive escalation via nested groups and RBAC assignments. -Запустіть веб BloodHound за допомогою `curl -L https://ghst.ly/getbhce | docker compose -f - up` та імпортуйте файл `output.json`. Потім, у вкладці EXPLORE, в секції CYPHER ви побачите іконку папки, яка містить готові запити. +Launch the BloodHound web with `curl -L https://ghst.ly/getbhce | docker compose -f - up` and import the `output.json` file. Then, in the EXPLORE tab, in the CYPHER section you can see a folder icon that contains pre-built queries. ### [**MicroBurst**](https://github.com/NetSPI/MicroBurst) -MicroBurst включає функції та скрипти, які підтримують discovery Azure Services, аудит слабких конфігурацій та post exploitation дії, такі як credential dumping. Він призначений для використання під час penetration tests, де використовується Azure. +MicroBurst includes functions and scripts that support Azure Services discovery, weak configuration auditing, and post exploitation actions such as credential dumping. It is intended to be used during penetration tests where Azure is in use. ```bash Import-Module .\MicroBurst.psm1 Import-Module .\Get-AzureDomainInfo.ps1 @@ -355,9 +519,9 @@ Get-AzureDomainInfo -folder MicroBurst -Verbose ``` ### [**PowerZure**](https://github.com/hausec/PowerZure) -PowerZure був створений через потребу у фреймворку, який може як виконувати розвідку, так і експлуатацію Azure, EntraID та пов’язаних ресурсів. +PowerZure був створений через потребу в фреймворку, який може виконувати reconnaissance та exploitation для Azure, EntraID і пов'язаних ресурсів. -Він використовує модуль **Az PowerShell**, тож будь-який спосіб аутентифікації, який підтримує цей модуль, підтримується інструментом. +Він використовує модуль **Az PowerShell**, тож будь-який спосіб автентифікації, який підтримує цей модуль, також підтримується інструментом. ```bash # Login Import-Module Az @@ -388,7 +552,7 @@ Invoke-AzureRunCommand -Command -VMName ``` ### [**GraphRunner**](https://github.com/dafthack/GraphRunner/wiki/Invoke%E2%80%90GraphRunner) -GraphRunner — це набір інструментів post-exploitation для взаємодії з Microsoft Graph API. Він надає різні інструменти для проведення reconnaissance, persistence та pillaging даних з облікового запису Microsoft Entra ID (Azure AD). +GraphRunner — набір інструментів post-exploitation для взаємодії з Microsoft Graph API. Він надає різні інструменти для проведення reconnaissance, persistence та pillaging даних із облікового запису Microsoft Entra ID (Azure AD). ```bash #A good place to start is to authenticate with the Get-GraphTokens module. This module will launch a device-code login, allowing you to authenticate the session from a browser session. Access and refresh tokens will be written to the global $tokens variable. To use them with other GraphRunner modules use the Tokens flag (Example. Invoke-DumpApps -Tokens $tokens) Import-Module .\GraphRunner.ps1 @@ -432,9 +596,9 @@ Invoke-GraphRunner -Tokens $tokens ``` ### [Stormspotter](https://github.com/Azure/Stormspotter) -Stormspotter створює “attack graph” ресурсів в підписці Azure. Він дозволяє red teams та pentesters візуалізувати attack surface і pivot opportunities в межах tenant, а також значно посилює ваших defenders, щоб швидко зорієнтуватися та пріоритезувати роботу incident response. +Stormspotter створює «attack graph» ресурсів у підписці Azure. Він дозволяє red teams і pentesters візуалізувати attack surface і pivot opportunities у межах tenant, та підсилює ваших defenders, щоб вони могли швидко зорієнтуватися й визначити пріоритети в incident response. -**На жаль, схоже, що він не підтримується.** +**На жаль, схоже, що він не підтримується** ```bash # Start Backend cd stormspotter\backend\ @@ -453,10 +617,10 @@ python stormspotter\stormcollector\sscollector.pyz cli # This will generate a .zip file to upload in the frontend (127.0.0.1:9091) ``` ## Посилання -- [Виявлення в хмарі з AzureHound (Unit 42)](https://unit42.paloaltonetworks.com/threat-actor-misuse-of-azurehound/) -- [Репозиторій AzureHound](https://github.com/SpecterOps/AzureHound) -- [Репозиторій BloodHound](https://github.com/SpecterOps/BloodHound) -- [Прапори AzureHound Community Edition](https://bloodhound.specterops.io/collect-data/ce-collection/azurehound-flags) +- [Cloud Discovery With AzureHound (Unit 42)](https://unit42.paloaltonetworks.com/threat-actor-misuse-of-azurehound/) +- [AzureHound repository](https://github.com/SpecterOps/AzureHound) +- [BloodHound repository](https://github.com/SpecterOps/BloodHound) +- [AzureHound Community Edition Flags](https://bloodhound.specterops.io/collect-data/ce-collection/azurehound-flags) - [AzureHound constants/environments.go](https://github.com/SpecterOps/AzureHound/blob/main/constants/environments.go) - [AzureHound client/storage_accounts.go](https://github.com/SpecterOps/AzureHound/blob/main/client/storage_accounts.go) - [AzureHound client/roles.go](https://github.com/SpecterOps/AzureHound/blob/main/client/roles.go)