Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes

This commit is contained in:
Translator
2025-01-26 15:10:28 +00:00
parent 2e2c81355b
commit 2801d70938
3 changed files with 56 additions and 50 deletions

View File

@@ -20,18 +20,18 @@ AZURE環境を監査するためには、**どのサービスが使用されて
最初のステップは、もちろん攻撃しているテナントに関する情報を列挙し、足がかりを得ることです。
ドメイン名に基づいて、**会社がAzureを使用しているかどうか**を知り、**テナントID**を取得し、同じテナント内の他の**有効なドメイン**もしあればを取得し、SSOが有効かどうか、メール設定、有効なユーザーのメールアドレスなどの**関連情報**を取得することが可能です。
ドメイン名に基づいて、**会社がAzureを使用しているかどうか**、**テナントID**、同じテナント内の他の**有効なドメイン**もしあればを取得し、SSOが有効かどうか、メール設定、有効なユーザーのメールアドレスなどの**関連情報**を取得することが可能です。
**外部列挙**を実行する方法については、以下のページを確認してください
以下のページを確認して、**外部列挙**を実行する方法を学びましょう
{{#ref}}
az-unauthenticated-enum-and-initial-entry/
{{#endref}}
この情報をもとに、足がかりを得るための最も一般的な方法は次のとおりです:
- **OSINT**: GitHubやその他のオープンソースプラットフォームで**漏洩**がないか確認し、**資格情報**や興味深い情報を探します。
- **OSINT**: GitHubやその他のオープンソースプラットフォームで**漏洩**をチェックし、**資格情報**や興味深い情報を探します。
- **パスワード**の再利用、漏洩、または[パスワードスプレー](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- 従業員の資格情報を購入する
- 従業員の資格情報を購入
- [**一般的なフィッシング**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html)資格情報またはOauthアプリ
- [デバイスコード認証フィッシング](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- 第三者の**侵害**
@@ -45,7 +45,7 @@ az-unauthenticated-enum-and-initial-entry/
- **`clouds.config`**にはサブスクリプションに関する情報が含まれています
- **`service_principal_entries.json`**にはアプリケーションの資格情報テナントID、クライアント、シークレットが含まれています。LinuxおよびmacOSのみ
- **`msal_token_cache.json`**にはアクセストークンとリフレッシュトークンが含まれています。LinuxおよびmacOSのみ
- **`service_principal_entries.bin`**と**`msal_token_cache.bin`**はWindowsで使用され、DPAPIで暗号化されています
- **`service_principal_entries.bin`**と**msal_token_cache.bin**はWindowsで使用され、DPAPIで暗号化されています
- **`msal_http_cache.bin`**はHTTPリクエストのキャッシュです
- 読み込む:`with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`**にはAz PowerShellを使用した以前のログインに関する情報が含まれていますただし資格情報は含まれていません
@@ -62,7 +62,7 @@ az-unauthenticated-enum-and-initial-entry/
{{#endref}}
> [!NOTE]
> 通常、列挙の**最も騒がしい**部分は**ログイン**であり、列挙自体ではないことを覚えておいてください
> 通常、列挙の**最も騒がしい**部分は**ログイン**であり、列挙自体ではありません
### Azure & Entra IDツール
@@ -72,7 +72,7 @@ az-unauthenticated-enum-and-initial-entry/
az-enumeration-tools.md
{{#endref}}
### ログイン条件のバイパス
### アクセスポリシーのバイパス
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
@@ -81,14 +81,20 @@ az-enumeration-tools.md
- **IPホワイトリスト** -- 有効なIPを侵害する必要があります
- **地理的制限** -- ユーザーの居住地や会社のオフィスの場所を見つけ、同じ都市または少なくとも国からIPを取得します
- **ブラウザ** -- 特定のOSWindows、Linux、Mac、Android、iOSからのブラウザのみが許可されているかもしれません。犠牲者/会社が使用しているOSを特定します。
- **サービスプリンシパルの資格情報を侵害する**ことも試みることができます。通常、制限が少なく、ログインのレビューも少ないです。
- **サービスプリンシパルの資格情報を侵害**することも試みることができます。通常、制限が少なく、ログインのレビューも少ないです。
これをバイパスした後、初期設定に戻り、引き続きアクセスできる可能性があります。
確認してください:
{{#ref}}
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
{{#endref}}
### Whoami
> [!CAUTION]
> [**Az - Entra ID**](az-services/az-azuread.md)セクションでaz cli、AzureAD、Az PowerShellの**インストール方法**を学んでください
> [**Az - Entra ID**](az-services/az-azuread.md)セクションで**az cli、AzureAD、Az PowerShellのインストール方法**を学びましょう
最初に知っておくべきことは、**自分が誰であるか**(どの環境にいるか)です:
@@ -137,72 +143,72 @@ Get-AzureADTenantDetail
### Entra ID 列挙と特権昇格
デフォルトでは、任意のユーザーは **ユーザー、グループ、役割、サービスプリンシパルなどを列挙するのに十分な権限を持っているはずです**[デフォルトの AzureAD 権限](az-basic-information/index.html#default-user-permissions)を確認してください)。\
ここにガイドがあります
デフォルトでは、任意のユーザーはユーザー、グループ、役割、サービスプリンシパルなどを列挙するのに**十分な権限を持っているべきです**...(デフォルトの AzureAD 権限を確認してください [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
ここにガイドがあります:
{{#ref}}
az-services/az-azuread.md
{{#endref}}
**Post-Exploitation ツール**を確認して、**AzureHound**のような Entra ID で特権を昇格させるためのツールを見つけてください
**Post-Exploitation ツール**を確認して、**AzureHound**のような Entra ID で特権を昇格させるためのツールを見つけてください:
{{#ref}}
az-enumeration-tools.md#automated-post-exploitation-tools
{{#endref}}
### Azure サービスの列挙
### Azure 列挙
自分が誰であるかを知ったら、**アクセスできる Azure サービスを列挙し始めることができます**。
まず、**リソースに対する権限を確認する**必要があります。これには
まず、**リソースに対する権限を確認する**必要があります。これには:
1. **アクセスできるリソースを見つける**
1. **アクセスできるリソースを見つける**:
Az PowerShell コマンド **`Get-AzResource`** を使用すると、**現在のユーザーが可視性を持つリソースを知ることができます**。
さらに、**ウェブコンソール**で同じ情報を取得するには、[https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) にアクセスするか、「すべてのリソース」を検索するか、次のコマンドを実行します`az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
さらに、**ウェブコンソール**で同じ情報を取得するには、[https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) にアクセスするか、「すべてのリソース」を検索するか、次のコマンドを実行します: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
2. **アクセスできるリソースに対する権限を見つけ、あなたに割り当てられた役割を確認する**
2. **アクセスできるリソースに対する権限を見つけ、あなたに割り当てられた役割を確認する**:
このアクションを実行するには、**`Microsoft.Authorization/roleAssignments/read`** の権限が必要です。
さらに、十分な権限があれば、役割 **`Get-AzRoleAssignment`** を使用して、サブスクリプション内の**すべての役割を列挙する**ことができます。または、特定のリソースに対する権限を次のように指定して確認できます:**`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**。
さらに、十分な権限があれば、役割 **`Get-AzRoleAssignment`** を使用して、サブスクリプション内の**すべての役割を列挙する**ことができます。または、特定のリソースに対する権限を示すことができます: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**。
この情報は、次のコマンドを実行することでも取得できます**`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** 例えば
この情報は、次のコマンドを実行することでも取得できます: **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** 例えば:
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
3. **あなたに付与された役割の詳細な権限を見つける**
3. **あなたに付与された役割の詳細な権限を見つける**:
次に、詳細な権限を取得するには、**`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** を実行できます。
または、API を直接呼び出して、**`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`** を実行できます。
次のセクションでは、**最も一般的な Azure サービスとそれらを列挙する方法に関する情報**を見つけることができます
次のセクションでは、**最も一般的な Azure サービスとそれらを列挙する方法に関する情報**を見つけることができます:
{{#ref}}
az-services/
{{#endref}}
### Azure サービスにおける特権昇格、ポストエクスプロイテーションおよび持続性
### 特権昇格、ポストエクスプロイテーション & 永続性
Azure 環境の構造と使用されているサービスを理解したら、**特権を昇格させたり、横移動したり、他のポストエクスプロイテーション攻撃を実行したり、続性を維持する方法を探し始めることができます**。
Azure 環境の構造と使用されているサービスを理解したら、**特権を昇格させたり、横移動したり、他のポストエクスプロイテーション攻撃を実行したり、続性を維持する方法を探し始めることができます**。
次のセクションでは、最も一般的な Azure サービスで特権を昇格させる方法に関する情報を見つけることができます
次のセクションでは、最も一般的な Azure サービスで特権を昇格させる方法に関する情報を見つけることができます:
{{#ref}}
az-privilege-escalation/
{{#endref}}
次のセクションでは、最も一般的な Azure サービスでポストエクスプロイテーション攻撃を実行する方法に関する情報を見つけることができます
次のセクションでは、最も一般的な Azure サービスでポストエクスプロイテーション攻撃を実行する方法に関する情報を見つけることができます:
{{#ref}}
az-post-exploitation/
{{#endref}}
次のセクションでは、最も一般的な Azure サービスで続性を維持する方法に関する情報を見つけることができます
次のセクションでは、最も一般的な Azure サービスで続性を維持する方法に関する情報を見つけることができます:
{{#ref}}
az-persistence/