mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 11:26:11 -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`
|
||||
Bir host havuzundaki sanal makineleri kaydetmek için kullanılan kayıt token'ını alabilirsiniz.
|
||||
```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")
|
||||
|
||||
Bu izinlerle, sanal masaüstünün sanal makinesine erişmek için gereken Uygulama grubuna bir kullanıcı ataması ekleyebilirsiniz.
|
||||
```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>"
|
||||
}
|
||||
}'
|
||||
```
|
||||
Ayrıca, sanal makine kullanıcısını ve şifresini değiştirerek ona erişim sağlayabilirsiniz.
|
||||
```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, **masaüstü ve uygulama sanallaştırma hizmeti**dir. Kullanıcılara, Windows 11, Windows 10 veya Windows Server dahil olmak üzere tam Windows masaüstlerini, bireysel masaüstler veya bireysel uygulamalar aracılığıyla uzaktan sunma imkanı sağlar. Kişisel kullanım için tek oturumlu kurulumları ve çoklu oturum ortamlarını destekler. Kullanıcılar, yerel uygulamalar veya bir web tarayıcısı kullanarak neredeyse herhangi bir cihazdan bağlanabilirler.
|
||||
|
||||
### Host Pools
|
||||
|
||||
Azure Virtual Desktop'taki host havuzları, sanal masaüstleri ve uygulamaları kullanıcılara sağlayan oturum ana bilgisayarı olarak yapılandırılmış Azure sanal makinelerinin koleksiyonlarıdır. İki ana tür vardır:
|
||||
- **Kişisel host havuzları**, her sanal makinenin tek bir kullanıcıya tahsis edildiği, kendi ortamlarıyla birlikte
|
||||
- **Paylaşımlı host havuzları**, birden fazla kullanıcının mevcut oturum ana bilgisayarındaki kaynakları paylaştığı. Yapılandırılabilir bir oturum limiti vardır ve bir oturum ana bilgisayarı yapılandırması, Azure Virtual Desktop'ın yapılandırmaya dayalı olarak oturum ana bilgisayarlarının oluşturulmasını otomatikleştirmesine olanak tanır.
|
||||
|
||||
Her host havuzunun, bir host havuzundaki sanal makineleri kaydetmek için kullanılan bir **kayıt token'ı** vardır.
|
||||
|
||||
### Uygulama grupları & Workspace
|
||||
Uygulama grupları, **kullanıcı erişimini** ya tam bir masaüstüne ya da bir host havuzundaki oturum ana bilgisayarlarında mevcut belirli uygulama setlerine kontrol eder. İki tür vardır:
|
||||
- **Masaüstü uygulama grupları**, kullanıcılara tam bir Windows masaüstüne erişim sağlar (hem kişisel hem de paylaşımlı host havuzları ile mevcut)
|
||||
- **RemoteApp grupları**, kullanıcılara bireysel yayımlanmış uygulamalara erişim sağlar (yalnızca paylaşımlı host havuzları ile mevcut).
|
||||
Bir host havuzu bir Masaüstü uygulama grubuna sahip olabilir, ancak birden fazla RemoteApp grubuna sahip olabilir. Kullanıcılar, farklı host havuzları arasında birden fazla uygulama grubuna atanabilir. Bir kullanıcı, aynı host havuzunda hem masaüstü hem de RemoteApp gruplarına atanmışsa, yalnızca yöneticiler tarafından belirlenen tercih edilen grup türünden kaynakları görür.
|
||||
|
||||
Bir **workspace**, kullanıcılara atanan masaüstleri ve uygulama gruplarına erişim sağlayan bir **uygulama grupları koleksiyonu**dur. Her uygulama grubu bir workspace ile bağlantılı olmalı ve yalnızca bir workspace'e ait olabilir.
|
||||
|
||||
### Ana Özellikler
|
||||
- **Esnek VM Oluşturma**: Azure sanal makinelerini doğrudan oluşturun veya daha sonra Azure Yerel sanal makineleri ekleyin.
|
||||
- **Güvenlik Özellikleri**: Gelişmiş VM güvenliği için Trusted Launch'ı (güvenli önyükleme, vTPM, bütünlük izleme) etkinleştirin (bir sanal ağa ihtiyaç vardır). Azure Firewall ile entegre edilebilir ve trafiği Ağ Güvenlik Grupları aracılığıyla kontrol edebilir.
|
||||
- **Domain Join**: Özelleştirilebilir yapılandırmalarla Active Directory alan katılımını destekler.
|
||||
- **Tanılama & İzleme**: İzleme için günlükleri ve metrikleri Log Analytics, depolama hesaplarına veya olay merkezlerine akıtmak için Tanılama Ayarlarını etkinleştirin.
|
||||
- **Özel görüntü şablonları**: Oturum ana bilgisayarları eklerken kullanmak üzere oluşturun ve yönetin. Yaygın özelleştirmeleri veya kendi özel betiklerinizi kolayca ekleyin.
|
||||
- **Workspace Kaydı**: Kullanıcı erişim yönetimini basitleştirmek için yeni veya mevcut workspace'lere varsayılan masaüstü uygulama gruplarını kolayca kaydedin.
|
||||
|
||||
### 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"
|
||||
|
||||
```
|
||||
### Bağlantı
|
||||
|
||||
Web üzerinden sanal masaüstüne bağlanmak için https://client.wvd.microsoft.com/arm/webclient/ (en yaygın) veya https://client.wvd.microsoft.com/webclient/index.html (klasik) adreslerinden erişebilirsiniz. Burada açıklanan diğer yöntemler de mevcuttur [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)
|
||||
|
||||
## Privesc
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-virtual-desktop-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user