Skip to content

Dieses Tool ist nicht mit der Microsoft Corporation verbunden und wird von ihr weder unterstützt noch gesponsert. Microsoft 365, Microsoft Entra ID, Exchange Online und Microsoft Purview sind Marken der Microsoft-Unternehmensgruppe. Andere Namen sind Marken ihrer jeweiligen Inhaber.

Unified Audit Log untersuchen: die wichtigen BEC-Felder

Das Unified Audit Log bei einem BEC lesen: AuditData-JSON, die zu filternden Vorgänge und wie SessionId und UniqueTokenId Aktionen mit Anmeldungen verknüpfen.

Veröffentlicht am 6 Min. Lesezeit

Kurz gesagt. In einem UAL-Export sind die CSV-Spalten nur ein Index; der Beweis steckt im AuditData-JSON. Filtern Sie bei einem BEC auf eine kurze Liste von Vorgängen (New-InboxRule, Set-InboxRule, UpdateInboxRules, Set-Mailbox, MailItemsAccessed, Send, SoftDelete/HardDelete, SearchQueryInitiatedExchange, FileDownloaded, Consent to application., User registered security info) und lesen Sie dann die workloadspezifischen Felder. Der Pivot, der aus Verdacht Zuordnung macht, sind AppAccessContext.AADSessionId und UniqueTokenId, die der Session ID und dem Unique token identifier der Entra-Anmeldung entsprechen.

Das Unified Audit Log (einheitliches Überwachungsprotokoll) erfasst Benutzer- und Administratoraktivitäten aus Exchange Online, SharePoint, OneDrive, Entra ID, Teams und weiteren Diensten an einer Stelle. Diese Breite ist zugleich die Schwierigkeit: Ein einziger Tenant-Export kann Hunderttausende Zeilen enthalten, von denen nur ein paar Dutzend zum BEC gehören. Hier ist der Praxisleitfaden, den ich mir beim ersten Mal gewünscht hätte.

Aufbau einer Exportzeile

Ein Export aus dem Purview-Portal hat die Spalten RecordId, CreationDate, RecordType, Operation, UserId, AuditData, AssociatedAdminUnits, AssociatedAdminUnitsNames. Ein PowerShell-Export Search-UnifiedAuditLog | Export-Csv hat ähnliche Spalten (RecordType, CreationDate, UserIds, Operations, AuditData, ResultIndex, ResultCount, Identity…). In beiden ist AuditData eine JSON-Zeichenkette mit dem vollständigen Eintrag.

Häufige AuditData-Felder:

FeldBedeutungHinweise
CreationTimeZeitpunkt des Ereignisses, UTCOft ohne abschließendes Z
IdKennung des EintragsZum Deduplizieren überlappender Exporte
OperationWas passiert istGroß-/Kleinschreibung und Schlusspunkt variieren (Consent to application.)
WorkloadExchange, SharePoint, OneDrive, AzureActiveDirectory…
UserIdWer es getan hatUPN oder eine Systemidentität
ClientIP / ClientIPAddress / ActorIpAddressQuell-IPKann Port oder eckige Klammern enthalten ([2001:db8::1]:443)
ResultStatusSucceeded, True, Success…Je nach Workload uneinheitlich
AppAccessContextAADSessionId, UniqueTokenId, IssuedAtTimeDie Verbindung zur Anmeldung

Das UAL enthält keine Geolokalisierung. Land und Netz ergeben sich erst durch Abgleich der IP mit den Entra-Anmeldeprotokollen oder durch eine externe Abfrage.

Die Vorgänge, die bei einem BEC zählen

VorgangWorkloadWarum er wichtig istZu lesende Felder
New-InboxRule, Set-InboxRule, Enable-InboxRuleExchangeRegeln aus PowerShell oder Outlook im WebParameters: Name, ForwardTo, RedirectTo, DeleteMessage, MoveToFolder, SubjectOrBodyContainsWords, From
UpdateInboxRulesExchangeRegeln aus dem Outlook-DesktopclientOperationProperties: RuleName, RuleActions, RuleCondition
Set-MailboxExchangePostfachweiterleitung (SMTP), ÜberwachungsänderungenForwardingSmtpAddress, ForwardingAddress, DeliverToMailboxAndForward, AuditEnabled
Add-MailboxPermission, Add-RecipientPermissionExchangeDelegierung als PersistenzUser, AccessRights
MailItemsAccessedExchangeWelche Nachrichten gelesen oder synchronisiert wurdenOperationProperties.MailAccessType (Bind/Sync), Folders, OperationCount, ClientInfoString
Send, SendAs, SendOnBehalfExchangeAus dem Postfach gesendete E-MailsItem.Subject, Item.InternetMessageId
SoftDelete, HardDelete, MoveToDeletedItemsExchangeSpurenbeseitigungAffectedItems, Folder
SearchQueryInitiatedExchangeExchangeWonach der Angreifer gesucht hatQueryText (Protokollierung muss aktiviert sein)
FileDownloaded, FileSyncDownloadedFullSharePoint / OneDriveDatendiebstahlSourceFileName, SiteUrl, UserAgent
UserLoggedIn, UserLoginFailedAzureActiveDirectoryIm UAL gespiegelte AnmeldungenExtendedProperties, DeviceProperties.SessionId
Consent to application., Add delegated permission grant.AzureActiveDirectoryUnrechtmäßige EinwilligungModifiedProperties (ConsentAction.Permissions, ConsentContext.IsAdminConsent)
User registered security info, Update user.AzureActiveDirectoryMFA-Methode des AngreifersModifiedProperties (StrongAuthentication…)
Set-AdminAuditLogConfig, Set-MailboxAuditBypassAssociationExchangeManipulation der ÜberwachungUnifiedAuditLogIngestionEnabled, AuditBypassEnabled

Microsofts Seite zu den Aktivitäten im Überwachungsprotokoll ist die vollständige Referenz. Zwei Fallen: Vorgangsnamen aus Entra ID enden oft mit einem Punkt, und Parameters ist ein Array aus {Name, Value}-Paaren, kein Objekt, sodass ein naiver JSON-Pfad es verfehlt.

Warum Regeln in zwei Formen auftauchen

Eine in Outlook im Web oder per PowerShell erstellte Posteingangsregel wird als New-InboxRule mit lesbaren Parameters protokolliert. Eine im Outlook-Desktopclient erstellte Regel erscheint als UpdateInboxRules mit weniger strukturierten OperationProperties wie RuleActions und RuleCondition. Suchen Sie nach beiden. Bösartige Posteingangsregeln und Weiterleitungen erklärt, welche Parameter zu lesen sind.

Der Sitzungs-Pivot

Microsoft bettet eine Sitzungskennung (sid) und eine eindeutige Token-Kennung (uti) in die ausgestellten Token ein und macht sie als verknüpfbare Kennungen in den Protokollen sichtbar. Laut Microsoft Learn:

ClaimEntra-AnmeldeprotokollExchange-Online-ÜberwachungSharePoint- / Teams-Überwachung
sidSession IDSessionId / AppAccessContext.AADSessionIdAppAccessContext.AADSessionId
utiUnique token identifierAppAccessContext.UniqueTokenIdAppAccessContext.UniqueTokenId
iatDateAppAccessContext.IssuedAtTimeAppAccessContext.IssuedAtTime

Das Vorgehen:

  1. Ermitteln Sie in den Entra-Anmeldeprotokollen die verdächtige Anmeldung und kopieren Sie ihre Session ID (bei Replay die Sitzung, die aus zwei Netzen auftaucht).
  2. Behalten Sie im UAL-Export alle Einträge, deren AADSessionId oder SessionId diesem Wert entspricht.
  3. Ergänzen Sie Einträge, deren UniqueTokenId zu einem Token passt, das an die IP des Angreifers ausgestellt wurde.
  4. Ergänzen Sie Einträge von der IP des Angreifers für alles, was die ersten beiden Filter nicht erfassen.

Microsoft weist darauf hin, dass verknüpfbare Kennungen bei manchen aggregierten Einträgen und bei Einträgen aus Hintergrundprozessen fehlen; Schritt 4 ist daher Pflicht. Eine weitere Feinheit: Beim AiTM-Phishing ist die gestohlene Sitzung diejenige, die das Opfer geöffnet hat, die Kennung allein trennt also nicht Angreifer und Opfer. Was sie trennt, ist das Netz, aus dem jede Aktion kommt (AiTM und Token-Replay).

Typische Stolperfallen

  • Abgeschnittene Exporte. Genau 50.000 Zeilen bedeuten das Limit des Standard-Exports, nicht das Ende der Daten.
  • Duplikate. Überlappende Suchen duplizieren Einträge; deduplizieren Sie anhand von Id.
  • Schäden durch Tabellenkalkulation. Excel formatiert Datumswerte um und kann lange JSON-Zellen aufteilen oder abschneiden. Verarbeiten Sie die CSV programmatisch.
  • Zeitzonen. CreationDate und CreationTime sind UTC; Outlook zeigt Ortszeit. Geben Sie im Bericht UTC an.
  • Verzögerte Einträge. Sie erscheinen typischerweise 60 bis 90 Minuten nach dem Ereignis; ein Export direkt nach der Eindämmung kann die letzten Aktionen verpassen.
  • Fehlende Ereignisse. SearchQueryInitiated* ist standardmäßig deaktiviert; MailItemsAccessed hängt von Lizenz und Postfachüberwachung ab (Aufbewahrung und Lücken).

Im großen Maßstab

Für ein paar Tausend Zeilen reichen PowerShell und ConvertFrom-Json. Bei einem Tenant-weiten Export AuditData für jede Zeile zu parsen, mit den Anmeldungen über IP und Sitzung zu verknüpfen und nach Konto zu gruppieren, ist genau das, was M365 Forensics automatisiert: Es liest beide Ebenen der CSV, normalisiert Vorgangsnamen (Add service principal. = Add service principal), entfernt Ports aus IPs, extrahiert AADSessionId/UniqueTokenId, übernimmt Land und ASN aus Anmeldungen derselben IP und meldet einen kritischen Befund „Aktionen aus der Sitzung oder von der IP des Angreifers“, wenn UAL-Aktionen die Kennungen einer verdächtigen Anmeldung tragen. Die Anleitung zeigt, wie man das Ergebnis liest.

Häufige Fragen

Wo stehen die Details eines Eintrags im Unified Audit Log?

In der Spalte AuditData des Exports. Sie enthält ein JSON-Objekt, dessen Felder vom Workload abhängen: Parameters für Exchange-Verwaltungs-Cmdlets, OperationProperties und Folders für MailItemsAccessed, ModifiedProperties für Entra-ID-Ereignisse, SourceFileName und SiteUrl für SharePoint.

Kann ich einen Eintrag im Unified Audit Log einer Entra-ID-Anmeldung zuordnen?

Oft ja. Exchange-, SharePoint- und Teams-Einträge enthalten AppAccessContext.AADSessionId und UniqueTokenId, die der Session ID und dem Unique token identifier der Entra-Anmeldung entsprechen, die das Token ausgestellt hat. Manche aggregierten oder Hintergrundeinträge enthalten sie nicht.

Verwandte Artikel