📅 Source : Eye Security Labs — Article publié le 29 octobre 2026 par Martin Warmer.

Contexte

Cet article analyse le comportement réel des mécanismes de révocation d’accès dans Microsoft 365 (Exchange Online / Entra) suite à une compromission par phishing, en testant l’impact pratique de trois actions défensives : révocation de session, réinitialisation du mot de passe, et désactivation du compte.

Mécanisme d’authentification M365

L’accès à Exchange Online repose sur deux tokens émis par Entra :

  • Access token : valide 60 à 90 minutes, utilisé directement pour accéder à la boîte mail
  • Refresh token : valide jusqu’à 90 jours, permet d’obtenir un nouvel access token

La révocation de session met à jour le timestamp StsRefreshTokenValidFrom, invalidant les refresh tokens antérieurs — mais pas les access tokens déjà émis.

Continuous Access Evaluation (CAE)

Microsoft a implémenté le CAE pour pallier ce délai, notamment via la critical event evaluation (toujours active), qui notifie Exchange Online, SharePoint et Teams lors d’événements critiques (révocation, reset, désactivation). Cette évaluation fonctionne correctement pour les clients Outlook officiels (classic, modern, mobile) et les clients IMAP.

⚠️ Lacune critique identifiée

La critical event evaluation n’est pas implémentée pour les accès API :

  • Graph API (recommandée par Microsoft pour les nouvelles applications)
  • Exchange Web Services / EWS (déprécié)
  • Exchange ActiveSync (iPhone Mail, Android Mail)

Pour ces protocoles, l’access token reste valide jusqu’à 90 minutes après révocation de session ou reset du mot de passe.

Tableau de synthèse

Protocole/Application Révocation session Reset MDP Désactivation compte
MAPI (Outlook classic) Temps réel Temps réel Temps réel
Outlook on the web Temps réel Temps réel Temps réel
Outlook mobile Temps réel Temps réel Temps réel
IMAP Temps réel Temps réel Temps réel
Graph API Jusqu’à 90 min Jusqu’à 90 min Temps réel
EWS (déprécié) Jusqu’à 90 min Jusqu’à 90 min Temps réel
Exchange ActiveSync Jusqu’à 90 min Jusqu’à 90 min Temps réel

Impact opérationnel

Les kits de phishing modernes sont automatisés et utilisent la Graph API pour exfiltrer les emails, contrairement aux attaquants qui accédaient manuellement à Outlook on the web. La désactivation du compte est le seul mécanisme bloquant tous les accès en temps réel. Après réactivation, les anciens access tokens restent valides si leur durée de vie n’est pas expirée — nécessitant une désactivation d’au moins 90 minutes.

Perspective industrielle

L’article mentionne les travaux du consortium OpenID (Shared Signals Framework et Continuous Access Evaluation Profile) comme piste d’amélioration pour la révocation universelle des tokens.


📌 Type d’article : Analyse technique et publication de recherche. But principal : documenter une lacune dans les mécanismes de révocation d’accès M365 exploitable par des attaquants post-phishing.

🧠 TTPs et IOCs détectés

TTP

  • T1566 — Phishing (Initial Access)
  • T1550.001 — Use Alternate Authentication Material: Application Access Token (Defense Evasion)
  • T1114.002 — Email Collection: Remote Email Collection (Collection)
  • T1078 — Valid Accounts (Defense Evasion)

🟡 Indice de vérification factuelle : 40/100 (moyenne)

  • ⬜ labs.eye.security — source non référencée (0pts)
  • ✅ 6475 chars — texte complet (fulltext extrait) (15pts)
  • ⬜ aucun IOC extrait (0pts)
  • ⬜ pas d’IOC à vérifier (0pts)
  • ✅ 4 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://labs.eye.security/how-attackers-keep-reading-mail-after-m365-session-revocation/