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

This commit is contained in:
Translator
2025-02-26 16:08:24 +00:00
parent 72bbc1fe23
commit 64364e1231
5 changed files with 143 additions and 73 deletions

View File

@@ -0,0 +1,21 @@
# Az - VMs & Netwerk Post Exploitatie
{{#include ../../../banners/hacktricks-training.md}}
## Virtuele Desktop
Vir meer inligting oor Virtuele Desktop, kyk na die volgende bladsy:
{{#ref}}
../az-services/az-virtual-desktop.md
{{#endref}}
### Algemene tegnieke
- Oorskryf 'n **MSIX-pakket van die stoorrekening** om RCE in enige VM te verkry wat daardie app gebruik.
- In 'n remoteapp is dit moontlik om die **pad van die binêre uit te voer** te verander.
- **Ontsnap van apps** na 'n shell om RCE te verkry.
- Enige post exploitatie aanval & volharding van **Azure VMs.**
- Dit is moontlik om 'n **script te konfigureer om in die poel uitgevoer te word** om pasgemaakte konfigurasies toe te pas.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,17 +1,26 @@
# Az - Virtual Desktop Privesc
# Az - Virtuele Desktop Privesc
{{#include ../../../banners/hacktricks-training.md}}
## Azure Virtual Desktop Privesc
## Azure Virtuele Desktop Privesc
Vir meer inligting oor Azure Virtuele Desktop, kyk:
{{#ref}}
../az-services/az-virtual-desktop.md
{{#endref}}
### `Microsoft.DesktopVirtualization/hostPools/retrieveRegistrationToken/action`
Jy kan die registrasietoken wat gebruik word om virtuele masjiene binne 'n gasheerpoel te registreer, verkry.
```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
Met hierdie toestemmings kan jy 'n gebruikersopdrag by die Toepassing groep voeg, wat nodig is om toegang tot die virtuele masjien van die virtuele desktop te verkry.
> [!WARNING]
> 'n Aanvaller met hierdie toestemmings kan dinge doen wat baie gevaarliker is as hierdie een.
Met hierdie toestemmings kan jy 'n gebruikersopdrag aan die Toepassing-groep voeg, wat nodig is om toegang te verkry tot die virtuele masjien van die virtuele desktop:
```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 +31,6 @@ az rest --method PUT \
}
}'
```
Boonop kan jy die gebruikersnaam en wagwoord van die virtuele masjien verander om toegang te verkry.
```bash
az vm user update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VM_NAME> \
--username <USERNAME> \
--password <NEW_PASSWORD>
```
Let wel dat 'n gebruiker die toegang tot 'n Desktop of 'n toepassing wil hê, ook die rol `Virtual Machine User Login` of `Virtual Machine Administrator Login` oor die VM nodig het.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -93,7 +93,7 @@ Dit is ook moontlik om bekende uitbreidings te misbruik om kode uit te voer of b
<summary>VMAccess uitbreiding</summary>
Hierdie uitbreiding stel jou in staat om die wagwoord te wysig (of te skep as dit nie bestaan nie) van gebruikers binne Windows VM's.
Hierdie uitbreiding maak dit moontlik om die wagwoord te wysig (of te skep as dit nie bestaan nie) van gebruikers binne Windows VM's.
```bash
# Run VMAccess extension to reset the password
$cred=Get-Credential # Username and password to reset (if it doesn't exist it'll be created). "Administrator" username is allowed to change the password
@@ -155,9 +155,9 @@ Set-AzVMDscExtension `
<details>
<summary>Hibrid Runbook Werker</summary>
<summary>Hibriede Runbook Werker</summary>
Dit is 'n VM-uitbreiding wat sal toelaat om runbooks in VM's vanaf 'n outomatiseringsrekening uit te voer. Vir meer inligting, kyk na die [Outomatiseringsrekeninge diens](../az-services/az-automation-account/index.html).
Dit is 'n VM-uitbreiding wat die uitvoering van runbooks in VM's vanaf 'n outomatiseringsrekening moontlik maak. Vir meer inligting, kyk na die [Outomatiseringsrekeninge diens](../az-services/az-automation-account/index.html).
</details>
@@ -167,7 +167,7 @@ Dit is die vereiste toestemmings om **'n nuwe galerytoepassing te skep en dit bi
Die laaste 2 toestemmings kan vermy word deur die toepassing met die huurder te deel.
Eksploitasiemvoorbeeld om arbitrêre opdragte uit te voer:
Eksploitasiemodel om arbitrêre opdragte uit te voer:
{{#tabs }}
{{#tab name="Linux" }}
@@ -251,7 +251,7 @@ az vm application set \
### `Microsoft.Compute/virtualMachines/runCommand/action`
Dit is die mees basiese meganisme wat Azure bied om **arbitraire opdragte in VM's uit te voer:**
Dit is die mees basiese mechanisme wat Azure bied om **arbitraire opdragte in VM's uit te voer:**
{{#tabs }}
{{#tab name="Linux" }}
@@ -298,13 +298,13 @@ Invoke-AzureRmVMBulkCMD -Script Mimikatz.ps1 -Verbose -output Output.txt
### `Microsoft.Compute/virtualMachines/login/action`
Hierdie toestemming laat 'n gebruiker toe om **as gebruiker in 'n VM in te log via SSH of RDP** (solank as Entra ID-outeentiging in die VM geaktiveer is).
Hierdie toestemming laat 'n gebruiker toe om **as gebruiker in 'n VM in te log via SSH of RDP** (solank Entra ID-outeentiging in die VM geaktiveer is).
Teken in via **SSH** met **`az ssh vm --name <vm-name> --resource-group <rsc-group>`** en via **RDP** met jou **gereelde Azure-akkrediteerings**.
### `Microsoft.Compute/virtualMachines/loginAsAdmin/action`
Hierdie toestemming laat 'n gebruiker toe om **as gebruiker in 'n VM in te log via SSH of RDP** (solank as Entra ID-outeentiging in die VM geaktiveer is).
Hierdie toestemming laat 'n gebruiker toe om **as gebruiker in 'n VM in te log via SSH of RDP** (solank Entra ID-outeentiging in die VM geaktiveer is).
Teken in via **SSH** met **`az ssh vm --name <vm-name> --resource-group <rsc-group>`** en via **RDP** met jou **gereelde Azure-akkrediteerings**.
@@ -328,7 +328,7 @@ az vm create \
### `Microsoft.Compute/virtualMachines/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Daardie toestemmings is genoeg om **nuwe bestuurde identiteite aan 'n VM toe te ken**. Let daarop dat 'n VM verskeie bestuurde identiteite kan hê. Dit kan die **stelselt toegekende een** hê, en **baie gebruikers bestuurde identiteite**.\
Dan, vanaf die metadata-diens is dit moontlik om tokens vir elkeen te genereer.
Dan is dit moontlik om tokens vir elkeen te genereer vanaf die metadata-diens.
```bash
# Get currently assigned managed identities to the VM
az vm identity show \
@@ -349,8 +349,18 @@ Dan moet die aanvaller **op een of ander manier die VM gecompromitteer** het om
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"
Hierdie toestemmings laat toe om die gebruikersnaam en wagwoord van die virtuele masjien te verander om toegang te verkry:
```bash
az vm user update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VM_NAME> \
--username <USERNAME> \
--password <NEW_PASSWORD>
```
### TODO: Microsoft.Compute/virtualMachines/WACloginAsAdmin/action
Volgens die [**dokumentasie**](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/compute#microsoftcompute), laat hierdie toestemming jou toe om die OS van jou hulpbron via Windows Admin Center as 'n administrateur te bestuur. Dit lyk dus of dit toegang tot die WAC gee om die VM's te beheer...
Volgens die [**dokumentasie**](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/compute#microsoftcompute) laat hierdie toestemming jou toe om die OS van jou hulpbron via Windows Admin Center as 'n administrateur te bestuur. Dit lyk dus of dit toegang tot die WAC bied om die VM's te beheer...
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,61 +4,104 @@
## Azure Virtuele Desktop
Virtuele Desktop is 'n **desktop- en toepassingsvirtualiseringsdiens**. Dit stel in staat om volledige Windows-desktops, insluitend Windows 11, Windows 10, of Windows Server aan gebruikers op afstand te lewer, hetsy as individuele desktops of deur individuele toepassings. Dit ondersteun enkel-sessie opstellings vir persoonlike gebruik en multi-sessie omgewings. Gebruikers kan van feitlik enige toestel af aansluit met behulp van inheemse toepassings of 'n webblaaier.
Virtuele Desktop is 'n **desktop en app virtualiseringsdiens**. Dit stel in staat om volledige Windows-desktops, insluitend Windows 11, Windows 10, of Windows Server aan gebruikers op afstand te lewer, hetsy as individuele desktops of deur individuele toepassings. Dit ondersteun enkel-sessie opstellings vir persoonlike gebruik en multi-sessie omgewings. Gebruikers kan van feitlik enige toestel aansluit met behulp van inheemse toepassings of 'n webblaaier.
### Gasheerpoele
Gasheerpoele in Azure Virtuele Desktop is versamelings van Azure virtuele masjiene wat as sessiegashere geconfigureer is, wat virtuele desktops en toepassings aan gebruikers bied. Daar is twee hoofsoorte:
- **Persoonlike gasheerpoele**, waar elke virtuele masjien aan 'n enkele gebruiker toegewy is, met sy omgewings
- **Gepoolde gasheerpoele**, waar verskeie gebruikers hulpbronne op enige beskikbare sessiegasheer deel. Dit het 'n konfigureerbare sessiegrens en 'n sessiegasheer-konfigurasie laat Azure Virtuele Desktop die skepping van sessiegashere outomatiseer op grond van 'n konfigurasie.
Gasheerpoele in Azure Virtuele Desktop is versamelings van Azure virtuele masjiene wat as sessiegashere geconfigureer is, wat virtuele desktops en toepassings aan gebruikers bied. Daar is twee hoof tipes:
Elke gasheerpoel het 'n **registrasietoken** wat gebruik word om virtuele masjiene binne 'n gasheerpoel te registreer.
- **Persoonlike gasheerpoele**, waar elke virtuele masjien aan 'n enkele gebruiker toegewy is.
- Dit kan geconfigureer word sodat die **admin spesifieke gebruikers aan VM's kan toewys** of dit kan **outomaties** gedoen word.
- Dit is ideaal vir mense met intensiewe werklas, aangesien elke persoon sy eie VM sal hê. Boonop sal hulle in staat wees om lêers te stoor en instellings in die OS-skyf te konfigureer en hierdie sal voortduur aangesien **elke gebruiker sy eie VM (gasheer)** het.
### Toepassing groepe & Werkruimte
Toepassing groepe **beheer gebruikers toegang** tot óf 'n volledige desktop óf spesifieke stelle toepassings wat beskikbaar is op sessiegashere binne 'n gasheerpoel. Daar is twee tipes:
- **Desktoptoepassing groepe**, wat gebruikers toegang gee tot 'n volledige Windows-desktop (beskikbaar met beide persoonlike en gepoolde gasheerpoele)
- **RemoteApp groepe**, wat gebruikers toelaat om toegang te verkry tot individuele gepubliseerde toepassings (slegs beskikbaar met gepoolde gasheerpoele).
'n Gasheerpoel kan een Desktoptoepassing groep hê, maar verskeie RemoteApp groepe. Gebruikers kan aan verskeie toepassing groepe oor verskillende gasheerpoele toegeken word. As 'n gebruiker aan beide desktop- en RemoteApp groepe binne dieselfde gasheerpoel toegeken word, sien hulle slegs hulpbronne van die voorkeurgroep tipe wat deur administrateurs gestel is.
- **Gedeelde gasheerpoele**, waar verskeie **gebruikers hulpbronne deel** op beskikbare sessiegashere.
- Dit is moontlik om 'n **maksimum aantal gebruikers** (sessies) per gasheer te configureer.
- Dit is moontlik om **VM's handmatig by te voeg** met behulp van registrasiesleutels, of **toelaat dat Azure outomaties die aantal gashere skaal** sonder die opsie om VM's met die registrasiesleutel by te voeg. Dit is nie moontlik om VM's outomaties te skaal vir persoonlike poele nie.
- Om lêers in gebruikerssessies te behou, is dit nodig om **FSlogix** te gebruik.
'n **Werkruimte** is 'n **versameling van toepassing groepe**, wat gebruikers toelaat om toegang te verkry tot die desktops en toepassing groepe wat aan hulle toegeken is. Elke toepassing groep moet aan 'n werkruimte gekoppel wees, en dit kan slegs aan een werkruimte op 'n slag behoort.
### Sessiegashere
### Sleutelkenmerke
- **Buigsame VM-skepping**: Skep Azure virtuele masjiene direk of voeg later Azure Plaaslike virtuele masjiene by.
- **Sekuriteitskenmerke**: Aktiveer Betroubare Begin (veilige opstart, vTPM, integriteitsmonitering) vir gevorderde VM-sekuriteit ('n virtuele netwerk is nodig). Kan Azure Firewall integreer en verkeer via Netwerk Sekuriteitsgroepe beheer.
- **Domeinverbinding**: Ondersteuning vir Aktiewe Gids domeinverbinding met aanpasbare konfigurasies.
- **Diagnostiek & Monitering**: Aktiveer Diagnostiese Instellings om logs en metrieke na Log Analytics, stoor rekeninge, of gebeurtenis hubs te stroom vir monitering.
- **Pasgemaakte beeldsjablone**: Skep en bestuur hulle om te gebruik wanneer sessiegashere bygevoeg word. Voeg maklik algemene aanpassings of jou eie pasgemaakte skripte by.
- **Werkruimte Registrasie**: Registreer maklik standaard desktoptoepassing groepe aan nuwe of bestaande werkruimtes vir vereenvoudigde gebruikers toegang bestuur.
Dit is die **VM's waaraan gebruikers sal aansluit.**
### Enumerasie
- As outomatiese skaal gekies is, sal 'n sjabloon geskep word met die **kenmerke van die gashere** wat vir die poel geskep moet word.
- As nie, wanneer die Gasheerpoel geskep word, is dit moontlik om die **kenmerke en die aantal VM's** wat jy wil skep aan te dui en Azure sal dit vir jou skep en byvoeg.
Die hoofkenmerke om die **VM's te configureer** is:
- Die **prefix** naam van die nuwe VM's
- Die **VM tipe**: Dit kan “Azure virtuele masjien” wees (om Azure VM's te gebruik) of “Azure Plaaslike virtuele masjien” wat toelaat dat gashere op die perseel of aan die rand ontplooi word.
- Die ligging, sones, VM-sekuriteitsopsies, beeld, CPU, geheue, skyfgrootte…
- Die **VNet, sekuriteitsgroep en poorte** om aan die internet bloot te stel
- Dit is moontlik om akrediteer te stel om outomaties **aan 'n AD-domein aan te sluit**, of gebruik Entra ID-gids
- As Entra ID, is dit moontlik om die nuwe VM outomaties **in Intune te registreer**
- Dit is nodig om 'n **administrateur gebruikersnaam en wagwoord** in te stel tensy Azure die gashere sal skaal, in daardie geval moet 'n **geheim geconfigureer word met die gebruikersnaam en nog een met die wagwoord**
- Dit is moontlik om 'n **script te configureer wat uitgevoer moet word** vir aangepaste konfigurasie
### Toepassing Groepe
**Toepassing groepe** beheer gebruikers toegang tot óf 'n volledige desktop óf spesifieke stelle toepassings wat op sessiegashere binne 'n gasheerpoel beskikbaar is.
Daar is twee tipes toepassing groepe:
- **Desktop toepassing groepe**, wat gebruikers toegang gee tot 'n volledige Windows-desktop en aangehegte toepassings.
- **RemoteApp groepe**, wat gebruikers toelaat om toegang te verkry tot individuele toepassings.
- Dit is nie moontlik om hierdie soort toepassing groep aan 'n Persoonlike Poel toe te wys nie.
- Dit is nodig om die pad na die binêre wat binne die VM uitgevoer moet word aan te dui.
'n Gedeelde Poel kan **een Desktop toepassing** groep en **meerdere RemoteApp groepe** hê en gebruikers kan aan meerdere toepassing groepe oor verskillende gasheerpoele toegewy word.
Wanneer 'n gebruiker **toegang verleen** word, word die rol **`Desktop Virtualization User`** oor die toepassing groep gegee.
### Werkruimtes & Verbindinge
'n **werkruimte** is 'n versameling van toepassing groepe.
Om te **verbinde** met die Desktop of toepassings wat toegewy is, is dit moontlik om dit te doen vanaf [https://windows365.microsoft.com/ent#/devices](https://windows365.microsoft.com/ent#/devices)
En daar is ander metodes beskryf op [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)
Wanneer 'n gebruiker sy rekening toegang, sal hy **geskei deur werkruimtes alles wat hy toegang het tot** aangebied word. Daarom is dit nodig om **elke toepassing groep aan een werkruimte** toe te voeg sodat die gedefinieerde toegang sigbaar is.
Om 'n gebruiker in staat te stel om toegang te verkry tot 'n Desktop of 'n toepassing, het hy ook die rol **`Virtual Machine User Login`** of **`Virtual Machine Administrator Login`** oor die VM nodig.
### Gemanagte Identiteite
Dit is nie moontlik om gemanagte identiteite aan gasheerpoele toe te wys nie, so die geskepte VM's binne 'n poel sal dit hê.
Dit is egter moontlik om **stelsel en gebruiker gemanagte identiteite aan die VM's toe te wys** en dan toegang tot die tokens vanaf die metadata te verkry. Trouens, na die bekendstelling van die gasheerpoele vanaf die web, het die 2 gegenereerde VM's die stelsel toegewyde gemanagte identiteit geaktiveer (alhoewel dit geen regte het nie).
### Opsomming
```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"
```
### Verbinding
Om via die web met die virtuele desktop te verbind, kan jy toegang verkry deur https://client.wvd.microsoft.com/arm/webclient/ (meest algemeen), of https://client.wvd.microsoft.com/webclient/index.html (klassiek)
Daar is ander metodes wat hier beskryf word [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}}