MailItemsAccessed

Im Sommer 2023 hat die Lücke Storm-0558 eine Lücke im Anmeldedienst beschrieben. Erkannt wurde sie aber nur, weil einige Tenants den Zugriff auf Mails überwacht und suspekte Zugriffe erkannt haben. Darum geht es auf dieser Seite

Purview Auditing

Exchange Online erlaubt umfangreiche Überwachungsfunktionen, die pro Postfach konfiguriert werden können. hier die Standardeinstellungen eines Microsoft 365 E3 Postfachs vom April 2023.

PS C:\> get-mailbox TestuserE5 | fl audit*,defaultauditset

AuditEnabled : True
AuditLogAgeLimit : 90.00:00:00
AuditAdmin : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditDelegate : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
AuditOwner : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}
DefaultAuditSet : {Admin, Delegate, Owner}

Die drei Audit*-Properties enthalten:

Property

AuditAdmin

AuditDelegate

AuditOwner

Inhalt E3
Update
MoveToDeletedItems
SoftDelete
HardDelete
SendAs
SendOnBehalf
Create
UpdateFolderPermissions
UpdateInboxRules
UpdateCalendarDelegation
ApplyRecord
Update
MoveToDeletedItems
SoftDelete
HardDelete
SendAs
SendOnBehalf
Create
UpdateFolderPermissions
UpdateInboxRules

ApplyRecord
Update
MoveToDeletedItems
SoftDelete
HardDelete



UpdateFolderPermissions
UpdateInboxRules
UpdateCalendarDelegation
ApplyRecord
Zusätzlich E5
MailItemsAccessed
Send
MailItemsAccessed
MailItemsAccessed
Send

Viele Events sind bei allen drei Anwendergruppen vorhanden aber zwei Events fehlen, die in der Microsoft 365 E3-Lizenz nicht enthalten sind. Mit einer Microsoft 365 E5 Lizenz oder dem Microsoft 365 E5 Compliance-Addon sehen die Defaults etwas anders aus. Hier kommen zwei Überwachungsevents dazu, die im Standard nicht aktiv sind

  • MailItemsAccessed
    Protokolliere Zugriff auf Mails im Postfach
  • Send
    Protokolliere versendete Mails. Wann und welche Mail ein Anwender versendet hat, können Sie auch über das Messagtracking ermitteln. aber dort sehen sie nur eingeschränkt Daten des Clients

Auditing funktionier nur auf Benutzerpostfächern, Shared Mailboxen und Group Mailboxen aber nicht auf Ressource Postfächern (Räume etc.) oder Postfächer für öffentliche Ordner.

MailItemsAccessed aktivieren

Nun könnte ich auf den Gedanken kommen, dass ich einfach die fehlenden Audit-Einstellungen aktiviere.

PS C:\> Set-Mailbox TestuserE3 -AuditOwner @{Add="Send","MailItemsAccessed"}
Set-Mailbox: |Microsoft.Exchange.Management.Tasks.RecipientTaskException|Die Überwachung des MailItemsAccessed-Ereigniss
es ist nur für Benutzer mit entsprechender Lizenz verfügbar. Weitere Informationen hierzu finden Sie in der Dokumentation.

Das geht aber nur mit der passenden Lizenz. Bei einem Microsoft E5 Postfach sind die Einstellungen aber schon aktiv und ich bekomme.

PS C:\> Set-Mailbox TestuserE5 -AuditOwner @{Add="Send","MailItemsAccessed"}
Set-Mailbox: |Microsoft.Exchange.Management.Tasks.RecipientTaskException|Die eingegebenen Überwachungsvorgänge
werden bereits überwacht.

Allerdings hat hier Storm-0558 zu einer Veränderung geführt. Microsoft wird diese Überwachungsfunktion im September 2023 für alle Microsoft 365 E3-Benutzer ebenfalls ohne weitere Kosten verfügbar machen

Am 22. Sep 2023 war die Möglichkeit in von mit verwalteten Tenants noch nicht freigeschaltet

Sie können zusätzlich das Auditing auf dem Tenant global deaktivieren und reaktivieren und über "Set-MailboxAuditBypassAssociation" das Auditing einzelner Benutzer ausschließen, d.h. Zugriffe dieser Konten werden nicht protokolliert. Das kann z.B. für eigene Archivlösungen u..a sinnvoll sein.

Manuelle Suche

Für das Auswerten der Logs kommt es auf ihren Einsatzzweck an. Es macht wenig Sinn alles zu protokollieren, wenn Sie nie reinschauen. Aufgrund der Menge der Zugriffe macht es aber auch wenig Sinn, manuell diese Logs zu durchsuchen. Das geht, wenn Sie genau das Problem eines Benutzers analysieren wollen aber erlaubt keine strukturellen Auswertungen.


Quelle: https://compliance.microsoft.com/

Nach der Auswahl der Kriterien starten Sie die Suche die einige Minuten dauern kann. Der Status wird weiter unten auf der Webseite angezeigt:

Da in meinem Tenant auch die "Send", "MailItemsAccessed"-Funktion noch nicht aktiv war, habe ich noch nichts gesehen.

Beispielevents liefert ich nach.

PowerShell

Natürlich können Sie auch per PowerShell die Logs abgreifen.

$SusMailItems = Search-UnifiedAuditLog `
                  -StartDate (get-date).adddays(-1) `
                  -EndDate (get-date)  `
                  -Operations "MailItemsAccessed"  `
                  -ResultSize 5000  `
                  -FreeText $searchtext  `
                  -Verbose  `
               | Select-Object -ExpandProperty AuditData | Convertfrom-Json `
               | Out-file  .\report.txt
  • Sparrow.ps1
    https://github.com/cisagov/Sparrow
    "Sparrow.ps1 was created by CISA's Cloud Forensics team to help detect possible compromised accounts and applications in the Azure/m365 environment "

SIEM

Die meisten Firmen konfigurieren sich daher eine Verbindung zu einem SIEM (Splunk, Azure Sentinel o.ä.), um diese Events direkt in eine eigene Plattform zu überführen, auf der automatisierte Regeln und Erkennungen nach kritischen Vorgängen suchen. Allerdings sollten Sie diese Events dann nicht per PowerShell abrufen, sondern über die Office 365 Management Activity API.

Ihre Lösung meldet sich per HTTPS und z.B. Zertifikat und OAUTH an der REST-API mit den entsprechenden Berechtigungen an.

Interessant ist hier die "Subscription", über die Sie dann auch eine Benachrichtigung auf einen von ihrer Lösung bereitgestellten Webhook. Es geht aber auch ohne Webhook, wenn Sie dann zyklisch abfragen (Polling).

Weitere Links