Az - Device Registration
Informações Básicas
Quando um dispositivo se junta ao AzureAD, um novo objeto é criado no AzureAD.
Ao registrar um dispositivo, o usuário é solicitado a fazer login com sua conta (solicitando MFA, se necessário), então ele solicita tokens para o serviço de registro de dispositivo e, em seguida, pede uma confirmação final.
Então, dois pares de chaves RSA são gerados no dispositivo: A chave do dispositivo (chave pública) que é enviada para o AzureAD e a chave de transporte (chave privada) que é armazenada no TPM, se possível.
Então, o objeto é gerado no AzureAD (não no Intune) e o AzureAD devolve ao dispositivo um certificado assinado por ele. Você pode verificar que o dispositivo está unido ao AzureAD e informações sobre o certificado (como se está protegido pelo TPM).
Após o registro do dispositivo, um Primary Refresh Token é solicitado pelo módulo LSASS CloudAP e entregue ao dispositivo. Com o PRT também é entregue a chave de sessão criptografada para que apenas o dispositivo possa descriptografá-la (usando a chave pública da chave de transporte) e é necessária para usar o PRT.
Para mais informações sobre o que é um PRT, consulte:
Az - Primary Refresh Token (PRT)TPM - Trusted Platform Module
O TPM protege contra a extração de chaves de um dispositivo desligado (se protegido por PIN) e contra a extração do material privado da camada do sistema operacional. Mas ele não protege contra a interceptação da conexão física entre o TPM e a CPU ou uso do material criptográfico no TPM enquanto o sistema está em execução por um processo com direitos de SYSTEM.
Se você verificar a página a seguir, verá que roubar o PRT pode ser usado para acessar como um usuário, o que é ótimo porque o PRT está localizado em dispositivos, então pode ser roubado deles (ou, se não for roubado, abusado para gerar novas chaves de assinatura):
Az - Pass the PRTRegistrando um dispositivo com tokens SSO
Seria possível para um atacante solicitar um token para o serviço de registro de dispositivos da Microsoft a partir do dispositivo comprometido e registrá-lo:
Which will give you a certificate you can use to ask for PRTs in the future. Portanto, mantendo a persistência e bypassing MFA porque o token PRT original usado para registrar o novo dispositivo já tinha permissões de MFA concedidas.
Note que para realizar este ataque você precisará de permissões para registrar novos dispositivos. Além disso, registrar um dispositivo não significa que o dispositivo será permitido inscrever-se no Intune.
Este ataque foi corrigido em setembro de 2021, pois não é mais possível registrar novos dispositivos usando tokens SSO. No entanto, ainda é possível registrar dispositivos de maneira legítima (tendo nome de usuário, senha e MFA, se necessário). Verifique: roadtx.
Overwriting a device ticket
Era possível solicitar um ticket de dispositivo, sobrescrever o atual do dispositivo e, durante o fluxo, roubar o PRT (então não há necessidade de roubá-lo do TPM. Para mais informações verifique esta palestra.
No entanto, isso foi corrigido.
Overwrite WHFB key
Verifique os slides originais aqui
Resumo do ataque:
É possível sobrescrever a chave WHFB registrada de um dispositivo via SSO
Isso derrota a proteção TPM pois a chave é interceptada durante a geração da nova chave
Isso também proporciona persistência
Os usuários podem modificar sua própria propriedade searchableDeviceKey via Azure AD Graph, no entanto, o atacante precisa ter um dispositivo no tenant (registrado na hora ou tendo certificado + chave roubados de um dispositivo legítimo) e um token de acesso válido para o AAD Graph.
Então, é possível gerar uma nova chave com:
e então PATCH as informações do searchableDeviceKey:
É possível obter um token de acesso de um usuário via device code phishing e abusar dos passos anteriores para roubar seu acesso. Para mais informações, confira:
Az - Phishing Primary Refresh Token (Microsoft Entra)Referências
Last updated