Voltar
Malware Intelligence
Tabela de conteúdo

A macro VBA é um dos recursos mais amplamente usados do Microsoft Excel, usado por adversários para obter uma posição inicial na rede de destino. A sofisticação da técnica utilizada para implantar a carga útil determina a detecção do código de macro. No entanto, o principal motivo do risco ainda é a natureza inerente dos aplicativos do Office de oferecer a execução de macros.

Recentemente, a Microsoft adotou uma ousada migrar e desativou a execução das macros em documentos baixados da Internet. Este blog aborda algumas técnicas empregadas por adversários para contornar essas restrições e executar macros maliciosas em documentos baixados da Internet.

O que são macros e como elas são usadas maliciosamente?

As macros são programas de uso especial usados para automatizar as operações em um aplicativo ou software maior. As macros consistem em um conjunto de instruções e operações expressas em uma linguagem de macros (como Visual Basic for Applications ou VBA) ou em uma linguagem de programação convencional. Quando um determinado gatilho é acionado, o programa executará automaticamente esses comandos. Os agentes de ameaças escrevem códigos maliciosos na mesma linguagem macro e os ocultam em documentos e planilhas, distribuídos pela Internet. Em seguida, o código é ativado assim que o arquivo é aberto.

Identificador de zona e segurança

Como o Windows identifica a origem dos arquivos?

Em um ataque de phishing, os dados baixados da Internet são manipulados por um aplicativo de navegador executado no Windows. Os navegadores criam um fluxo de dados alternativo chamado “Identificador de zona, sempre que esses dados são baixados e um “ID de zona” é adicionado para esse fluxo, representando a zona da qual o arquivo se originou. Os IDs de zona estão listados na tabela abaixo. Para obter mais informações sobre zonas de segurança de URL, consulte este artigo.

ZonaID de zonaMáquina local 0 Intranet local 1 sites confiáveis 2 Internet 3 sites restritos 4

Podemos usar o PowerShell para consultar os dados do fluxo Zone.Identifier para obter o ZoneID atribuído. Conforme mostrado na imagem abaixo, muitas informações sobre o arquivo podem ser recuperadas, especialmente suas informações de origem, como URL e detalhes do host. O arquivo mostrado na imagem tem um ZoneID de 3. E com referência à tabela acima mencionada, ID 3 significa 'Internet'. Isso indica que o malicious.doc é baixado da internet.

This indicates that the malicious.doc is downloaded from the internet.
Isso indica que o malicious.doc é baixado da internet.

As implementações de segurança no Windows usam os dados do identificador de zona e utilizam o recurso “Mark of the Web” para identificar os arquivos locais dos baixados. Aqui estão alguns mecanismos que utilizam o recurso “Marca da Web” para agir:

  • Tela inteligente do Windows
  • Visualização protegida no pacote Office
  • Protetor de aplicativos
  • Proteção de dados não confiável do Visual Studio

No exemplo acima, quando o malicious.doc com ZoneID 3 é aberto no Word, ele abre na Exibição Protegida, conforme mostrado abaixo:

No exemplo acima, quando o malicious.doc com ZoneID 3 é aberto no Word, ele abre na Exibição Protegida, conforme mostrado abaixo:

Executando macros da Internet

Quando formatos não NTFS (New Technology File System) são usados como contêineres para armazenar um arquivo malicioso, o navegador será incapaz de criar ADS em arquivos dentro do contêiner. Nesses casos, o navegador não atribui um ZoneID aos arquivos do invasor, permitindo a execução de macros.

O formato “.iso” é uma opção popular de contêiner para arquivos maliciosos. E esses arquivos extraídos da ISO não têm uma zona. Fluxo de identificador, que faz com que o Windows o trate como um arquivo local.

A imagem abaixo mostra que um arquivo ISO baixado usa a Marca da Web e é atribuído ao ZoneID 3.

downloaded ISO file uses the Mark of the Web and is assigned ZoneId 3
O arquivo ISO baixado usa a Marca da Web e é atribuído ao ZoneID 3

Quando os arquivos são extraídos do ISO para o disco, eles não têm nenhum dado de identificação de zona, conforme mostrado na imagem a seguir. Portanto, quando os dados do fluxo são consultados, o PowerShell gera um erro informando que o objeto do fluxo não pode ser encontrado. Verificar se o arquivo malicioso foi categorizado como um arquivo local pelo sistema.

Hence when stream data is queried, PowerShell throws an error stating that the stream object cannot be found.
Portanto, quando os dados do fluxo são consultados, o PowerShell gera um erro informando que o objeto do fluxo não pode ser encontrado.

Quando um documento malicioso extraído de uma ISO é aberto no Word, o recurso ProtectedView não alerta o usuário. Assim, a proteção sem sandbox será oferecida pelo Protected View, permitindo que o malware tenha uma execução irrestrita no sistema.

When a malicious document extracted from an ISO is opened in Word, the ProtectedView feature doesn’t alert the user
Quando um documento malicioso extraído de uma ISO é aberto no Word, o recurso ProtectedView não alerta o usuário

Conclusão

Os adversários exploram os recursos das macros VBA para contornar as técnicas de identificação de zona empregadas pelos aplicativos do Office. Eles executam macros maliciosas em documentos que o navegador não consegue identificar como arquivos da Internet, apenas para ignorar as medidas de segurança e infectar as redes alvo. A observação das seguintes medidas de mitigação pode permitir que os usuários evitem tais ataques:

  • Uma abordagem de defesa em profundidade deve sempre ser preferida em vez de depender de uma única defesa.
  • É ideal para aplicar as regras de redução da superfície de ataque da Microsoft (Regras do ASR) em um ambiente corporativo.
  • Não execute arquivos enviados em formatos de contêiner suspeitos.
Nenhum item encontrado.

Blogs relacionados