Eventos Cruciais de Investigação do Office 365
O evento MailItemsAccessed é o primeiro evento crucial (às vezes chamado de evento de alto valor) de auditoria introduzido como parte da Auditoria Avançada do Microsoft 365 (ou auditoria). Sua introdução não foi nem tranquila nem simples e contribuiu para alguns dos problemas em torno da auditoria de caixas de correio do Exchange Online experimentados ao longo do último ano. Os eventos de auditoria MailItemsAccessed estão agora aparecendo nos inquilinos, e eu queria descobrir quão úteis esses eventos são ao investigar contas comprometidas.
Licenças E5 Necessárias
O evento MailItemsAccessed é gerado quando usuários licenciados acessam itens nas caixas de correio do Exchange Online usando qualquer protocolo de conectividade de qualquer cliente, mas apenas se sua conta tiver uma licença do Office 365 E5 ou um complemento de conformidade Microsoft 365 E5. No meu caso, tenho uma licença do Office 365 E5, e a Auditoria Avançada aparece como um dos aplicativos no plano (Figura 1). Após a captura, os eventos são enviados pelo Exchange Online para o log de auditoria do Office 365 juntamente com outros eventos de auditoria de caixa de correio.

Dois Tipos de Evento MailItemsAccessed
Eventos de MailItemsAccessed vêm em dois tipos: Sync (sincronização) e Bind (acesso a uma mensagem).
Eventos Sync são capturados quando um cliente de desktop Outlook sincroniza mensagens da caixa de correio para seu cache local (o OST para Windows ou OLM para Mac). Durante a sincronização, o cliente faz download de cópias de todos os itens novos ou alterados da caixa de correio e registra quaisquer exclusões para aplicar em sua cópia local. O evento de sincronização registra que a sincronização ocorreu para uma pasta. No curso normal dos eventos, você esperaria ver muitos eventos registrando a sincronização para pastas como Caixa de Entrada, Itens Enviados, Itens Excluídos e o Calendário, além de qualquer outra pasta para onde as mensagens são movidas. Em termos de investigação, a suposição é que, se ocorrer uma violação e alguém puder usar o Outlook para sincronizar uma pasta para um cache local, potencialmente todos os itens nessa pasta são copiados.
Eventos Bind registram o acesso a uma mensagem individual. Para reduzir o número de registros de auditoria, o Exchange Online gera um único evento de bind cobrindo o acesso a mensagens dentro de um período de dois minutos. Assim, um evento de bind pode cobrir o acesso a uma única mensagem ou dez mensagens.
Para dar uma ideia do volume de eventos que um usuário pode produzir, ao longo de um período de dois dias, minha conta gerou 443 eventos de MailItemsAccessed. A maioria foram eventos Bind (394), e destes, 312 estavam na Caixa de Entrada e 32 em Itens Enviados.
Curiosamente, 25 eventos foram capturados para a Caixa de Saída, que é uma pasta transitória onde os itens existem enquanto aguardam processamento pelo serviço de transporte Exchange. Também é usada quando o Outlook publica em uma conversa em um grupo do Outlook, por isso os eventos para a pasta da Caixa de Saída apareceram nos registros de auditoria.
O Potencial para o Rateio
I don’t use email as heavily as I once did when I was a corporate VP, so expect heavier volumes for other mailboxes. The transfer of some communications to Teams has also reduced email volume in some tenants. However, I do use multiple clients (OWA, Outlook, and Outlook mobile), all of which are usually signed in and active, which increases the number of Bind events. In the case of very active mailboxes, if more than a thousand events are generated for a mailbox in less than 24 hours, Exchange Online stops generating MailItemsAccessed events for that mailbox for 24 hours. Microsoft says that less than 1% of Exchange Online mailboxes are throttled.
Procurando por Eventos
Agora que sabemos sobre quais eventos esperar, como acessamos os eventos durante uma investigação? Usar a pesquisa de log de auditoria no centro de conformidade do Microsoft 365 não é viável porque é impossível correlacionar eventos lá. Em vez disso, precisamos extrair eventos relevantes do log de auditoria e processá-los em um formato que facilite uma análise adicional.
Para fazer isso, eu uso um script PowerShell para:
- Usar o cmdlet Search-UnifiedAuditLog para encontrar eventos de MailItemsAccessed. A pesquisa pode ser adaptada para diferentes intervalos de datas e usuários.
- Processar cada registro para extrair informações da propriedade AuditData formatada em JSON.
- Fazer processamentos adicionais para tornar as informações do AuditData mais claras. Por exemplo, escrever o tipo de logon como texto (Usuário, Delegado ou Admin) em vez de um código numérico.
- Se possível, realizar um rastreamento de mensagem para recuperar o assunto das mensagens (veja abaixo).
- Gerar um arquivo CSV contendo os registros processados.
O script transforma um registro de auditoria que se parece com isto:
RunspaceId : bb26bb84-41fe-4d3f-85dd-e800a4352e3d RecordType : ExchangeItemAggregated CreationDate : 7 Apr 2020 23:47:30 UserIds : [email protected] Operations : MailItemsAccessed AuditData : {"CreationTime":"2020-04-07T23:47:30","Id":"f5493f9a-57ce-4859-94bd-fd2ad38d5680","Operation": "MailItemsAccessed","OrganizationId":"b662313f-14fc-43a2-9a7a-d2e27f4f3478","RecordType":50,"ResultStatus":"Succeeded","UserKey":"1003BFFD805C87B0","UserType":0,"Version":1,"Workload":"Exchange","UserId":"[email protected]","ClientIPAddress":"2001:bb6:5f4f:f058:4163:e14a:1332:27c7","ClientInfoString":"Client=OutlookService;Outlook-iOS\/2.0;","ExternalAccess ":false,"InternalLogonType":0,"LogonType":0,"LogonUserSid":"S-1-5-21-458367025-2064581115-2950179075-392557","MailboxGuid":"0370f354-2752-4437-878d-cf0e5310a8d4","MailboxOwnerSid":"S-1-5-21-458367025-2064581115-2950179075-392557", "MailboxOwnerUPN":"[email protected]","OperationProperties":[{"Name":"MailAccessType","Value":"Bind"},{"Name":"IsThrottled","Value":"False"}],"OrganizationName":"office365itpros.onmicrosoft.com","OriginatingServer":"DB7PR04MB4346 (15.20.2878.014)\u000d\u000a","SessionId":"1f99e672-8141-4a22-9aa0-96357297e843","Folders":[{"FolderItems":[{"InternetMessageId":"<71ceaeec-6dc3-4452-839f-6db34dd95f95@DB5EUR01BG102.eop-EUR01.prod.protection.outlook.com>"}], "Id":"LgAAAAB+7ILpFNx8TrktaK8VYWerAQBe9CuwLc2fTK7W46L1SAp9AAAA2lHHAAAB","Path":"\\Inbox"}],"OperationCount":1} ResultIndex : 1 ResultCount : 443 Identity : f5493f9a-57ce-4859-94bd-fd2ad38d5680 IsValid : True ObjectState : Unchanged
Para um item que se parece com isto:
TimeStamp : 7 Apr 2020 23:47 Mailbox : [email protected] User : [email protected] LogonType : User FolderId : LgAAAAB+7ILpFNx8TrktaK8VYWerAQBe9CuwLc2fTK7W46L1SAp9AAAA2lHHAAAB Folder : Inbox Access : Bind Operation : MailAccessType Throttled : False ClientIP : 2001:bb6:5f4f:f058:4163:e14a:1332:27c7 ClientInfo : Client=OutlookService;Outlook-iOS/2.0; SessionId : 1f99e672-8141-4a22-9aa0-96357297e843 Messages : (1) 71ceaeec-6dc3-4452-839f-6db34dd95f95@DB5EUR01BG102.eop-EUR01.prod.protection.outlook.com (Spam Notification: 3 New Messages)
O registro de auditoria analisado e limpo é muito mais fácil de ser trabalhado.
Sem Assuntos de E-mail
Eventos de MailItemsAccessed não fornecem informações sobre os assuntos das mensagens. Todas as referências a mensagens em eventos de auditoria são feitas pelo identificador da mensagem na internet, um valor único gerado pelo servidor de email de envio. Por exemplo:
A Microsoft pode não incluir os assuntos das mensagens nos eventos de MailItemsAccessed porque poderiam revelar informações pessoais a um investigador. Isso é compreensível, mas a posição é minada pelo fato de que o SharePoint Online está bastante disposto a revelar títulos de documentos em seus registros de auditoria e os assuntos das mensagens são revelados aos investigadores em buscas de conteúdo do Office 365.
Dado que os eventos de auditoria contêm apenas identificadores de mensagens na internet, os investigadores enfrentam o problema de como conectar os eventos de auditoria às mensagens reais. Isso é importante porque, se um invasor tiver penetrado em uma caixa de correio, é necessário entender se existem mensagens importantes, confidenciais ou sensíveis que foram acessadas por ele.
O Rastreamento de Mensagens Ajuda
A maneira mais fácil de associar um identificador de mensagem a uma mensagem é usar um rastreamento de mensagens. No entanto, o rastreamento de mensagens interativo (disponível no centro de conformidade do Microsoft 365) ou o cmdlet Get-MessageTrace só suporta o rastreamento de mensagens com menos de dez dias. Por este motivo, ao processar eventos de auditoria, o script apenas chama o cmdlet Get-MessageTrace para recuperar os assuntos de mensagens com menos de 10 dias. A chamada não é feita para mensagens mais antigas e algum texto explicativo é inserido para o assunto no lugar. A saída para um conjunto de mensagens encontradas em um evento de associação MailItemsAccessed se parece com isso. A presença do assunto facilita muito a compreensão se alguma mensagem importante foi comprometida.
(1) CH2PR00MB0763CF5D33C5C47B0E0700B6A1C30@CH2PR00MB0763.namprd00.prod.outlook.com (Re: Contagem de membros da lista de distribuição);
(2) [email protected] (Notícias de influenciadores da TechSmith – Vislumbre do Camtasia 2020, ajuda para organizações em transição para trabalho e aprendizado remotos, e muito mais!);
(3) 20200407140628.27860.640645555.swift@theirishtimes.activehosted.com (Coronavírus: Pico de infecção na Irlanda pode ter passado, número de mortes pode chegar a 400 até agosto, prevê relatório);
(4) DM6PR00MB07650C27AC4B4FA1245BA27BC4C30@DM6PR00MB0765.namprd00.prod.outlook.com (Apresentação sobre ‘Reuniões Inclusivas’ hoje)
Rastreando Mensagens Antigas
Para mensagens mais antigas, é possível executar uma pesquisa histórica para recuperar detalhes de mensagens entre 11 e 90 dias, mas você não pode fazer isso interativamente, pois o cmdlet configura uma pesquisa em segundo plano. O Exchange Online não mantém dados de rastreamento de mensagens por mais de 90 dias, o que cria um problema se um atacante acessar e-mails mais antigos. Por outro lado, e-mails mais antigos podem não ser tão sensíveis quanto mensagens mais recentes.
Você pode vincular identificadores de mensagens encontrados em eventos de auditoria a e-mails antigos, mas é um processo tedioso se os dados não estiverem em algum repositório pesquisável. A abordagem manual é usar o Outlook ou o OWA para examinar mensagens na caixa de correio do usuário em torno da data do evento de auditoria. Para cada mensagem, use o complemento Message Header Analysis para relatar cabeçalhos de mensagens, entre os quais está o identificador de mensagem na internet (Figura 2).

Interpretando os Eventos de Auditoria
Meu script (que você pode baixar do GitHub) gera resultados em uma lista do PowerShell, o que facilita a geração de estatísticas como o número de eventos de associação por pasta. A lista também é enviada para a janela Out-GridView do PowerShell para análise inicial (Figura 3) e para um arquivo CSV para consideração a longo prazo.
Out-GridView é uma ótima maneira de obter uma noção inicial do que pode ter acontecido, porque você pode classificar rapidamente os eventos por SessionId ou Endereço IP do Cliente. A documentação da Microsoft explica como usar esses campos para vincular eventos e destacar ações que podem ter sido realizadas por um atacante.
Informações Úteis sobre o que Acontece em uma Caixa de Correio
Eventos de auditoria de MailItemsAccessed fornecem uma visão útil do que acontece quando os usuários acessam itens da caixa de correio. Gostaria de ver as informações publicadas nos eventos mais acessíveis e completas (o assunto da mensagem é um dado importante), mas o que temos agora é melhor do que tínhamos antes.
Gerar e armazenar eventos de auditoria custa dinheiro, especialmente quando os eventos são prolixos. Entendo por que a Microsoft considera MailItemsAccessed um evento crucial e aguardo para ver quais outros eventos que correspondam aos critérios eles fornecerão no futuro. É uma pena que esses eventos de auditoria sejam um recurso do E5. Inquilinos do E3 também são atacados!
Source:
https://petri.com/interpreting-the-office-365-mailitemsaccessed-audit-event/