Translated ['src/pentesting-cloud/azure-security/az-basic-information/RE

This commit is contained in:
Translator
2025-02-10 23:33:05 +00:00
parent 8225031e4f
commit 6ff84dfb75
2 changed files with 88 additions and 80 deletions

View File

@@ -8,7 +8,7 @@
### アプリの同意権限
デフォルトでは、**ユーザーはアプリに同意できます**が、これは設定可能で、ユーザーが**選択された権限のために確認済みのパブリッシャーからのアプリにのみ同意できる**ようにすることや、ユーザーがアプリケーションに同意する権限を**削除する**こともできます。
デフォルトでは、**ユーザーはアプリに同意できます**が、これは設定可能で、ユーザーが**選択された権限の検証されたパブリッシャーのアプリにのみ同意できる**ようにすることや、**アプリケーションへの同意権限を削除する**こともできます。
<figure><img src="../../../images/image.png" alt=""><figcaption></figcaption></figure>
@@ -34,7 +34,7 @@
az rest --method GET --url "https://graph.microsoft.com/v1.0/policies/authorizationPolicy"
```
- ユーザーはすべてのアプリに同意できます: **`permissionGrantPoliciesAssigned`** 内に `ManagePermissionGrantsForSelf.microsoft-user-default-legacy` が見つかる場合、ユーザーはすべてのアプリケーションを受け入れることができます。
- ユーザーは確認済みのパブリッシャーまたは自組織のアプリに同意できますが、選択した権限のみ: **`permissionGrantPoliciesAssigned`** 内に `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team` が見つかる場合、ユーザーはすべてのアプリケーションを受け入れることができます。
- ユーザーは確認済みのパブリッシャーまたは自組織からのアプリに同意できますが、選択した権限に対してのみ: **`permissionGrantPoliciesAssigned`** 内に `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team` が見つかる場合、ユーザーはすべてのアプリケーションを受け入れることができます。
- **ユーザーの同意を無効にする**: **`permissionGrantPoliciesAssigned`** 内に `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-chat``ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team` のみが見つかる場合、ユーザーは同意できません。
コメントされたポリシーの意味を見つけることができます:
@@ -64,12 +64,12 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d60
1. **ドメイン登録とアプリケーションホスティング**: 攻撃者は、信頼できるサイトに似たドメイン(例:"safedomainlogin.com")を登録します。このドメインの下に、認証コードをキャプチャし、アクセストークンを要求するために設計されたアプリケーションをホストするサブドメイン(例:"companyname.safedomainlogin.com")を作成します。
2. **Azure ADでのアプリケーション登録**: 攻撃者は、ターゲット企業の名前を付けて、正当性を装ったマルチテナントアプリケーションを自分のAzure ADテナントに登録します。彼らは、悪意のあるアプリケーションをホストするサブドメインを指すようにアプリケーションのリダイレクトURLを設定します。
3. **権限の設定**: 攻撃者は、さまざまなAPI権限`Mail.Read``Notes.Read.All``Files.ReadWrite.All``User.ReadBasic.All``User.Read`)を持つアプリケーションを設定します。これらの権限は、ユーザーによって付与されると、攻撃者がユーザーの代わりに機密情報を抽出できるようにします。
4. **悪意のあるリンクの配布**: 攻撃者は、悪意のあるアプリケーションのクライアントIDを含むリンクを作成し、ターゲットユーザーと共有して、同意をるように騙します。
4. **悪意のあるリンクの配布**: 攻撃者は、悪意のあるアプリケーションのクライアントIDを含むリンクを作成し、ターゲットユーザーと共有して、同意を与えるように騙します。
## 例の攻撃
1. **新しいアプリケーション**を登録します。攻撃されたディレクトリのユーザーを使用している場合は現在のディレクトリのみに、外部攻撃の場合は任意のディレクトリに対して行うことができます(次の画像のように)。
1. また、**リダイレクトURI**、トークンを取得するためのコードを受け取る予定のURL(デフォルトでは`http://localhost:8000/callback`に設定します
1. **新しいアプリケーションを登録**します。攻撃されたディレクトリのユーザーを使用している場合は現在のディレクトリのみにすることができますが、外部攻撃の場合は任意のディレクトリにすることができます(次の画像のように)。
1. **リダイレクトURI**、トークンを取得するためのコードを受け取ることを期待するURLに設定します(デフォルトでは`http://localhost:8000/callback`)。
<figure><img src="../../../images/image (1).png" alt=""><figcaption></figcaption></figure>
@@ -86,9 +86,9 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d60
# From https://github.com/carlospolop/azure_oauth_phishing_example
python3 azure_oauth_phishing_example.py --client-secret <client-secret> --client-id <client-id> --scopes "email,Files.ReadWrite.All,Mail.Read,Notes.Read.All,offline_access,openid,profile,User.Read"
```
5. **URLを犠牲者に送信する**
5. **URLを被害者に送信する**
1. この場合 `http://localhost:8000`
6. **犠牲者**は**プロンプトを受け入れる必要があります:**
6. **被害者**は**プロンプトを受け入れる必要があります:**
<figure><img src="../../../images/image (4).png" alt=""><figcaption></figcaption></figure>
@@ -114,18 +114,25 @@ https://graph.microsoft.com/v1.0/me/onenote/notebooks \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Accept: application/json"
```
## その他のツール
## Other Tools
- [**365-Stealer**](https://github.com/AlteredSecurity/365-Stealer)**:** [https://www.alteredsecurity.com/post/introduction-to-365-stealer](https://www.alteredsecurity.com/post/introduction-to-365-stealer) を確認して、設定方法を学んでください。
- [**365-Stealer**](https://github.com/AlteredSecurity/365-Stealer)**:** [https://www.alteredsecurity.com/post/introduction-to-365-stealer](https://www.alteredsecurity.com/post/introduction-to-365-stealer)を確認して、設定方法を学んでください。
- [**O365-Attack-Toolkit**](https://github.com/mdsecactivebreach/o365-attack-toolkit)
## ポストエクスプロイト
## Post-Exploitation
### フィッシングポストエクスプロイト
### Phishing Post-Exploitation
要求された権限に応じて、**テナントの異なるデータにアクセスできる可能性があります**(ユーザー、グループのリスト...または設定変更)および**ユーザーの情報**(ファイル、ノート、メール...)。その後、これらの権限を使用してこれらのアクションを実行できます。
要求された権限に応じて、**テナントの異なるデータにアクセスできる**(ユーザー、グループのリスト...または設定変更することさえ)と、**ユーザーの情報**(ファイル、ノート、メール...にアクセスできるかもしれません。その後、これらの権限を使用してこれらのアクションを実行できます。
### アプリケーションポストエクスプロイト
### Entra ID Applications Admin
もし、Entra IDでアプリケーションを管理できるEntra IDプリンシパルを何らかの方法で侵害できた場合、テナントのユーザーによって使用されているアプリケーションがあります。管理者は**アプリが要求している権限を変更し、トークンを盗むための新しい許可されたリダイレクトアドレスを追加できる**でしょう。
- リダイレクトURIを**追加することが可能**です本物のものを削除する必要はありませんそして、攻撃者のリダイレクトURIを使用してHTTPリンクを送信することができるので、ユーザーがリンクをたどると認証が自動的に行われ、攻撃者がトークンを受け取ります。
- アプリが要求する権限を変更して、ユーザーからより多くの権限を取得することも可能ですが、その場合、ユーザーは**再度プロンプトを承認する必要があります**(すでにログインしていても)。
- この攻撃を実行するために、攻撃者は**アプリケーションコードを制御する必要はありません**。彼は単に新しいURLを**`redirect_uri`**パラメータに持つアプリへのログインリンクをユーザーに送信することができます。
### Application Post Exploitation
ページのアプリケーションとサービスプリンシパルのセクションを確認してください:
@@ -133,7 +140,7 @@ https://graph.microsoft.com/v1.0/me/onenote/notebooks \
../az-privilege-escalation/az-entraid-privesc/
{{#endref}}
## 参考文献
## References
- [https://www.alteredsecurity.com/post/introduction-to-365-stealer](https://www.alteredsecurity.com/post/introduction-to-365-stealer)
- [https://swisskyrepo.github.io/InternalAllTheThings/cloud/azure/azure-phishing/](https://swisskyrepo.github.io/InternalAllTheThings/cloud/azure/azure-phishing/)