Az - Device Registration
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
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), em seguida, solicita tokens para o serviço de registro de dispositivo e, por fim, 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 se o dispositivo está associado ao AzureAD e informações sobre o certificado (como se está protegido por 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:
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 SO. Mas ele não protege contra sniffing da conexão física entre o TPM e a CPU ou usando o material criptográfico no TPM enquanto o sistema está em execução a partir de um processo com direitos 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 nos dispositivos, então pode ser roubado deles (ou se não for roubado, abusado para gerar novas chaves de assinatura):
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:
Qual fornecerá um certificado que você pode usar para solicitar PRTs no futuro. Portanto, mantendo a persistência e contornando o MFA porque o token PRT original usado para registrar o novo dispositivo já tinha permissões de MFA concedidas.
Observe 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 se inscrever no Intune.
Este ataque foi corrigido em setembro de 2021, pois você não pode mais 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). Confira: roadtx.
Era possível solicitar um ticket de dispositivo, sobrescrever o atual do dispositivo e, durante o fluxo, roubar o PRT (portanto, não há necessidade de roubá-lo do TPM. Para mais informações, verifique esta palestra.
No entanto, isso foi corrigido.
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 do TPM, pois a chave é capturada durante a geração da nova chave
Isso também fornece 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 locatário (registrado rapidamente ou tendo roubado o cert + chave 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 das etapas anteriores para roubar seu acesso. Para mais informações, consulte:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)