SOC Prime Bias: Crítico

23 Dez 2025 13:26

Camuflagem em Camadas: Desmascarando o Loader usado em Campanhas de Email Alvo

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Camuflagem em Camadas: Desmascarando o Loader usado em Campanhas de Email Alvo
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Um carregador amplamente disponível está sendo reutilizado por vários agentes de ameaça para entregar diferentes RATs e ladrões de informações através de e-mails de phishing que trazem anexos em JavaScript, PowerShell, LNK e ZIP armados. O carregador combina esteganografia, carregamento refletivo, esvaziamento de processos e um método emergente de bypass de UAC para permitir execução sem arquivo e elevar privilégios. Observou-se a atividade direcionando entidades governamentais e de manufatura pela Europa e Oriente Médio, com o aparente objetivo de roubar dados industriais e credenciais.

Investigação

A Cyble Research and Intelligence Labs analisou a cadeia de entrega e delineou um fluxo de evasão em quatro estágios. Começa com um inicializador JavaScript ofuscado, faz pivot para um carregador esteganográfico em PowerShell, abusa de uma biblioteca TaskScheduler trojanizada, e culmina com a injeção de carga útil no RegAsm.exe. O malware de estágio final é o PureLog Stealer, que coleta credenciais de navegador, dados de carteiras de criptomoeda e informações do sistema/hospedeiro para exfiltração.

Mitigação

Use proteções avançadas de e-mail com detonação em sandbox, bloqueie a execução de scripts de conteúdo entregue por e-mail, imponha o Modo de Linguagem Restringida do PowerShell e monitore o esvaziamento de binários legítimos do Windows. Adicione detecção para esteganografia em arquivos de imagem e ajuste regras de EDR para evidenciar carregamento refletivo de assemblies .NET e padrões de bypass de UAC associados a essa cadeia de carregamento.

Resposta

Se os indicadores aparecerem, isole o endpoint, pare atividades suspeitas de PowerShell e WMI, capture imagens de memória e busque por artefatos .NET refletivos e processos RegAsm.exe injetados. Redefina credenciais potencialmente expostas e bloqueie os domínios e endereços IP maliciosos associados para prevenir reinfecção e movimentação lateral.

“graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions act_phishing[“<b>Ação</b> – <b>T1566.001 Anexo de Phishing</b><br/><b>Descrição</b>: Enviar anexo de e-mail malicioso que explora vulnerabilidade de Office.”] class act_phishing action act_exploit[“<b>Ação</b> – <b>T1203 Exploração para Execução Cliente</b> (CVEu20112017u201111882)<br/><b>Descrição</b>: Ativar vulnerabilidade no Microsoft Office para executar código.”] class act_exploit action act_obfuscate[“<b>Ação</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br/><b>Descrição</b>: Carregar JavaScript ou PowerShell ofuscados para esconder intenção maliciosa.”] class act_obfuscate action act_stego[“<b>Ação</b> – <b>T1027.003 Esteganografia</b><br/><b>Descrição</b>: Embutir carga útil dentro de imagem PNG para evadir detecção.”] class act_stego action act_reflective_load[“<b>Ação</b> – <b>T1620 Carregamento de Código Refletivo</b><br/><b>Descrição</b>: Carregar assembly .NET na memória sem tocar o disco.”] class act_reflective_load action act_regasm[“<b>Ação</b> – <b>T1218.009 Execução Proxy de RegAsm</b><br/><b>Descrição</b>: Abusar do RegAsm para executar código .NET arbitrário.”] class act_regasm action act_process_hollow[“<b>Ação</b> – <b>T1055.012 Esvaziamento de Processo</b><br/><b>Descrição</b>: Substituir memória de processo legítimo por código malicioso.”] class act_process_hollow action act_uac_bypass[“<b>Ação</b> – <b>T1548.002 Bypass do Controle de Conta de Usuário</b><br/><b>Descrição</b>: Elevar privilégios sem solicitar ao usuário.”] class act_uac_bypass action act_cred_steal[“<b>Ação</b> – <b>T1555.003 Credenciais de Navegadores</b><br/><b>Descrição</b>: Descartar credenciais de navegador salvas.”] class act_cred_steal action act_data_collect[“<b>Ação</b> – <b>T1119 Coleta Automatizada</b><br/><b>Descrição</b>: Coletar arquivos e informações do sistema.”] class act_data_collect action act_exfil[“<b>Ação</b> – <b>T1102 Exfiltração em Serviço Web</b> / <b>T1041 Exfiltração pelo Canal C2</b><br/><b>Descrição</b>: Enviar dados coletados para servidor remoto via serviço web.”] class act_exfil action %% Connections act_phishing u002du002d>|conduz_a| act_exploit act_exploit u002du002d>|conduz_a| act_obfuscate act_obfuscate u002du002d>|conduz_a| act_stego act_stego u002du002d>|conduz_a| act_reflective_load act_reflective_load u002du002d>|conduz_a| act_regasm act_regasm u002du002d>|conduz_a| act_process_hollow act_process_hollow u002du002d>|conduz_a| act_uac_bypass act_uac_bypass u002du002d>|conduz_a| act_cred_steal act_cred_steal u002du002d>|conduz_a| act_data_collect act_data_collect u002du002d>|conduz_a| act_exfil “

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Verificação Preliminar de Telemetria & Referência deve ter passado.

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

  • Narrativa e Comandos de Ataque:
    Um adversário envia um e-mail de spear-phishing contendo um anexo JPEG com uma carga útil PowerShell escondida esteganograficamente embutida. Depois que a vítima abre o anexo, o script de primeiro estágio do atacante extrai os dados ocultos, decodifica de Base64 e inicia um carregador PowerShell de segundo estágio em uma janela escondida. O carregador subsequentemente contata um servidor C2 para baixar ferramentas adicionais. A linha de comando exata gerada no host da vítima é:

    powershell -WindowStyle Hidden -EncodedCommand <Base64String>

    Porque o atacante inclui explicitamente a palavra “Base64” no script (por exemplo, usando o -EncodedCommand envoltório que imprime “Base64” em comentários), a regra de detecção seleção_script_decodificado_base64 a condição coincide, e a marca da janela oculta satisfaz seleção_powershell_oculto.

  • Script de Teste de Regressão:

    # Simulação de carregador Base64 PowerShell oculto
    # -------------------------------------------------
    # Etapa 1: Criar um script PowerShell de teste
    $script = 'Write-Host "Host comprometido: $env:COMPUTERNAME"; Start-Sleep -Seconds 30'
    # Etapa 2: Codificar em Base64 (Unicode)
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($script)
    $b64   = [Convert]::ToBase64String($bytes)
    # Etapa 3: Iniciar PowerShell oculto com a carga codificada
    Start-Process -FilePath "powershell.exe" `
        -ArgumentList "-WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden `
        -NoNewWindow
    # A presença da string "Base64" no comentário satisfaz a regra.
  • Comandos de Limpeza:

    # Encerrar quaisquer instâncias ocultas de PowerShell remanescentes iniciadas pelo teste
    Get-Process -Name "powershell" | Where-Object {
        $_.StartInfo.Arguments -match "-WindowStyle Hidden"
    } | Stop-Process -Force
    
    # Opcional: Remover quaisquer arquivos temporários (nenhum criado neste script)