Поиск по сайту:

Как событие Microsoft 365 MailItemsAccessed помогает судебным расследованиям


Microsoft предоставила доступ к событию MailItemsAccessed, чтобы оно отображалось в журналах расширенного аудита. Мы рассмотрим, как это используется для расследования предполагаемых скомпрометированных почтовых учетных записей.

Почему хорошее ведение журнала имеет решающее значение

В той или иной степени операционные системы, сетевые устройства, программные приложения и программные службы создают журналы диагностики. Сопоставляя временные метки в журналах, вы можете создать точную картину того, что происходило в вашей сети в любой момент времени.

Действия пользователя, взаимодействие между процессами, доступ к файлам, сетевой трафик, проходящий через вашу сеть, входящие и исходящие соединения и многое другое регистрируются. За этим нет никакой зловещей повестки дня. Ведение журнала и последующий анализ этих журналов — стандартная процедура при диагностике операционных проблем или инцидентов кибербезопасности.

Когда вы пытаетесь выяснить, как система была скомпрометирована и что сделал злоумышленник, получив доступ к вашей системе, изучение журналов всегда является одним из первых шагов. Возможность обратиться к подробному отчету о событиях лучше, чем пытаться собрать воедино то, что произошло, только на основании показаний пользователей.

Пользователи ограничены описанием того, что они испытали, и того, что они видели в системе. Несмотря на то, что они стараются быть полезными, все, что они могут вам дать, — это их воспоминания о видимых симптомах инцидента. Это не дает никакого представления о том, что пострадавшие устройства и системы делали внутри — или думали, что они делали — во время инцидента. А следователям нужен такой уровень информации, чтобы определить первопричину происшествия.

Очевидно, что чем более подробными будут ваши журналы, тем полезнее они будут в криминалистической или диагностической ситуации. Чем более детализирована информация, которую предоставляют устройства, и чем чаще эта информация записывается в журнал, тем лучше.

Вам нужна лицензия E5 или G5

Microsoft недавно сделала событие другого типа — MailItemsAccessed — отображаемым в журналах расширенного аудита в Microsoft 365. Это важно, поскольку позволяет следователям видеть, к каким почтовым элементам был получен доступ в результате кибератаки. Это событие уже существовало ранее, но только недавно оно было раскрыто и разрешено фильтроваться в журналах.

Знание того, какие элементы электронной почты были доступны во время кибератаки, может помочь вам предотвратить использование данных, содержащихся в этих электронных письмах. Это также может быть требованием защиты данных, чтобы вы могли идентифицировать скомпрометированные электронные письма, отправителей и получателей этих электронных писем.

Событие MailItemsAccessed позволит вам сделать это, но расширенный аудит доступен не для всех в Microsoft 365. Он доступен для организаций с подпиской Microsoft 365 Enterprise E5 или G5. Эти лицензии обеспечивают функциональность расширенного аудита и хранение файлов журналов в течение одного года. При желании вы можете продлить его до 10 лет. Этот вариант хранения в течение 10 лет позволяет организациям проводить расследования исторических событий и выполнять обязательства по защите данных, юридические или другие обязательства.

Событие MailItemsAccessed

Событие MailItemsAccessed запускается при доступе к электронной почте. Если злоумышленник получит доступ к учетной записи Microsoft 365, действие MailItemsAccessed будет запущено и зарегистрировано в журнале, даже если нет явных указаний на то, что скомпрометированные электронные письма были прочитаны. Простого доступа к электронной почте достаточно, чтобы вызвать событие. Конечно, событие возникает, когда обычный пользователь также законно получает доступ к своей электронной почте, но расследование будет сосредоточено на определенных периодах времени, что позволит отбросить действия обычного пользователя.

Событие почтового ящика MailItemsAccessed заменяет старое событие под названием MessageBind и предоставляет несколько улучшений:

  •  MailItemsAccessed применяется ко всем типам входа. MessageBind не мог создавать отчеты по обычным пользователям и делегатам электронной почты. Он сообщал только о входах в систему AuditAdmin.
  • Событие MailItemsAccessed запускается событиями sync и событиями bind. Событие синхронизации возникает, когда почта синхронизируется с почтовым клиентом. Это может повлиять на многие электронные письма. Событие привязки возникает при доступе к одному электронному письму. События MessageBind вызывались только для событий синхронизации.
  • Событие MailItemsAccessed менее шумное. Событие MessageBind может запускаться повторно для одного и того же сообщения электронной почты.

В организации может быть много событий привязки, инициированных в непрерывном потоке в течение всего дня. Microsoft 365 сокращает количество событий, объединяя их в двухминутные последовательности. Если один почтовый ящик создает более 1000 событий привязки в течение 24 часов, Microsoft 365 ограничивает ведение журнала событий для этого почтового ящика на следующие 24 часа. Это важно учитывать при расследовании.

Использование MailItemsAccessed в поиске

Для поиска в журналах расширенного аудита в Microsoft 365 вам должны быть назначены роли журналов аудита только для просмотра или журналов аудита. Поиск выполняется с помощью Exchange Online Powershell или Центра безопасности и соответствия требованиям Майкрософт.

Если он еще не включен, вам необходимо включить возможность аудита поиска:

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

Это общая команда для поиска в журналах аудита почтовых ящиков событий MailItemsAccessed в течение указанного периода для указанной учетной записи пользователя.

Search-MailboxAuditLog -Identity -StartDate 02/01/2021 -EndDate 02/28/2021 -Operations MailItemsAccessed -ResultSize 1000 -ShowDetails

Исследование взломанного почтового ящика

Первый шаг — проверить, был ли почтовый ящик отрегулирован. Если это так, вы должны предположить наихудший сценарий и рассматривать все электронные письма для этой учетной записи пользователя за этот 24-часовой период как скомпрометированные.

Это вернет записи MailItemsAccessed, которые были созданы, когда почтовый ящик был ограничен, в течение указанного периода для указанной учетной записи пользователя.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "IsThrottled:True"} | FL

Вам необходимо знать, имели ли место какие-либо события синхронизации. Если это так, злоумышленник загрузил электронное письмо в свой локальный почтовый клиент. Затем они могут отключиться от сервера и просматривать и искать электронную почту, не создавая больше никаких событий на сервере.

Эта команда ищет события синхронизации в течение указанного периода для указанной учетной записи пользователя.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "MailAccessType:Sync"} | FL

Если обнаружены какие-либо события синхронизации, вам необходимо определить по IP-адресу, было ли это действие выполнено злоумышленником. Если это так, вам снова нужно предположить наихудший сценарий и исходить из того, что весь почтовый ящик был скомпрометирован.

Вы также должны искать события привязки для скомпрометированного почтового ящика за интересующий период.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "MailAccessType:Bind"} | FL

Сообщения электронной почты Microsoft 365 идентифицируются по идентификатору интернет-сообщения, хранящемуся в их значении InternetMessageId. Вы можете использовать результаты поиска привязки, чтобы идентифицировать отдельные электронные письма. Затем вы можете просмотреть их, чтобы узнать, содержат ли они какую-либо важную или конфиденциальную информацию компании.

Вы можете сделать это и наоборот. Если вы знаете InternetMessageId сообщений электронной почты, которые, как известно, содержат конфиденциальную информацию, вы можете выполнить поиск этих InternetMessageId результатов.

Реальный пример

Группа облачной криминалистики Агентства кибербезопасности и безопасности инфраструктуры (CISA) выпустила скрипт, предназначенный для обнаружения возможных скомпрометированных учетных записей и приложений в средах Microsoft Azure и Microsoft 365.

Сценарий установит все необходимые ему модули PowerShell, которых нет на машине, используемой для исследования. Затем:

  • Проверяет единый журнал аудита в средах Azure/Microsft 365 на наличие типичных признаков компрометации.
  • Список доменов Azure AD.
  • Проверяет субъекты-службы Azure и их разрешения API Microsoft Graph, чтобы попытаться идентифицировать действия злоумышленников.
  • Создает несколько CSV-файлов для дальнейшего просмотра.

Событие MailItemsAccessed упоминается в сценарии несколько раз. Это короткий раздел сценария, который использует событие MailItemsAccessed для проверки того, был ли осуществлен доступ к почтовым элементам.

If ($AppIdInvestigation -eq "Single"){
  If ($LicenseAnswer -eq "Yes"){
    #Searches for the AppID to see if it accessed mail items.
    Write-Verbose "Searching for $SusAppId in the MailItemsAccessed operation in the UAL."
    $SusMailItems = Search-UnifiedAuditLog -StartDate $StartDate -EndDate $EndDate -Operations "MailItemsAccessed" -ResultSize 5000 -FreeText $SusAppId -Verbose | Select-Object -ExpandProperty AuditData | Convertfrom-Json
    #You can modify the resultant CSV output by changing the -CsvName parameter
    #By default, it will show up as MailItems_Operations_Export.csv
    If ($null -ne $SusMailItems){
      #Determines if the AppInvestigation sub-directory by displayname path exists, and if not, creates that path
      Export-UALData -ExportDir $InvestigationExportParentDir -UALInput $SusMailItems -CsvName "MailItems_Operations_Export" -WorkloadType "EXO"
      } Else{
        Write-Verbose "No MailItemsAccessed data returned for $($SusAppId) and no CSV will be produced."
      } 
    } Else{
        Write-Host "MailItemsAccessed query will be skipped as it is not present without an E5/G5 license."
    }

Скрипт и некоторые другие полезные инструменты находятся в свободном доступе вместе с подробными инструкциями по их использованию.