Evitando a segurança do SharePoint: duas novas técnicas para evitar a detecção de exfiltração

O Varonis Threat Labs descobriu duas técnicas no SharePoint que permitem aos usuários evitar o acionamento de eventos de download durante a exfiltração de arquivos.

O Varonis Threat Labs descobriu duas técnicas no SharePoint que permitem aos usuários contornar logs de auditoria e evitar o acionamento de eventos de download durante a exfiltração de arquivos.   

Essas técnicas podem contornar as políticas de detecção e aplicação de ferramentas tradicionais, como corretores de segurança de acesso à nuvem, prevenção contra perda de dados e SIEMs, ocultando downloads como eventos de acesso e sincronização menos suspeitos. 

Técnica nº 1: Método de abertura no aplicativo

A primeira técnica usa o código que habilita o recurso “abrir no aplicativo” no SharePoint para acessar e baixar arquivos, deixando apenas um evento de acesso no log de auditoria do arquivo. Este método pode ser executado manualmente ou automatizado através de um script PowerShell, permitindo a rápida exfiltração de muitos arquivos.  

Técnica nº 2: Agente de usuário SkyDriveSync

A segunda técnica usa o User-Agent para Microsoft SkyDriveSync para baixar arquivos ou até mesmo sites inteiros, enquanto rotula erroneamente os eventos como sincronizações de arquivos em vez de downloads.  

Usando essas técnicas, os agentes de ameaças poderiam exfiltrar dados enquanto ocultavam suas atividades dos registros de auditoria, ignorando a detecção ou a aplicação de políticas.

Divulgação

Os pesquisadores da Varonis divulgaram esses métodos à Microsoft em novembro de 2023. No momento da publicação, a Microsoft designou essas técnicas como uma correção de segurança “moderada” e adicionou as vulnerabilidades ao seu programa de patch backlog.

Em 10 de abril de 2024, a Microsoft encerrou o ticket para o método SharePoint como “por design” e acredita que os clientes não precisam tomar medidas. Esta funcionalidade permanecerá nas implantações do SharePoint até novo aviso. 

A Varonis recomenda que as organizações analisem atentamente os eventos de acesso em busca de atividades de acesso incomuns, volumes, novos dispositivos ou geolocalizações em seus logs de auditoria do SharePoint e OneDrive. Nossos recursos UEBA e IA analisam o comportamento do usuário para detectar e impedir atividades suspeitas, como o acesso em massa a arquivos em curtos períodos.  

Para aumentar a conscientização sobre essas táticas, detalharemos os métodos utilizados e forneceremos estratégias de detecção que as organizações podem implementar para identificar e mitigar tais atividades. 

SharePoint e OneDrive: riscos e exfiltração de dados 

As organizações usam o SharePoint e o OneDrive para facilitar o acesso aos arquivos dos funcionários. No entanto, como qualquer servidor de arquivos, o gerenciamento de permissões pode ser complexo. Permissões configuradas incorretamente podem conceder inadvertidamente aos usuários acesso mais amplo do que o necessário.   

Permissões excessivas e outras configurações incorretas deixam rotineiramente até 10% dos dados na nuvem de uma empresa expostos a todos os funcionários ; em alguns setores, como manufatura ou financeiro, o número de arquivos abertos a todos os funcionários pode chegar a 11 milhões .   

Os agentes de ameaças aproveitam permissões e acesso mal configurados para exfiltrar dados. Existem dois métodos principais pelos quais os dados podem ser exfiltrados do SharePoint e do OneDrive: 

  1. Downloads de arquivos : download direto de arquivos e pastas para um dispositivo local
  2. Compartilhamento externo : usando recursos nativos do SharePoint para gerar um link externo compartilhável, seja criando um link anônimo ou enviando um link para uma parte específica 

Embora o compartilhamento externo seja um vetor de ataque com vários métodos de detecção disponíveis , nosso foco está nos downloads de arquivos . Optamos por focar nos downloads de arquivos porque a ação pode ser automatizada , o que aumenta o risco de exfiltração em massa de dados.  

A automatização de downloads de arquivos para exfiltração é facilmente alcançada com diversas ferramentas (como Aplicativos do Azure e a API MSGraph) recuperando URLs de download de arquivos. Esses URLs são válidos por uma hora e podem ser usados ​​por qualquer pessoa, mas crie um log de auditoria “FileDownloaded”.  

Embora esse método seja uma forma eficiente de exfiltrar arquivos, a atividade pode ser facilmente rastreada procurando grandes quantidades de logs “FileDownloaded”, tornando-o indesejável para os agentes da ameaça. Pessoas internas não técnicas podem confiar mais em funções GUI para baixar arquivos, que também são auditados de forma semelhante. Para agentes de ameaças e pessoas mal-intencionadas, acessar arquivos é muito menos suspeito do que baixá-los.  

Como parte de nossa pesquisa, nosso objetivo foi determinar quais ações do usuário geraram quais tipos de eventos, sejam alertas de segurança ou eventos de arquivo (por exemplo, abertura, fechamento, download, etc.). À medida que desenvolvemos scripts de ataque específicos, identificamos técnicas que poderiam ser usadas para baixar arquivos sem acionar eventos padrão e contornar registros de auditoria. contornar registros de auditoria. 

Baixando arquivos e pastas no SharePoint 

Para um usuário normal, mover um arquivo do SharePoint para um computador local por meio de download direto ou sincronização de diretório conta como um download. No entanto, no SharePoint, sincronizações de arquivos, downloads diretos ou “aplicativos abertos” são registrados de forma diferente no log de auditoria.

A maneira mais simples de baixar arquivos e pastas diretamente de um site do SharePoint é por meio da GUI. Os downloads diretos geram um evento de download no log de auditoria. Os produtos e fornecedores de segurança usam esses registros e eventos de auditoria para monitorar e detectar agentes de ameaças e/ou violações de políticas.  

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img4_Download-4 (1)

Um exemplo de registro mostrando a atividade “FileDownloaded” registrada junto com outros dados.

É importante observar que o download de um arquivo usa o User-Agent do navegador em vez de baixar uma pasta (que vem em um arquivo zip), que usa o User-Agent distinto “OneDriveMpc-Transform_Zip/1.0”. Essas informações podem ser valiosas durante as investigações, pois o User-Agent revela o método utilizado para baixar o conteúdo.

Além do método de download direto, existe uma maneira menos evidente de transferir arquivos para uma máquina local. Isso envolve o uso do recurso “abrir no aplicativo”: 

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img4_Download

Abrir um arquivo em um aplicativo permite o acesso aos dados sem acionar um evento de download.

Abrir um arquivo em um aplicativo em um computador ou salvar uma cópia local não cria um log de auditoria “FileDownloaded”, mesmo que o arquivo ainda seja baixado para o computador. 

Exfiltrando dados no SharePoint 

Ao combinar o PowerShell com o modelo de objeto cliente do SharePoint (CSOM), os agentes de ameaças podem escrever um script que busca o arquivo na nuvem e o salva no computador local sem deixar uma pegada no log de download: 

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img3-DownloadwithScript

Usando o script do PowerShell, um site inteiro do SharePoint pode ser exfiltrado automaticamente.

Este script pode ser estendido para mapear um site inteiro do SharePoint e, usando automação, baixar todos os arquivos para a máquina local. Embora esse método não gere logs de download, ele cria logs de acesso, que podem ser usados ​​para detectar tais atividades.

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img1-Access

Apesar de cada arquivo ser baixado, os logs mostram apenas os arquivos que estão sendo acessados. 

Alternativamente, ao abrir um documento localmente no aplicativo do SharePoint, podemos ver nos logs de rede do navegador que um comando shell é emitido , que designa qual arquivo em nuvem acessar e o método para abri-lo .  

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img4_Download-1

Abrir um documento em um aplicativo do SharePoint usa um comando shell para abrir uma URL para o documento específico.

O comando shell, visto acima, instrui o Windows a abrir o aplicativo Excel (ou o aplicativo Microsoft relevante) e carregar o documento por meio do link fornecido; clicar no link dá ao usuário a opção de baixar o arquivo: 

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img2-DownloadDialogue

As URLs usadas durante o processo de “abertura no aplicativo” no SharePoint podem ser copiadas e usadas diretamente. 

Este link é persistente, sem expiração, e acessá-lo não cria um log de auditoria “FileDownloaded”. No entanto, como no método anterior do PowerShell, clicar no link gera um log “FileAccessed”.

Em essência, o script do PowerShell e o acesso direto ao link são os mesmos, principalmente no que diz respeito aos logs de auditoria gerados.

No entanto, a menos que um usuário baixe grandes volumes de arquivos rapidamente, esses métodos provavelmente criarão apenas quantidades visíveis de logs de acesso, permitindo que tais atividades passem relativamente despercebidas pelas regras de detecção focadas em logs de download.  

Exfiltração de dados usando “FileSync” e OneDrive  

Além dos métodos mencionados acima, Varonis descobriu outra forma de exfiltrar dados evitando a detecção, usando um tipo de evento menos monitorado.

Ao contrário dos downloads manuais, a sincronização de arquivos com o SharePoint facilita a replicação automática de arquivos entre a nuvem e um PC local sem intervenção direta do usuário. Isso significa que se forem feitas alterações em um arquivo no SharePoint, essas mesmas alterações serão refletidas na cópia local e vice-versa. Em alguns casos, especialmente nas configurações organizacionais, o OneDrive pode já estar configurado para sincronizar arquivos automaticamente.

Sincronizar arquivos do SharePoint é um processo simples que pode ser iniciado com um simples clique: 

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img4_Download-2

Um exemplo de site SharePoint e função de sincronização. 

Localmente no PC, o OneDrive.exe gerencia a sincronização de arquivos entre o ambiente local e a nuvem. Essas ações de sincronização geram seus próprios registros distintos: eventos para uploads sincronizados são registrados como “FileSyncUploadedFull” e downloads sincronizados são registrados como “FileSyncDownloadedFull”. No SharePoint, os eventos manuais de upload e download são registrados como “FileUploaded” e “FileDownloaded”.

Embora tenhamos revisado os diferentes tipos de registros de download e upload do SharePoint, ainda não abordamos como o SharePoint pode distinguir entre esses eventos. Então, como o SharePoint diferencia entre arquivos sincronizados e arquivos carregados manualmente? O fator chave é o User-Agent.

Os eventos de sincronização usam um User-Agent distinto, o Microsoft SkyDriveSync, e cada evento de upload ou download que usa esse User-Agent é classificado como um evento de sincronização. Mesmo eventos manuais da GUI, como usar o botão de download, se forçados a usar o SkyDriveSync User-Agent, serão classificados como um evento de sincronização.

Blog_DataExfiltrationinSharepoint_InCopyImage_202403_Img4_Download-3

A exfiltração pode ser ocultada em eventos de sincronização de rotina, alterando o agente do navegador usado para baixar arquivos. 

Ao alterar o User-Agent do navegador, é possível baixar arquivos por métodos convencionais, como a GUI ou a API Microsoft Graph, e fazer com que eles apareçam nos logs como eventos de sincronização “FileSyncDownloadedFull” em vez de eventos de download padrão “FileDownloaded”. Isso também pode ser automatizado por meio de um script do PowerShell. Essa tática é particularmente eficaz se as detecções de download de arquivos maliciosos estiverem configuradas para ignorar eventos de sincronização. Ao falsificar o User-Agent, é possível contornar essas detecções.

O método de sincronização de arquivos não cria logs de acesso, evitando as medidas de detecção associadas ao método “abrir no aplicativo”. O método de sincronização de arquivos é uma técnica mais sutil que permite que um invasor exfiltre dados sem levantar suspeitas. 

Métodos de detecção 

Para resumir, os logs de download não são confiáveis ​​e são fáceis de ignorar. Um invasor pode evitar a criação de logs “FileDownloaded” às custas da criação de logs “FileAccessed” muito menos suspeitos, abusando do User-Agent para o recurso “abrir no aplicativo”.

Além disso, os invasores podem usar o User-Agent para SkyDriveSync para baixar arquivos, evitando a criação de logs “FileDownloaded” em detrimento da criação de logs “FileSyncDownloadedFull” mais discretos.

Considerando esses dois casos, temos algumas abordagens para detectar comportamentos suspeitos que utilizam essas técnicas.

Evitar o log “FileDownloaded” criará um log de acesso. Isso significa que grandes quantidades de acesso ou registros de auditoria de acesso anormal podem sinalizar downloads não autorizados e possível exfiltração de dados.

Se os sistemas de detecção existentes forem configurados para ignorar eventos de sincronização, novas regras de detecção deverão incorporar eventos de sincronização em seu monitoramento para detectar downloads disfarçados. Os caçadores de ameaças e as equipes de segurança não podem confiar apenas em registros de auditoria para indicar se os eventos de sincronização são atividades de download legítimas ou ocultadas. Em vez disso, as regras de detecção devem considerar padrões comportamentais, que podem incluir: 

  • A frequência e o volume típicos da atividade de sincronização de um usuário
  • Os dispositivos usuais usados ​​para operações de sincronização
  • Sincroniza a partir de uma nova geolocalização
  • As pastas específicas normalmente sincronizadas com a conta de um usuário 

Ao analisar esses parâmetros comportamentais, você pode detectar anomalias que sugerem que alguém está manipulando eventos de sincronização . Por exemplo, um aumento inesperado na atividade de sincronização de um dispositivo que não é comumente usado ou a sincronização de quantidades excepcionalmente grandes de pastas confidenciais que não fazem parte do fluxo de trabalho normal do usuário podem ser sinais de alerta.