Exemple de BEC : un incident Microsoft 365 fictif commenté
Un BEC AiTM fictif reconstitué à partir de ses journaux Microsoft 365 : pulvérisation, rejeu de jeton, règles, transfert, consentement OAuth et fausse facture.
Scénario fictif. Tout, dans cet article, est inventé : l'entreprise Meridian Freight (meridianfreight.example), ses salariés, les adresses IP (plages de documentation RFC 5737), les sessions et les e-mails. Seuls les formats de journaux sont réels. C'est le jeu de données Essayer un exemple de M365 Forensics : vous pouvez l'ouvrir et suivre en parallèle.
En bref. Une pulvérisation de mots de passe depuis un VPS échoue. Le lendemain matin, une comptable fournisseurs se connecte à travers un proxy d'hameçonnage AiTM ; sept minutes plus tard, sa session est rejouée depuis un autre pays. En 90 minutes, l'attaquant enregistre une application Authenticator, crée deux règles de boîte de réception nommées « . » et « .. », configure un transfert de boîte vers l'extérieur, synchronise environ 450 messages, cherche « facture virement IBAN », consent à une application de messagerie, télécharge 64 factures et envoie un faux changement de RIB, qu'il supprime ensuite. L'outil rend le verdict Compromission probable avec 18 constats, dont trois critiques. Voici comment chaque étape apparaît dans les journaux, et où les constats demandent un regard humain.
Les données d'entrée
Quatre fichiers, dans les formats des vrais exports :
| Fichier | Source | Enregistrements |
|---|---|---|
AuditLog_2026-09-16.csv | Journal d'audit unifié Purview | 279 |
InteractiveSignIns_2026-09-14_2026-09-16.csv | Connexions interactives Entra (CSV du portail) | 26 |
NonInteractiveSignIns_2026-09-14_2026-09-16.json | Connexions non interactives Entra (JSON du portail) | 54 |
AuditLogs_2026-09-16.csv | Journaux d'audit Entra (CSV du portail) | 7 |
Couverture : 366 événements du 2026-09-14 07:02 au 2026-09-15 16:33 UTC, avec des enregistrements MailItemsAccessed. Le jeu contient aussi l'activité normale de huit utilisateurs (connexions au bureau, lectures de courrier, accès aux fichiers, une règle de boîte de réception légitime) : l'attaque doit être trouvée, pas seulement lue.
La chronologie (UTC)
| Heure | Ce qui s'est passé | Trace dans les journaux | Constat(s) |
|---|---|---|---|
| 14/09 22:10–22:17 | Pulvérisation de mots de passe sur 8 comptes, tous en échec | 8 connexions depuis 203.0.113.140 (US, AS20473), erreur 50126 | Pulvérisation de mots de passe depuis une IP (moyen) |
| 15/09 07:44 | Claire Dubois (comptabilité fournisseurs) se connecte depuis le bureau de Lyon | Connexion interactive, 192.0.2.10 (FR) | aucun (référence) |
| 08:12:40 | Claire se reconnecte, cette fois à travers le proxy AiTM ; MFA satisfaite | Connexion interactive depuis 198.51.100.23 (NL, AS14061, hébergeur), session 7f3c9a2e… | Réseau d'hébergeur / VPN (élevé) |
| 08:19:30 | La même session est utilisée depuis les États-Unis | UserLoggedIn et connexions non interactives depuis 203.0.113.77 (US, AS16509), même Session ID | Une même session depuis plusieurs lieux (élevé) ; voyage impossible (élevé) |
| 08:24:51 | Un nouvel authentificateur est enregistré | Audit Entra User registered security info, puis Update user | Nouvelle méthode MFA (moyen) ×2 |
| 08:31:12 | Règle « . » : objet/corps contenant invoice; payment; facture; virement; RIB; IBAN → déplacer vers RSS Feeds, marquer comme lu | New-InboxRule depuis 203.0.113.77, AADSessionId = la session rejouée | Masque le courrier (élevé), mots liés aux paiements (élevé), nom absurde (moyen) |
| 08:33:48 | Règle « .. » : depuis le fournisseur compta@transports-alpes.example → transférer vers billing-desk@secure-mailbox.example, supprimer | New-InboxRule | Transfert vers l'extérieur (critique), masque le courrier (élevé), nom absurde (moyen) |
| 08:36:05 | Transfert de boîte vers la même adresse externe, en gardant une copie | Set-Mailbox ForwardingSmtpAddress, DeliverToMailboxAndForward = True | Transfert de boîte externe (critique) |
| 08:40–09:04 | Environ 450 messages synchronisés / lus via REST | 25 enregistrements MailItemsAccessed, OperationCount de 14 à 22 chacun, depuis l'IP américaine | Volume inhabituel d'éléments consultés (élevé) |
| 08:52:30 | Recherche « facture virement IBAN » dans la boîte | SearchQueryInitiatedExchange | Recherche de mots liés aux paiements (moyen) |
| 09:02:10–14 | Consentement à « Mail Sync Pro » : Mail.ReadWrite Mail.Send offline_access User.Read | Add service principal, Add delegated permission grant, Consent to application. | Consentement avec accès au courrier (élevé) ; nouveau principal de service (faible) |
| 09:15–09:32 | 64 factures téléchargées depuis le site SharePoint Finance, agent utilisateur rclone | FileDownloaded ×64 | Téléchargement massif (élevé) |
| 09:41:09 | E-mail « Changement de coordonnées bancaires – facture 2026-0915 » envoyé à un client | Send depuis la session rejouée | couvert par le constat de session de l'attaquant |
| 09:42:30 | L'e-mail envoyé est supprimé des Éléments envoyés | SoftDelete | couvert par le constat de session de l'attaquant |
| 13:58 | Claire revient au bureau, sans se douter de rien | Connexion interactive depuis 192.0.2.10, nouvelle session | aucun |
Le constat de corrélation critique, « Actions effectuées depuis la session ou l'IP de l'attaquant », regroupe 103 événements : tout ce qui vient des deux IP de l'attaquant ou de la session rejouée, y compris les règles, le transfert, l'enregistrement MFA, le consentement, les lectures, les téléchargements, l'envoi et la suppression. Ce constat répond à lui seul à la question « c'est elle ou eux ? ».
Pourquoi le verdict est « Compromission probable »
La règle : au moins un constat critique, ou deux constats élevés différents sur un même compte. Ici, trois constats critiques (transfert externe par règle, transfert de boîte externe, session de l'attaquant) et huit constats élevés sur le compte de Claire. La rubrique Pourquoi, sous le verdict, renvoie vers eux.
Là où l'analyste doit encore réfléchir
Un vrai rapport ne se contente pas de coller les constats. Trois exemples tirés de ce jeu de données :
- Le voyage impossible mêle connexions légitimes et malveillantes. Ses preuves listent les sauts « FR → NL · 694 km en 29 min » et « NL → US · 6245 km en 7 min ». Le premier saut part de la vraie connexion de Claire au bureau ; l'attaquant est du côté NL et US. Le constat désigne le bon compte, mais les preuves doivent être triées à la main. Le constat de session est le plus précis.
- Les constats à seuil incluent l'activité propre de l'utilisatrice. Les constats de volume de boîte et de téléchargement massif listent tous les événements de leur fenêtre d'une heure, y compris les lectures Outlook de Claire et un fichier qu'elle a ouvert depuis le bureau (
192.0.2.10). La part de l'attaquant est celle qui vient de203.0.113.77, avec le client REST et l'agent utilisateurrclone. - Un constat moyen est un faux positif. Le 14/09 à 09:05, Sofia Garcia a enregistré des informations de sécurité depuis l'IP du bureau. C'est signalé comme nouvelle méthode MFA (moyen), comme l'enregistrement de l'attaquant. Rien d'autre ne le rattache à l'attaque : une vérification rapide auprès de Sofia suffit à le clore.
À l'inverse, la règle « Newsletters » de Thomas Becker (d'un expéditeur de lettres d'information vers un dossier Newsletters, créée depuis le bureau) ne produit aucun constat.
Délimiter l'impact
- Lu : les enregistrements
MailItemsAccessedprovenant de l'IP de l'attaquant utilisent le client REST et portent la session rejouée. La liste desInternetMessageIddonne les messages à examiner (ce que prouve MailItemsAccessed). - Transféré : tout ce qui vient du fournisseur après 08:33 (règle « .. ») et chaque message entrant après 08:36 (transfert de boîte), jusqu'à leur suppression.
- Téléchargé : 64 fichiers de
sites/Finance/Shared Documents/Factures 2026. - Envoyé : au moins un e-mail frauduleux à un client ; le suivi des messages montrerait les destinataires.
- Persistance à supprimer : l'Authenticator enregistré à 08:24, les règles « . » et « .. », le transfert de boîte, l'autorisation et le principal de service « Mail Sync Pro », et la session elle-même.
La liste de remédiation
L'outil ordonne les étapes à partir des constats : révoquer les sessions, réinitialiser les identifiants et réenregistrer la MFA, évaluer l'exposition des données, supprimer les règles, supprimer le transfert et bloquer le transfert externe automatique, bloquer les IP de l'attaquant, passer à une MFA résistante à l'hameçonnage, prévenir les contacts, vérifier les paiements, retirer l'application autorisée et restreindre le consentement des utilisateurs, revoir les méthodes MFA et les inscriptions d'applications. La première heure après un BEC explique cet ordre.
Ce que cet exemple ne montre pas
Les vrais incidents sont plus désordonnés : exports tronqués à 50 000 lignes, connexions déjà expirées, attaquants passant par des proxys résidentiels plutôt que par des hébergeurs, plusieurs victimes. Les limites sont listées dans rétention et journaux manquants. La méthode reste celle du guide d'enquête : trouver la connexion de l'attaquant, suivre la session, vérifier chaque mécanisme de persistance.