Dans l'architecture Zero Trust de Microsoft, le Primary Refresh Token (PRT) représente la clé de voûte de l'authentification unique (SSO) sur les terminaux joints ou enregistrés auprès de Microsoft Entra ID. Émis après une validation MFA et chiffré par le TPM du terminal, le PRT porte en lui les preuves cryptographiques de conformité du périphérique et des contrôles d'accès réussis. Cependant, la prolifération des infostealers et des attaques AiTM avancées (Adversary-in-the-Middle) expose un angle mort critique : le rejeu illégitime de jetons de session dérivés ou l'extraction de clés logicielles.
Anatomie de l'attaque : T1550.004 et l'exfiltration de PRT
La technique MITRE ATT&CK T1550.004 (Web Session Cookie Hijacking) s'illustre particulièrement lors du détournement de sessions SSO Entra ID. Contrairement à une idée reçue, l'attaquant n'a pas nécessairement besoin d'extraire la clé TPM privée pour abuser du PRT :
- Détournement d'API SSO locale (Roadtoken / Mimikatz) : Si l'attaquant obtient une exécution de code avec les privilèges utilisateur sur le poste, il peut interagir avec le service local
CloudAPBrokerpour solliciter des jetons d'accès ou des cookiesx-ms-RefreshTokenCredentialsans toucher au TPM. - Vol de cookies de session web dérivés : Lorsque le PRT est utilisé pour ouvrir une session Office 365, des cookies de session (comme
ESTSAUTHouESTSAUTHPERSISTENT) sont générés dans le contexte du navigateur. Des infostealers (RedLine, Lumma, Vidar) exfiltrent ces cookies du stockage Chromium. - Bypass des stratégies de Conditional Access : L'attaquant injecte ensuite ces jetons dans son propre navigateur hors du réseau de l'entreprise. Comme la session d'origine a déjà satisfait les contrôles MFA et « Device Compliant », Conditional Access considère la requête comme légitime et n'exige aucun réengagement.
L'angle mort télémétrique natif
Le journal de connexion natif d'Entra ID présente une signature trompeuse : un code d'erreur 0 (Succès) avec mention d'un terminal conforme (IsCompliant = true) et présence d'un claim PRT valide. Le seul indice réside dans la corrélation temporelle entre l'adresse IP publique d'egress vue par Defender for Endpoint sur le poste physique et l'IP publique d'où émane la requête HTTP d'authentification Entra ID.
Détection avancée : Advanced Hunting (KQL)
Cette requête de corrélation croise les adresses IP d'egress réelles du terminal physique via DeviceInfo avec les événements de connexion AADSignInEventsBeta, isolant ainsi l'utilisation du PRT depuis une infrastructure externe à l'hôte légitime :
let lookback = 24h;
let HostEgress = DeviceInfo
| where Timestamp > ago(lookback) and isnotempty(AadDeviceId) and isnotempty(PublicIP)
| summarize KnownPublicIPs = make_set(PublicIP) by AadDeviceId;
AADSignInEventsBeta
| where Timestamp > ago(lookback) and ErrorCode == 0 and isnotempty(DeviceId)
| extend AuthDetails = tostring(AuthenticationProcessingDetails)
| where AuthDetails has "PRT" or IsCompliant == true
| lookup kind=inner HostEgress on $left.DeviceId == $right.AadDeviceId
| where not(set_has_element(KnownPublicIPs, IPAddress))
| project Timestamp, AccountUpn, AadDeviceId = DeviceId, ReplayedIP = IPAddress, KnownHostIPs = KnownPublicIPs, Application, UserAgentRemédiation SOAR avec Akuity SOC
Face à un vol de PRT actif, chaque seconde compte pour empêcher les mouvements latéraux ou l'accès aux données sensibles via Microsoft Purview. L'orchestration d'Akuity SOC répond immédiatement :
- Analyse IA intégrée et ultra-rapide : L'assistant IA in-app d'Akuity SOC analyse les claims de session et valide la divergence d'IP, sans aucune fuite de payload vers des utilitaires web externes.
- Révocation chirurgicale en un clic : Déclenchement direct depuis l'inventaire des éléments de preuve des actions
revokeSessions()etconfirmUserCompromised()pour purger immédiatement tous les Refresh Tokens Entra ID actifs, associé àisolateDevice()sur le terminal source via l'API Defender for Endpoint. - Gouvernance stricte et conformité : Chaque Server Action exige un challenge fort MFA AAL2 de l'analyste et s'inscrit dans un journal d'audit immuable certifié NIS 2 et SOC 2 Type II.
Mini-FAQ Technique
Le Continuous Access Evaluation (CAE) bloque-t-il automatiquement ce vol de session ?
Pas immédiatement. Le protocole CAE révoque l'accès en quasi-temps réel lors d'événements critiques (changement de mot de passe, désactivation du compte, réinitialisation explicite). Toutefois, un simple changement d'IP sans passage en IP Risquée au sens Identity Protection ne déclenche pas systématiquement une coupure instantanée, laissant une fenêtre d'exploitation à l'attaquant.
Pourquoi le TPM n'empêche-t-il pas l'attaque ?
Le TPM protège la clé cryptographique privée liée au PRT logiciel. En revanche, il n'empêche pas un processus malveillant s'exécutant dans la session de l'utilisateur d'appeler l'API Windows Web Account Manager (WAM) pour demander la signature d'un token valide, ni ne protège les cookies d'application décryptés en mémoire vive.
Sécurisez vos identités Entra ID dès aujourd'hui : Déployez Akuity SOC en quelques minutes et bénéficiez de notre essai gratuit de 14 jours, sans carte bancaire.