Az - Enregistrement de l'appareil
Reading time: 6 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
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 (demandant une MFA si nécessaire), puis il demande des jetons pour le service d'enregistrement des appareils et ensuite demande 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 le 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 le TPM).
dsregcmd /status
AprÚs l'enregistrement de l'appareil, un Primary Refresh Token est demandé par le module LSASS CloudAP et remis à l'appareil. Avec le PRT est également livré la clé de session chiffrée afin que seul l'appareil puisse la déchiffrer (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 :
Az - Primary Refresh Token (PRT)
TPM - Trusted Platform Module
Le TPM protÚge contre l'extraction de clés d'un appareil éteint (s'il est protégé par un code PIN) et contre l'extraction du matériel privé de la couche OS.
Mais il ne protÚge pas contre le sniffing de la connexion physique entre le TPM et le CPU ou l'utilisation du matériel cryptographique dans le TPM pendant que le systÚme fonctionne à 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, donc il peut ĂȘtre volĂ© Ă partir d'eux (ou s'il n'est pas volĂ©, abusĂ© pour gĂ©nĂ©rer de nouvelles clĂ©s de signature) :
Enregistrement d'un appareil avec des jetons SSO
Il serait possible pour un attaquant de demander un jeton pour le service d'enregistrement des appareils Microsoft depuis 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
Ce qui vous donnera un certificat que vous pouvez utiliser pour demander des PRT à l'avenir. Cela permet de maintenir la persistance et de contourner la MFA car le jeton PRT original utilisé pour enregistrer le nouvel appareil avait déjà des autorisations MFA accordées.
tip
Notez que pour effectuer cette attaque, vous aurez besoin d'autorisations pour enregistrer de nouveaux appareils. De plus, enregistrer un appareil ne signifie pas que l'appareil sera autorisé à s'inscrire dans Intune.
caution
Cette attaque a été corrigée en septembre 2021 car vous ne pouvez plus enregistrer de nouveaux appareils en utilisant des jetons SSO. Cependant, il est toujours possible d'enregistrer des appareils de maniÚre légitime (en ayant un nom d'utilisateur, un mot de passe et MFA si nécessaire). Vérifiez : roadtx.
Ăcraser un ticket d'appareil
Il était possible de demander un ticket d'appareil, écraser celui en cours de l'appareil, et pendant le flux voler le PRT (donc pas besoin de le voler depuis le TPM. Pour plus d'infos vérifiez cette présentation.
.png)
caution
Cependant, cela a été corrigé.
Ăcraser la clĂ© WHFB
Vérifiez les diapositives originales ici
Résumé de l'attaque :
- Il est possible d'écraser la clé WHFB enregistrée d'un appareil via SSO
- Cela contourne la protection TPM car la clé est interceptée lors de la génération de la nouvelle clé
- Cela fournit également de la persistance
.png)
Les utilisateurs peuvent modifier leur propre propriété searchableDeviceKey via l'Azure AD Graph, cependant, l'attaquant doit avoir un appareil dans le locataire (enregistré à la volée ou ayant volé un certificat + clé d'un appareil légitime) et un jeton d'accÚs valide pour l'AAD Graph.
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 searchableDeviceKey :
.png)
Il est possible d'obtenir un jeton d'accÚs d'un utilisateur via device code phishing et d'abuser des étapes précédentes pour voler son accÚs. Pour plus d'informations, consultez :
Az - Phishing Primary Refresh Token (Microsoft Entra)
.png)
Références
- https://youtu.be/BduCn8cLV1A
- https://www.youtube.com/watch?v=x609c-MUZ_g
- https://www.youtube.com/watch?v=AFay_58QubY
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.