Az - Device Registration

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

Lorsqu'un appareil rejoint AzureAD, un nouvel objet est créé dans AzureAD.

Lors de l'enregistrement d'un appareil, l'utilisateur est invité à se connecter avec son compte (en demandant une MFA si nécessaire), puis il demande des jetons pour le service d'enregistrement de l'appareil et demande ensuite une confirmation finale.

Ensuite, deux paires de clés RSA sont générées dans l'appareil : La clé de l'appareil (clé publique) qui est envoyée à AzureAD et la clé de transport (clé privée) qui est stockée dans TPM si possible.

Ensuite, l'objet est généré dans AzureAD (pas dans Intune) et AzureAD renvoie à l'appareil un certificat signé par lui. Vous pouvez vérifier que l'appareil est joint à AzureAD et des informations sur le certificat (comme s'il est protégé par TPM).

dsregcmd /status

Après l'enregistrement de l'appareil, un jeton de rafraîchissement principal est demandé par le module LSASS CloudAP et donné à l'appareil. Avec le PRT est également livrée la clé de session cryptée pour que seul l'appareil puisse la décrypter (en utilisant la clé publique de la clé de transport) et elle est nécessaire pour utiliser le PRT.

Pour plus d'informations sur ce qu'est un PRT, consultez :

pageAz - Primary Refresh Token (PRT)

TPM - Module de plateforme sécurisée

Le TPM protège contre l'extraction de clés à partir d'un appareil éteint (s'il est protégé par un NIP) et contre l'extraction du matériel privé de la couche OS. Mais il ne protège pas contre l'écoute de la connexion physique entre le TPM et le CPU ou contre l'utilisation du matériel cryptographique dans le TPM pendant que le système est en cours d'exécution à partir d'un processus avec des droits SYSTEM.

Si vous consultez la page suivante, vous verrez que voler le PRT peut être utilisé pour accéder comme un utilisateur, ce qui est génial car le PRT est situé sur les appareils, il peut donc être volé auprès d'eux (ou s'il n'est pas volé, il peut être utilisé de manière abusive pour générer de nouvelles clés de signature) :

pageAz - Pass the PRT

Enregistrer un appareil avec des jetons SSO

Il serait possible pour un attaquant de demander un jeton pour le service d'enregistrement d'appareil Microsoft à partir de l'appareil compromis et de l'enregistrer :

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

Remplacement d'un ticket de périphérique

Il était possible de demander un ticket de périphérique, écraser celui actuel du périphérique, et pendant le processus voler le PRT (donc pas besoin de le voler du TPM. Pour plus d'informations consultez cette présentation.

Cependant, cela a été corrigé.

Remplacer la clé WHFB

Consultez les diapositives originales ici

Résumé de l'attaque :

  • Il est possible de remplacer la clé WHFB enregistrée d'un périphérique via SSO

  • Cela contourne la protection TPM car la clé est capturée lors de la génération de la nouvelle clé

  • Cela fournit également de la persistance

Les utilisateurs peuvent modifier leur propre propriété searchableDeviceKey via le Graph Azure AD, cependant, l'attaquant doit avoir un périphérique dans le locataire (enregistré à la volée ou avoir volé le certificat + clé d'un périphérique légitime) et un jeton d'accès valide pour le Graph AAD.

Ensuite, il est possible de générer une nouvelle clé avec :

roadtx genhellokey -d <device id> -k tempkey.key

et ensuite PATCH les informations de la searchableDeviceKey :

Il est possible d'obtenir un jeton d'accès d'un utilisateur via l'hameçonnage de code de périphérique et d'abuser des étapes précédentes pour voler son accès. Pour plus d'informations, consultez :

pageAz - Phishing Primary Refresh Token (Microsoft Entra)

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour