SOC Prime Bias: Médio

04 Jun 2026 15:13 UTC

O Demônio Chega Depois: Um Esquema de Havoc se Esconde por Detrás do Microsoft Defender DLP

Author Photo
SOC Prime Team linkedin icon Seguir
O Demônio Chega Depois: Um Esquema de Havoc se Esconde por Detrás do Microsoft Defender DLP
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Atores de ameaça no Brasil estão distribuindo notas fiscais eletrônicas falsificadas NF-e anexos ZIP que entregam um instalador MSI malicioso. O MSI solta um DLL falso do Microsoft Defender Endpoint DLP que na verdade funciona como um precursor do Havoc. Uma vez iniciado, o precursor se conecta a um servidor remoto de comando e controle, recupera uma carga útil do Havoc na memória, e cria persistência através de um Script de Logon valor de registro. Variantes similares também foram observadas em domínios registrados na Malásia usando o mesmo pacote de entrega.

Investigação

A LevelBlue SpiderLabs analisou o arquivo ZIP, o dropper VBS e o pacote MSI, descobrindo um binário assinado da Microsoft, mpextms.exe, emparelhado com um endpointdlp.dll sem assinatura. O precursor continha valores de configuração em texto claro, incluindo o host de comando e controle, caminhos de URL e uma string de mutex. Capturas de rede revelaram tráfego GET e POST para endereços IP específicos junto com valores de user-agent distintos. Pesquisadores identificaram nove variantes de precursors relacionadas que compartilhavam os mesmos metadados de versão e hash de importação.

Mitigações

Os defensores devem detectar DLLs não assinadas se passando por componentes do Microsoft Defender Endpoint DLP ou Dragon Data Protection, monitorar mudanças em HKCUEnvironmentUserInitMprLogonScript, e alertar sobre o valor de mutex conhecido. A regra YARA publicada deve ser implantada para detectar o precursor antes que ele possa carregar a carga útil do Havoc. As equipes de segurança também devem verificar as assinaturas Authenticode em todos os binários de marca Microsoft entregues dentro de arquivos.

Resposta

Se esta atividade for detectada, bloqueie os endereços IP e domínios associados, coloque em quarentena os arquivos MSI e DLL, e remova a entrada de Script de Logon registro maliciosa. Execute forense no host para confirmar que nenhuma carga útil do Havoc na memória permanece ativa, e rotacione credenciais para usuários afetados. As equipes de negócios relevantes devem ser notificadas, e as proteções de email devem ser atualizadas para bloquear anexos temáticos de NF-e similares.

graph TB %% Definições de classes classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% Nós action_phishing[“<b>Ação</b> – <b>T1566.001 Phishing: Anexo de Spearphishing</b><br/>Entrega de um arquivo ZIP malicioso disfarçado como uma fatura NF-e brasileira”] class action_phishing action action_vbscript[“<b>Ação</b> – <b>T1059.005 Interpretador de Comandos e Scripts: Visual Basic</b><br/>Um VBScript oculto inicia um cmd oculto que dá início ao download do MSI”] class action_vbscript action action_download_msi[“<b>Ação</b> – <b>T1218.007 Execução Proxy por Binário Assinado: Msiexec</b><br/>Curl é invocado para obter <i>update.msi</i> do Google Cloud Storage”] class action_download_msi action action_msi_execution[“<b>Ação</b> – <b>T1218.007 Execução Proxy por Binário Assinado: Msiexec</b><br/>O Msiexec executa o MSI que contém o <i>mpextms.exe</i> assinado e o arquivo malicioso <i>endpointdlp.dll</i>”] class action_msi_execution action action_dll_sideload[“<b>Ação</b> – <b>T1218 Carregamento Lateral de DLL</b> e <b>T1036.001 Mascaramento</b><br/><i>endpointdlp.dll</i> imita uma DLL do Microsoft Defender, mas não possui assinatura válida”] class action_dll_sideload action action_stager_c2[“<b>Ação</b> – <b>T1102.002 Protocolo de Camada de Aplicação: Protocolos Web</b><br/>O stager envia GET /stage/<hex> com o User-Agent personalizado «Microsoft-Delivery-Optimization/10.1»”] class action_stager_c2 action action_download_havoc[“<b>Ação</b> – <b>T1219 Ferramenta de Acesso Remoto</b><br/>O agente Havoc é baixado via HTTP e executado diretamente na memória sem gravar em disco”] class action_download_havoc action action_persistence[“<b>Ação</b> – <b>T1037.001 Script de Logon</b><br/>Grava HKCU\Environment\UserInitMprLogonScript para iniciar <i>mpextms.exe</i> durante o logon do usuário”] class action_persistence action action_telemetry[“<b>Ação</b> – <b>T1102.003 Protocolo de Camada de Aplicação: Protocolos Web</b><br/>POST /api/v2/telemetry/diag para o servidor C2”] class action_telemetry action action_defense_evasion[“<b>Ação</b> – <b>T1027.013 Arquivos ou Informações Ofuscados: Payload Incorporado</b>, <b>T1027.010 Preenchimento Binário</b>, <b>T1564.003 Ocultação de Artefatos</b><br/>O payload é criptografado, os comandos são ofuscados e executados em janelas ocultas”] class action_defense_evasion action %% Conexões mostrando o fluxo de ataque action_phishing –>|leva_a| action_vbscript action_vbscript –>|aciona| action_download_msi action_download_msi –>|invoca| action_msi_execution action_msi_execution –>|instala| action_dll_sideload action_dll_sideload –>|comunica_se_com| action_stager_c2 action_dll_sideload –>|cria| action_persistence action_stager_c2 –>|baixa| action_download_havoc action_stager_c2 –>|envia| action_telemetry action_download_havoc –>|habilita| action_defense_evasion

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Telemetria & Baseline Pré‑voo deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para disparar a regra de detecção. Os comandos e narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa do Ataque & Comandos:
    Um atacante que já ganhou um ponto de apoio inicial na máquina da vítima deseja manter a persistência entre logons de usuário. Eles escolhem o valor UserInitMprLogonScript porque ele é executado antes do shell do usuário iniciar, fornecendo execução de código antecipada. O atacante coloca um binário disfarçado mpextms.exe (uma versão renomeada do rundll32.exe) na pasta AppData do usuário e cria um DLL malicioso endpointdlp.dll que realiza despejo de credenciais. Ao configurar o valor do registro para "%APPDATA%mpextms.exe" "%APPDATA%endpointdlp.dll", o atacante garante que a cada logon o DLL seja carregado via o rundll32.exe proxy assinado, satisfazendo T1218.007 and T1027.013 enquanto evita listas brancas binárias ingênuas.

  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Passo 1: Solte binários maliciosos (simulado)
    $payloadDir = "$env:APPDATAMalicious"
    New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null
    
    # 'mpextms.exe' simulado – usando rundll32.exe renomeado para realismo
    $src = "$env:SystemRootSystem32rundll32.exe"
    $dstExe = Join-Path $payloadDir "mpextms.exe"
    Copy-Item -Path $src -Destination $dstExe -Force
    
    # DLL malicioso simulado (arquivo vazio para fins de teste)
    $dllPath = Join-Path $payloadDir "endpointdlp.dll"
    New-Item -ItemType File -Path $dllPath -Force | Out-Null
    
    # Passo 2: Crie a entrada de registro de persistência
    $regPath = 'HKCU:Environment'
    $regName = 'UserInitMprLogonScript'
    $regValue = "`"$dstExe`" `"$dllPath`""
    Set-ItemProperty -Path $regPath -Name $regName -Value $regValue -Force
    
    Write-Host "Entrada de persistência criada: $regName = $regValue"
    # -------------------------------------------------
  • Comandos de Limpeza:

    # Remova a entrada de registro de persistência
    Remove-ItemProperty -Path 'HKCU:Environment' -Name 'UserInitMprLogonScript' -ErrorAction SilentlyContinue
    
    # Exclua os arquivos soltos
    $payloadDir = "$env:APPDATAMalicious"
    Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "Limpeza completa."