Az - Virtual Machines & Network Privesc
Last updated
Last updated
Aprenda e pratique Hacking AWS: Aprenda e pratique Hacking GCP:
Para mais informações sobre Máquinas Virtuais e Rede do Azure, confira:
Microsoft.Compute/virtualMachines/extensions/write
Esta permissão permite executar extensões em máquinas virtuais que permitem executar código arbitrário nelas. Exemplo de abuso de extensões personalizadas para executar comandos arbitrários em uma VM:
Execute um shell reverso
Execute um script localizado na internet
Também é possível abusar de extensões bem conhecidas para executar código ou realizar ações privilegiadas dentro das VMs:
Microsoft.Compute/disks/write, Microsoft.Network/networkInterfaces/join/action, Microsoft.Compute/virtualMachines/write, (Microsoft.Compute/galleries/applications/write, Microsoft.Compute/galleries/applications/versions/write)
Estas são as permissões necessárias para criar um novo aplicativo de galeria e executá-lo dentro de uma VM. Aplicativos de galeria podem executar qualquer coisa, então um atacante poderia abusar disso para comprometer instâncias de VM executando comandos arbitrários.
As últimas 2 permissões podem ser evitadas compartilhando o aplicativo com o locatário.
Exemplo de exploração para executar comandos arbitrários:
Microsoft.Compute/virtualMachines/runCommand/action
Este é o mecanismo mais básico que o Azure fornece para executar comandos arbitrários em VMs:
Microsoft.Compute/virtualMachines/login/action
Esta permissão permite que um usuário faça login como usuário em uma VM via SSH ou RDP (desde que a autenticação do Entra ID esteja habilitada na VM).
Login via SSH com az ssh vm --name <vm-name> --resource-group <rsc-group>
e via RDP com suas credenciais regulares do Azure.
Microsoft.Compute/virtualMachines/loginAsAdmin/action
Esta permissão permite que um usuário faça login como usuário em uma VM via SSH ou RDP (desde que a autenticação do Entra ID esteja habilitada na VM).
Login via SSH com az ssh vm --name <vm-name> --resource-group <rsc-group>
e via RDP com suas credenciais regulares do Azure.
Microsoft.Resources/deployments/write
, Microsoft.Network/virtualNetworks/write
, Microsoft.Network/networkSecurityGroups/write
, Microsoft.Network/networkSecurityGroups/join/action
, Microsoft.Network/publicIPAddresses/write
, Microsoft.Network/publicIPAddresses/join/action
, Microsoft.Network/networkInterfaces/write
, Microsoft.Compute/virtualMachines/write, Microsoft.Network/virtualNetworks/subnets/join/action
, Microsoft.Network/networkInterfaces/join/action
, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Todas essas são as permissões necessárias para criar uma VM com uma identidade gerenciada específica e deixar uma porta aberta (22 neste caso). Isso permite que um usuário crie uma VM e se conecte a ela e roube tokens de identidade gerenciada para escalar privilégios para ela.
Dependendo da situação, mais ou menos permissões podem ser necessárias para abusar dessa técnica.
Microsoft.Compute/virtualMachines/write
, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Essas permissões são suficientes para atribuir novas identidades gerenciadas a uma VM. Note que uma VM pode ter várias identidades gerenciadas. Ela pode ter a identidade atribuída pelo sistema e muitas identidades gerenciadas pelo usuário. Então, a partir do serviço de metadados, é possível gerar tokens para cada uma.
Então, o atacante precisa ter comprometido de alguma forma a VM para roubar tokens das identidades gerenciadas atribuídas. Confira mais informações em:
Esta é uma extensão de VM que permitiria executar runbooks em VMs a partir de uma conta de automação. Para mais informações, consulte o .
De acordo com a , esta permissão permite gerenciar o SO do seu recurso via Windows Admin Center como administrador. Portanto, parece que isso dá acesso ao WAC para controlar as VMs...
Aprenda e pratique Hacking AWS: Aprenda e pratique Hacking GCP:
Confira os !
Junte-se ao 💬 ou ao ou siga-nos no Twitter 🐦 .
Compartilhe truques de hacking enviando PRs para os repositórios do e .