Az - Device Registration
Informazioni di Base
Quando un dispositivo si unisce ad AzureAD viene creato un nuovo oggetto in AzureAD.
Durante la registrazione di un dispositivo, all'utente viene chiesto di effettuare l'accesso con il suo account (chiedendo l'MFA se necessario), quindi richiede i token per il servizio di registrazione del dispositivo e chiede infine una conferma finale.
Successivamente, vengono generati due coppie di chiavi RSA nel dispositivo: La chiave del dispositivo (chiave pubblica) che viene inviata ad AzureAD e la chiave di trasporto (chiave privata) che viene memorizzata nel TPM se possibile.
Successivamente, l'oggetto viene generato in AzureAD (non in Intune) e AzureAD restituisce al dispositivo un certificato firmato da esso. È possibile verificare che il dispositivo sia unito ad AzureAD e informazioni sul certificato (come se è protetto da TPM).
Dopo la registrazione del dispositivo viene richiesto un Primary Refresh Token dal modulo LSASS CloudAP e consegnato al dispositivo. Con il PRT viene anche consegnata la chiave di sessione crittografata in modo che solo il dispositivo possa decifrarla (utilizzando la chiave pubblica della chiave di trasporto) ed è necessaria per utilizzare il PRT.
Per ulteriori informazioni su cos'è un PRT, controlla:
pageAz - Primary Refresh Token (PRT)TPM - Trusted Platform Module
Il TPM protegge dall'estrazione delle chiavi da un dispositivo spento (se protetto da PIN) e dall'estrazione del materiale privato dal livello del sistema operativo. Ma non protegge dall'intercettazione della connessione fisica tra il TPM e la CPU o dall'utilizzo del materiale crittografico nel TPM mentre il sistema è in esecuzione da un processo con diritti di SYSTEM.
Se controlli la seguente pagina, vedrai che rubare il PRT può essere utilizzato per accedere come un utente, il che è ottimo perché il PRT si trova nei dispositivi, quindi può essere rubato da loro (o se non rubato, abusato per generare nuove chiavi di firma):
pageAz - Pass the PRTRegistrazione di un dispositivo con token SSO
Sarebbe possibile per un attaccante richiedere un token per il servizio di registrazione del dispositivo Microsoft dal dispositivo compromesso e registrarla:
Sovrascrittura di un ticket del dispositivo
Era possibile richiedere un ticket del dispositivo, sovrascrivere quello attuale del dispositivo e durante il flusso rubare il PRT (quindi non c'è bisogno di rubarlo dal TPM. Per ulteriori informazioni controlla questa presentazione.
Tuttavia, questo è stato risolto.
Sovrascrittura della chiave WHFB
Controlla le slide originali qui
Sommario dell'attacco:
È possibile sovrascrivere la chiave WHFB registrata da un dispositivo tramite SSO
Sconfigge la protezione del TPM poiché la chiave è intercettata durante la generazione della nuova chiave
Questo fornisce anche persistenza
Gli utenti possono modificare la propria proprietà searchableDeviceKey tramite il Azure AD Graph, tuttavia, l'attaccante deve avere un dispositivo nel tenant (registrato al volo o aver rubato certificato + chiave da un dispositivo legittimo) e un token di accesso valido per il Azure AD Graph.
Quindi, è possibile generare una nuova chiave con:
e poi EFFETTUA il patch delle informazioni del searchableDeviceKey:
È possibile ottenere un token di accesso da un utente tramite phishing del codice dispositivo e abusare dei passaggi precedenti per rubare il suo accesso. Per ulteriori informazioni controlla:
pageAz - Phishing Primary Refresh Token (Microsoft Entra)Riferimenti
Last updated