Campanha de Phishing Implanta Variante PureLogs Baseada em JavaScript para Roubar Dados Sensíveis
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma campanha de phishing está usando um anexo JavaScript malicioso para descriptografar e executar um script PowerShell. Esse script então realiza hollowing de processo para injetar um downloader .NET no confiável MsBuild.exe processo. O downloader se conecta a um servidor de comando e controle para recuperar um plugin PureLogs que rouba credenciais, dados de navegador, informações de carteiras de criptomoeda e outros ativos sensíveis. A cadeia de ataque é altamente evasiva e depende de criptografia em camadas junto com técnicas de execução sem arquivos para reduzir a detecção.
Investigação
Os laboratórios FortiGuard examinaram o anexo de email, o JavaScript ofuscado, o script PowerShell solto e os componentes .NET em memória usados posteriormente no ataque. Durante a análise, os pesquisadores observaram a criação de um MsBuild.exe processo hollowed, carregamento de um DLL downloader e execução de um plugin PureLogs que coletou dados de navegadores, Discord, carteiras de cripto e outras aplicações. O tráfego de rede capturado mostrou comunicações GET e POST criptografadas com um único servidor de comando e controle.
Mitigação
O relatório recomenda a aplicação de filtros de email rigorosos, limitar a execução de scripts sempre que possível, e monitorar atividades suspeitas de PowerShell e hollowing de processos envolvendo MsBuild.exe. Também aconselha o uso de ferramentas de detecção e resposta em endpoint que possam identificar assemblies .NET em memória e comportamentos de rede de saída incomuns associados à entrega de malware em etapas.
Resposta
Se essa atividade for detectada, isole o endpoint afetado, termine o MsBuild.exe processo malicioso e bloqueie o endereço IP de comando e controle. Os investigadores devem então realizar análise forense para determinar se credenciais ou dados sensíveis foram roubados e redefinir contas expostas conforme necessário. O conteúdo de detecção também deve ser atualizado para cobrir o abuso de PowerShell, hollowing de processo e comportamento relacionado ao PureLogs.
Fluxo de Ataque
Ainda estamos atualizando esta parte. Inscreva-se para ser notificado
Notifique-meDetecções
A Possibilidade de Execução Através de Linhas de Comando PowerShell Ocultas (via cmdline)
Ver
PowerShell Executando Arquivo em Diretório Suspeito Utilizando Política de Execução de Bypass (via cmdline)
Ver
LOLBAS WScript / CScript (via process_creation)
Ver
IOCs (HashSha256) para detectar: FortiGuard Labs Pesquisa de Ameaças Campanha de Phishing Implementa Variante PureLogs Dirigida por JavaScript para Roubar Dados Sensíveis
Ver
IOCs (SourceIP) para detectar: FortiGuard Labs Pesquisa de Ameaças Campanha de Phishing Implementa Variante PureLogs Dirigida por JavaScript para Roubar Dados Sensíveis
Ver
IOCs (DestinationIP) para detectar: FortiGuard Labs Pesquisa de Ameaças Campanha de Phishing Implementa Variante PureLogs Dirigida por JavaScript para Roubar Dados Sensíveis
Ver
Execução de Script PowerShell Sem Arquivos e Hollowing de Processo via Assemblies .NET [Windows Powershell]
Ver
Detecção de Implementação de Variante PureLogs Dirigida por JavaScript via PowerShell e Hollowing de Processo [Criação de Processos Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-vôo de Telemetria e Linha de Base deve ter sido aprovado.
Racional: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e ter como objetivo gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
- Etapa 1 – Dropping de JavaScript: O atacante entrega um
.jspayload malicioso (codificado) via um email de phishing. O payload é salvo em%TEMP%e executado comwscript.exe. - Etapa 2 – Lançador de PowerShell: O JavaScript inicia o PowerShell com as flags
-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File, apontando para um script secundário que realiza hollowing de processo. - Etapa 3 – Hollowing de Processo via MsBuild: O script PowerShell cria
MsBuild.exeem modo suspenso, injeta o payload malicioso (um DLL fictício), e retoma o processo, alcançando execução enquanto parece uma ferramenta de build legítima.
- Etapa 1 – Dropping de JavaScript: O atacante entrega um
-
Script de Teste de Regressão: (PowerShell – executado como usuário normal, não requer arquivos externos)
# -------------------------------------------------------------- # Simulação de Variante PureLogs – JavaScript → PowerShell → MsBuild # -------------------------------------------------------------- # 1. Criar JavaScript malicioso (codificado em base64 para imitar ofuscação) $jsPayload = @" // JS malicioso: inicia PowerShell com flags de bypass var shell = new ActiveXObject("WScript.Shell"); var psCmd = "powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File ""%TEMP%launch.ps1"""; shell.Run(psCmd, 0, false); "@ $jsPath = "$env:TEMPmalicious.js" $jsPayload | Set-Content -Path $jsPath -Encoding ASCII # 2. Criar payload PowerShell que realiza hollowing de processo com MsBuild $psPayload = @" # Iniciar MsBuild em modo suspenso $msbuildPath = (Get-Command MsBuild.exe).Source $si = New-Object System.Diagnostics.ProcessStartInfo $si.FileName = $msbuildPath $si.UseShellExecute = $false $si.CreateNoWindow = $true $si.Arguments = "/t:Compile" $proc = [System.Diagnostics.Process]::Start($si) Start-Sleep -Milliseconds 500 # dar tempo para criação # Simular hollowing escrevendo apenas um arquivo fictício no espaço de memória do processo # (hollowing real usaria chamadas da API do Windows; aqui apenas mantemos o processo ativo) Write-Host "Hollowing de processo simulado – MsBuild em execução" "@ $psPath = "$env:TEMPlaunch.ps1" $psPayload | Set-Content -Path $psPath -Encoding ASCII # 3. Executar o JavaScript – este é o ponto de entrada que a regra monitora wscript.exe $jsPath # Aguardar um curto período para garantir que os logs sejam gerados Start-Sleep -Seconds 10 -
Comandos de Limpeza:
# Terminar quaisquer processos MsBuild remanescentes iniciados pela simulação Get-Process MsBuild -ErrorAction SilentlyContinue | Stop-Process -Force # Remover artefatos Remove-Item "$env:TEMPmalicious.js" -ErrorAction SilentlyContinue Remove-Item "$env:TEMPlaunch.ps1" -ErrorAction SilentlyContinue