Como o evento MailItemsAccessed do Microsoft 365 ajuda as investigações forenses

Shutterstock / Sam Kresslein
A Microsoft expôs o evento MailItemsAccessed para que apareça nos logs de auditoria avançada. Damos uma olhada em como isso é usado para investigar contas de e-mail suspeitas de estarem comprometidas.
Por que uma boa extração madeireira é crítica
Em um grau ou outro, sistemas operacionais, dispositivos de rede, aplicativos de software e serviços de software criam logs de diagnóstico. Fazendo referência cruzada dos carimbos de data / hora nos registros, você pode construir uma imagem precisa do que estava acontecendo em sua rede a qualquer momento.
A atividade do usuário, a comunicação entre processos, o acesso a arquivos, o tráfego de rede se movendo pela rede, as conexões de entrada e saída da rede e muito mais são registrados. Não há nenhuma agenda sinistra por trás disso. O registro — e a análise subsequente desses logs — é um procedimento operacional padrão quando você re-diagnosticar problemas operacionais ou incidentes de segurança cibernética.
Quando você está tentando descobrir como um sistema foi comprometido e o que um agente de ameaça fez quando teve acesso ao seu sistema, examinar os registros é sempre uma das primeiras etapas . Ser capaz de se referir a um registro detalhado de eventos é melhor do que tentar juntar as peças do que aconteceu apenas com o testemunho do usuário.
Os usuários limitam-se a descrever o que experimentaram e o que viram o sistema fazer. Embora eles tentem ser úteis, tudo o que podem lhe dar é a lembrança dos sintomas visíveis do incidente. Isso não fornece nenhuma ideia sobre o que os dispositivos e sistemas afetados estavam fazendo internamente — ou pensavam que estavam fazendo — no momento do incidente. E os investigadores precisam desse nível de informação para determinar a causa raiz do incidente.
Obviamente, quanto mais detalhados forem os seus registros, mais úteis serão em uma situação forense ou de diagnóstico. Quanto mais granulares forem as informações fornecidas pelos dispositivos e quanto mais frequentemente essas informações forem gravadas no registro, melhor.
Você precisa de uma licença E5 ou G5
A Microsoft fez recentemente outro tipo de evento — MailItemsAccessed — aparecem nos Logs de auditoria avançados no Microsoft 365. Isso é importante porque permite que os investigadores vejam quais itens de email foram acessados em um ataque cibernético. Este evento existia anteriormente, mas só recentemente foi exposto e pode ser filtrado pelos logs.
Saber quais itens de e-mail foram acessados durante um ataque cibernético pode ajudar a evitar a exploração dos dados contidos nesses e-mails. Também pode ser um requisito de proteção de dados para que você consiga identificar os e-mails comprometidos, os remetentes e destinatários desses e-mails.
O evento MailItemsAccessed permitirá que você faça exatamente isso, mas a Auditoria Avançada não está disponível para todos no Microsoft 365. Está disponível para organizações com um Microsoft 365 Enterprise E5 ou Assinatura G5. Essas licenças fornecem a funcionalidade de Auditoria Avançada e retenção de arquivos de log por um ano. Você pode optar por estender esse prazo para 10 anos, se desejar. Essa opção de retenção de 10 anos permite que as organizações realizem investigações em eventos históricos e satisfaçam a proteção de dados, obrigações legais ou outras.
O evento MailItemsAccessed
O evento MailItemsAccessed é acionado quando os e-mails são acessados. Se um ator de ameaça obtiver acesso a uma conta do Microsft 365, a ação MailItemsAccessed será acionada — e registrada — mesmo se não houver indicação explícita de que os e-mails comprometidos foram lidos. Basta acessar os e-mails para levantar o evento. Claro, o evento é gerado quando um usuário regular acessa legitimamente seu e-mail também, mas uma investigação vai se concentrar em determinados períodos de tempo, permitindo que as ações do usuário regular sejam descartadas.
O evento de caixa de correio MailItemsAccessed substitui um evento mais antigo chamado MessageBind e fornece vários aprimoramentos:
- MailItemsAccessed se aplica a todos os tipos de login. MessageBind não conseguiu relatar sobre usuários regulares e delegados de e-mail. Ele relatou apenas logins do AuditAdmin.
- O evento MailItemsAccessed é acionado por eventos de sincronização e eventos de ligação. Um evento de sincronização é gerado quando o e-mail é sincronizado com um cliente de e-mail. Isso pode afetar muitos e-mails. Um evento de ligação é gerado quando um único e-mail é acessado. Os eventos MessageBind foram gerados apenas para eventos de sincronização.
- O evento MailItemsAccessed é menos barulhento. O evento MessageBind pode ser acionado repetidamente para o mesmo e-mail.
Em uma organização, pode haver muitos eventos de vínculo gerados em um fluxo contínuo o dia todo. O Microsoft 365 reduz o número de eventos agregando-os em sequências de dois minutos. Se uma única caixa de correio gerar mais de 1000 eventos de ligação em um período de 24 horas, o Microsoft 365 limitará o log de eventos dessa caixa de correio nas próximas 24 horas. É importante que você leve isso em consideração em uma investigação.
Usando MailItemsAccessed in Searches
Para pesquisar os logs de auditoria avançados no Microsoft 365, você precisa ter as funções Logs de auditoria somente exibição ou Logs de auditoria atribuídas a você. As pesquisas são realizadas usando o Exchange Online Powershell ou o Centro de Conformidade e Segurança da Microsoft.
Se ainda não estiver ativado, você precisará ativar o recurso de pesquisa de auditoria:
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $ true
Este é o comando genérico para pesquisar os logs de auditoria da caixa de correio para eventos MailItemsAccessed, durante um período especificado, para uma conta de usuário especificada.
Search-MailboxAuditLog -Identity -StartDate 02/01/2021 -EndDate 28/02/2021 -Operations MailItemsAccessed -ResultSize 1000 -ShowDetails
Investigando uma caixa de correio comprometida
A primeira etapa é verificar se a caixa de correio foi restringida. Em caso afirmativo, você deve presumir o pior cenário e tratar todos os e-mails dessa conta de usuário naquele período de 24 horas como comprometidos.
Isso retornará registros MailItemsAccessed que foram gerados enquanto a caixa de correio estava limitada, pelo período especificado, para uma conta de usuário especificada.
Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Onde {$ _. OperationProperties -like "IsThrottled: True"} | FL Você precisa saber se algum evento de sincronização ocorreu. Em caso afirmativo, o agente da ameaça baixou o e-mail para seu cliente de e-mail local. Eles podem se desconectar do servidor e revisar e pesquisar o e-mail sem gerar mais eventos no servidor.
Este comando procura eventos de sincronização durante um período especificado, para uma conta de usuário especificada.
Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Onde {$ _. OperationProperties -like "MailAccessType: Sync"} | FL Se algum evento de sincronização for encontrado, você precisará determinar a partir do endereço IP se essa ação foi executada pelo ator da ameaça. Se for esse o caso, novamente você precisa assumir o pior cenário e trabalhar com a premissa de que toda a caixa de correio foi comprometida.
Você também deve pesquisar por eventos de ligação para o umailbox comprometido, para o período de interesse.
Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Onde {$ _. OperationProperties -like "MailAccessType: Bind"} | FL As mensagens de e-mail do Microsoft 365 são identificadas por um ID de mensagem da Internet, mantido em seu valor InternetMessageId. Você pode usar os resultados da pesquisa de ligação para identificar os e-mails individuais. Você pode, então, analisá-los para ver se continham alguma informação sensível ou confidencial da empresa.
Você também pode fazer isso ao contrário. Se você conhece o InternetMessageId de e-mails que contêm informações confidenciais, pode pesquisar os resultados desses InternetMessageIds.
Um exemplo do mundo real
A equipe de Cloud Forensics da Cybersecurity and Infrastructure Security Agency (CISA) lançou um script desenvolvido para ajudar a detectar possíveis contas e aplicativos comprometidos em ambientes Microsoft Azure e Microsoft 365.
O script instalará todos os módulos do PowerShell necessários que não estejam presentes na máquina usada para a investigação. Então:
- Verifica o log de auditoria unificado em ambientes Azure / Microsft 365 em busca de sinais típicos de comprometimento.
- Lista os domínios do Azure AD.
- Verifica os principais de serviço do Azure e suas permissões da API do Microsoft Graph para tentar identificar a atividade do ator da ameaça.
- Cria vários arquivos CSV para análise posterior.
O evento MailItemsAccessed é referenciado várias vezes no script. Esta é uma pequena seção do script que usa o evento MailItemsAccessed para verificar se os itens de correio foram acessados.
If ($ AppIdInvestigation -eq "Single") {If ($ LicenseAnswer -eq "Yes") {#Procura o AppID para ver se ele acessou itens de correio. Write-Verbose "Procurando $ SusAppId na operação MailItemsAccessed no UAL." $ SusMailItems = Search-UnifiedAuditLog -StartDate $ StartDate -EndDate $ EndDate -Operations "MailItemsAccessed" -ResultSize 5000 -FreeText $ SusAppId -Verbose | Select-Object -ExpandProperty AuditData | Convertfrom-Json #Você pode modificar a saída CSV resultante alterando o parâmetro -CsvName # Por padrão, ele aparecerá como MailItems_Operations_Export. csv If ($ null -ne $ SusMailItems) {#Determina se o subdiretório AppInvestigation pelo caminho displayname existe, e se não, cria esse caminho Export-UALData -ExportDir $ InvestigationExportParentDir -UALInput $ SusMailItems -CsvName "MailItems_Operations_Export" -WorkloadType "EXO"} Else {Write-Verbose "Nenhum MailItemsAccessed data retornado para $ ($ SusAppId) e será produzido. " }} Else {Write-Host "A consulta MailItemsAccessed será ignorada porque não está presente sem uma licença E5 / G5." }
O script e algumas outras ferramentas úteis estão disponíveis gratuitamente, junto com uma orientação abrangente sobre como usá-los.
Nenhum comentário