mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-06 12:51:19 -08:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
@@ -431,6 +431,7 @@
|
||||
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)
|
||||
- [Az - Storage Accounts & Blobs](pentesting-cloud/azure-security/az-services/az-storage.md)
|
||||
- [Az - Table Storage](pentesting-cloud/azure-security/az-services/az-table-storage.md)
|
||||
- [Az - Virtual Desktop](pentesting-cloud/azure-security/az-services/az-virtual-desktop.md)
|
||||
- [Az - Virtual Machines & Network](pentesting-cloud/azure-security/az-services/vms/README.md)
|
||||
- [Az - Azure Network](pentesting-cloud/azure-security/az-services/vms/az-azure-network.md)
|
||||
- [Az - Permissions for a Pentest](pentesting-cloud/azure-security/az-permissions-for-a-pentest.md)
|
||||
@@ -485,11 +486,13 @@
|
||||
- [Az - Static Web App Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-static-web-apps-privesc.md)
|
||||
- [Az - Storage Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md)
|
||||
- [Az - SQL Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md)
|
||||
- [Az - Virtual Desktop Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-desktop-privesc.md)
|
||||
- [Az - Virtual Machines & Network Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md)
|
||||
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
|
||||
- [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md)
|
||||
- [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
|
||||
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistence.md)
|
||||
- [Az - Logic Apps Persistence](pentesting-cloud/azure-security/az-persistence/az-logic-apps-persistence.md)
|
||||
- [Az - SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistence.md)
|
||||
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistence.md)
|
||||
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
|
||||
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# Az - Virtual Desktop Privesx
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Azure Virtual Desktop Privesc
|
||||
|
||||
### `Microsoft.DesktopVirtualization/hostPools/retrieveRegistrationToken/action`
|
||||
호스트 풀 내에서 가상 머신을 등록하는 데 사용되는 등록 토큰을 검색할 수 있습니다.
|
||||
```bash
|
||||
az desktopvirtualization hostpool retrieve-registration-token -n testhostpool -g Resource_Group_1
|
||||
```
|
||||
### ("Microsoft.Authorization/roleAssignments/read", "Microsoft.Authorization/roleAssignments/write") && ("Microsoft.Compute/virtualMachines/read","Microsoft.Compute/virtualMachines/write","Microsoft.Compute/virtualMachines/extensions/read","Microsoft.Compute/virtualMachines/extensions/write")
|
||||
|
||||
이 권한을 사용하면 가상 데스크톱의 가상 머신에 접근하는 데 필요한 애플리케이션 그룹에 사용자 할당을 추가할 수 있습니다.
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--uri "https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.DesktopVirtualization/applicationGroups/<APP_GROUP_NAME>/providers/Microsoft.Authorization/roleAssignments/<NEW_ROLE_ASSIGNMENT_GUID>?api-version=2022-04-01" \
|
||||
--body '{
|
||||
"properties": {
|
||||
"roleDefinitionId": "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63",
|
||||
"principalId": "<USER_OBJECT_ID>"
|
||||
}
|
||||
}'
|
||||
```
|
||||
또한 가상 머신 사용자와 비밀번호를 변경하여 접근할 수 있습니다.
|
||||
```bash
|
||||
az vm user update \
|
||||
--resource-group <RESOURCE_GROUP_NAME> \
|
||||
--name <VM_NAME> \
|
||||
--username <USERNAME> \
|
||||
--password <NEW_PASSWORD>
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -0,0 +1,101 @@
|
||||
# Az - Virtual Desktop
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Azure Virtual Desktop
|
||||
|
||||
Virtual Desktop는 **데스크탑 및 앱 가상화 서비스**입니다. 이를 통해 Windows 11, Windows 10 또는 Windows Server를 포함한 전체 Windows 데스크탑을 개별 데스크탑 또는 개별 애플리케이션을 통해 원격으로 사용자에게 제공할 수 있습니다. 개인 사용을 위한 단일 세션 설정과 다중 세션 환경을 지원합니다. 사용자는 기본 앱이나 웹 브라우저를 사용하여 사실상 모든 장치에서 연결할 수 있습니다.
|
||||
|
||||
### Host Pools
|
||||
|
||||
Azure Virtual Desktop의 호스트 풀은 세션 호스트로 구성된 Azure 가상 머신의 모음으로, 사용자에게 가상 데스크탑과 앱을 제공합니다. 두 가지 주요 유형이 있습니다:
|
||||
- **개인 호스트 풀**: 각 가상 머신이 단일 사용자에게 전용으로 할당되며, 각자의 환경을 가집니다.
|
||||
- **풀 호스트 풀**: 여러 사용자가 사용 가능한 세션 호스트에서 리소스를 공유합니다. 구성 가능한 세션 한도가 있으며, 세션 호스트 구성은 Azure Virtual Desktop이 구성에 따라 세션 호스트 생성을 자동화할 수 있게 합니다.
|
||||
|
||||
모든 호스트 풀에는 **등록 토큰**이 있으며, 이는 호스트 풀 내에서 가상 머신을 등록하는 데 사용됩니다.
|
||||
|
||||
### Application groups & Workspace
|
||||
애플리케이션 그룹은 **사용자 액세스**를 호스트 풀 내의 세션 호스트에서 사용할 수 있는 전체 데스크탑 또는 특정 애플리케이션 세트로 제어합니다. 두 가지 유형이 있습니다:
|
||||
- **데스크탑 애플리케이션 그룹**: 사용자가 전체 Windows 데스크탑에 접근할 수 있도록 합니다(개인 및 풀 호스트 풀 모두에서 사용 가능).
|
||||
- **RemoteApp 그룹**: 사용자가 개별 게시 애플리케이션에 접근할 수 있도록 합니다(풀 호스트 풀에서만 사용 가능).
|
||||
호스트 풀은 하나의 데스크탑 애플리케이션 그룹을 가질 수 있지만 여러 RemoteApp 그룹을 가질 수 있습니다. 사용자는 서로 다른 호스트 풀에서 여러 애플리케이션 그룹에 할당될 수 있습니다. 사용자가 동일한 호스트 풀 내에서 데스크탑 및 RemoteApp 그룹 모두에 할당된 경우, 관리자가 설정한 기본 그룹 유형의 리소스만 볼 수 있습니다.
|
||||
|
||||
**워크스페이스**는 **애플리케이션 그룹의 모음**으로, 사용자가 할당된 데스크탑 및 애플리케이션 그룹에 접근할 수 있도록 합니다. 각 애플리케이션 그룹은 워크스페이스에 연결되어야 하며, 한 번에 하나의 워크스페이스에만 속할 수 있습니다.
|
||||
|
||||
### Key Features
|
||||
- **유연한 VM 생성**: Azure 가상 머신을 직접 생성하거나 나중에 Azure Local 가상 머신을 추가합니다.
|
||||
- **보안 기능**: 고급 VM 보안을 위해 신뢰할 수 있는 시작(보안 부팅, vTPM, 무결성 모니터링)을 활성화합니다(가상 네트워크 필요). Azure Firewall과 통합하고 네트워크 보안 그룹을 통해 트래픽을 제어할 수 있습니다.
|
||||
- **도메인 가입**: 사용자 정의 가능한 구성으로 Active Directory 도메인 가입을 지원합니다.
|
||||
- **진단 및 모니터링**: 진단 설정을 활성화하여 로그 및 메트릭을 Log Analytics, 스토리지 계정 또는 이벤트 허브로 스트리밍하여 모니터링합니다.
|
||||
- **사용자 정의 이미지 템플릿**: 세션 호스트를 추가할 때 사용할 수 있도록 생성하고 관리합니다. 일반적인 사용자 정의 또는 자체 사용자 정의 스크립트를 쉽게 추가할 수 있습니다.
|
||||
- **워크스페이스 등록**: 새 또는 기존 워크스페이스에 기본 데스크탑 애플리케이션 그룹을 쉽게 등록하여 사용자 액세스 관리를 간소화합니다.
|
||||
|
||||
### Enumeration
|
||||
```bash
|
||||
az extension add --name desktopvirtualization
|
||||
|
||||
# List HostPool of a Resource group
|
||||
az desktopvirtualization hostpool list --resource-group <Resource_Group>
|
||||
|
||||
# List Application Groups
|
||||
az desktopvirtualization applicationgroup list --resource-group <Resource_Group>
|
||||
# List Application Groups By Subscription
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2024-04-03"
|
||||
# List Applications in a Application Group
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications?api-version=2024-04-03"
|
||||
# List Assigned Users to the Application Group
|
||||
az rest \
|
||||
--method GET \
|
||||
--url "https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.DesktopVirtualization/applicationGroups/<APP_GROUP_NAME>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" \
|
||||
| jq '.value[] | select((.properties.scope | ascii_downcase) == "/subscriptions/<subscription_id_in_lowercase>/resourcegroups/<resource_group_name_in_lowercase>/providers/microsoft.desktopvirtualization/applicationgroups/<app_group_name_in_lowercase>")'
|
||||
|
||||
|
||||
# List Workspace in a resource group
|
||||
az desktopvirtualization workspace list --resource-group <Resource_Group>
|
||||
# List Workspace in a subscription
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2024-04-03"
|
||||
|
||||
# List App Attach Package By Resource Group
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages?api-version=2024-04-03"
|
||||
# List App Attach Package By Subscription
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/appAttachPackages?api-version=2024-04-03"
|
||||
|
||||
# List Desktops
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops?api-version=2024-04-03"
|
||||
|
||||
# List MSIX Packages
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages?api-version=2024-04-03"
|
||||
|
||||
# List private endpoint connections associated with hostpool.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections?api-version=2024-04-03"
|
||||
# List private endpoint connections associated By Workspace.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections?api-version=2024-04-03"
|
||||
|
||||
# List the private link resources available for a hostpool.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources?api-version=2024-04-03"
|
||||
# List the private link resources available for this workspace.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources?api-version=2024-04-03"
|
||||
|
||||
# List sessionHosts/virtual machines.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts?api-version=2024-04-03"
|
||||
|
||||
# List start menu items in the given application group.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems?api-version=2024-04-03"
|
||||
|
||||
# List userSessions.
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions?api-version=2024-04-03"
|
||||
# List userSessions By Host Pool
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions?api-version=2024-04-03"
|
||||
|
||||
```
|
||||
### 연결
|
||||
|
||||
웹을 통해 가상 데스크톱에 연결하려면 https://client.wvd.microsoft.com/arm/webclient/ (가장 일반적) 또는 https://client.wvd.microsoft.com/webclient/index.html (클래식)을 통해 접근할 수 있습니다. 다른 방법은 여기에서 설명되어 있습니다 [https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-remote-desktop-client?tabs=windows](https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-remote-desktop-client?tabs=windows)
|
||||
|
||||
## 권한 상승
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-virtual-desktop-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user