SOC Prime Bias: Médio

22 May 2026 06:34 UTC

Segredos da Esteganografia: Malware Oculto à Vista de Todos

Author Photo
SOC Prime Team linkedin icon Seguir
Segredos da Esteganografia: Malware Oculto à Vista de Todos
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Os atores de ameaças estão abusando cada vez mais de serviços de hospedagem de imagens e compartilhamento de arquivos para entregar cargas maliciosas disfarçadas dentro de arquivos PNG e JPEG aparentemente inofensivos. Essas imagens carregam DLLs codificadas em Base64 que são extraídas por um dropper JavaScript e carregadas diretamente na memória para lançar malware de acesso remoto, como o Remcos RAT. Ao evitar artefatos óbvios em disco e confiar na execução sem arquivos, a técnica pode passar despercebida por muitas defesas tradicionais de endpoints. As campanhas geralmente usam temas relacionados a finanças e têm como alvo as vítimas através de e-mails de phishing personalizados.

Investigação

A Cofense analisou um grupo de e-mails de phishing baseados em documentos de ordem de compra falsos que entregaram um dropper baseado em JavaScript. Esse dropper recuperou uma imagem esteganográfica de domínios abusados, decodificou uma DLL de carregador .NET codificada em Base64 e injetou o Remcos RAT em um processo legítimo. As estatísticas da campanha mostraram que 27% dos ataques observados entregaram o Remcos RAT, enquanto 21% entregaram o Agent Tesla e 18% entregaram o XWorm RAT. O relatório também identificou plataformas de hospedagem amplamente abusadas, incluindo uploaddeimagens.com.br and archive.org.

Mitigação

As organizações devem fortalecer a verificação de anexos de e-mail e bloquear a execução de arquivos JavaScript não confiáveis. Monitorar o tráfego de saída para plataformas conhecidas de hospedagem de imagens pode ajudar a identificar a etapa de entrega da carga. Análises comportamentais também devem ser usadas para detectar injeção de processos e carregamento apenas na memória de DLLs não assinadas. Os defensores devem monitorar ainda as localizações de execução automática do registro e tarefas agendadas para identificar tentativas de persistência sem arquivos.

Resposta

Se uma imagem esteganográfica maliciosa for suspeita, isole o endpoint afetado imediatamente e colete a memória para análise forense. Os investigadores devem procurar pela DLL do carregador .NET e por quaisquer processos legítimos que possam estar hospedando componentes injetados do Remcos. Entradas de execução automática do registro não autorizadas e tarefas agendadas criadas pelo carregador devem ser removidas. Quaisquer contas potencialmente expostas durante a intrusão devem passar por um reset completo de credenciais.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef persistence fill:#ffcc99 classDef privilege fill:#ffb3b3 %% Node definitions action_phishing["<b>Ação</b> – <b>T1566.001 Phishing</b><br/>Anexar Spearphishing: o atacante envia e-mail temático sobre finanças com um anexo de dropper JavaScript malicioso."] class action_phishing action action_user_execution["<b>Ação</b> – <b>T1204.003 Execução do Usuário</b><br/>Imagem Maliciosa: a vítima abre o dropper JavaScript que inicia o download de uma imagem maliciosa de um site de hospedagem público."] class action_user_execution action action_steganography["<b>Ação</b> – <b>T1027.003 Arquivos ou Informações Ofuscadas</b><br/>Esteganografia: a imagem baixada contém uma DLL Loader .NET codificada em Base64 escondida via esteganografia."] class action_steganography action action_process_injection["<b>Ação</b> – <b>T1055 Injeção de Processo</b><br/>O Loader injeta o Remcos RAT na memória de um processo legítimo, como o explorer.exe."] class action_process_injection action action_privilege_escalation["<b>Ação</b> – <b>T1548 Abusar do Mecanismo de Controle de Elevação</b><br/>O Loader eleva privilégios para obter direitos de administrador antes de executar a carga útil."] class action_privilege_escalation privilege persistence_appcert["<b>Persistência</b> – <b>T1546.009 Execução de Evento Agendado</b><br/>AppCert DLLs: entradas de registro escritas para carregar a DLL maliciosa na inicialização (persistência sem arquivos)."] class persistence_appcert persistence persistence_activesetup["<b>Persistência</b> – <b>T1547.014 Execução de Inicialização ou Logon</b><br/>Configuração Ativa: chaves adicionais de inicialização automática de registro adicionadas para persistência."] class persistence_activesetup persistence malware_remcos_rat["<b>Malware</b> – <b>T1219 Ferramenta de Acesso Remoto</b><br/>O Remcos RAT fornece capacidades de comando e controle para o atacante."] class malware_remcos_rat malware action_lateral_movement["<b>Ação</b> – <b>T1021 Serviços Remotos</b><br/>O RAT usa serviços remotos para mover-se lateralmente pela rede."] class action_lateral_movement action %% Connections action_phishing –>|entrega| action_user_execution action_user_execution –>|executa| action_steganography action_steganography –>|contém| action_process_injection action_process_injection –>|injeta| malware_remcos_rat malware_remcos_rat –>|habilita| action_privilege_escalation action_privilege_escalation –>|cria| persistence_appcert persistence_appcert –>|adiciona| persistence_activesetup malware_remcos_rat –>|facilita| action_lateral_movement "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O monitoramento de Telemetria & Verificação Pré-voo de Base deve ter sido aprovado.

Justificativa: 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 têm como objetivo gerar exatamente a telemetria esperada pela lógica de detecção.

  • Narrativa & Comandos de Ataque:

    1. Preparação – Carga Esteganográfica:
      O atacante incorpora um DLL do Remcos RAT compilado dentro de um JPEG benigno usando uma ferramenta personalizada (StegoEmbed.exe). O arquivo resultante (malicious.jpg) carrega a carga maliciosa em seus dados de pixel.

    2. Entrega – Execução do Loader DotNET:
      O atacante executa um carregador baseado em .NET (dotnet.exe) que referencia a imagem estego e inclui o argumento Loader. O carregador lê a imagem, extrai o DLL incorporado e o carrega diretamente na memória (execução na memória) sem escrever no disco, alcançando assim a elevação de privilégios via exploit (T1068).

    3. Resultado – Beacon RAT:
      Uma vez na memória, o Remcos RAT estabelece uma conexão de rede com o servidor C2.

    A telemetria crítica gerada é um evento de criação de processo onde:

    • Imagem (Nome do Processo) contém DotNET (dotnet.exe).
    • Linha de Comando contém a palavra literal Loader.

    Isso satisfaz a regra Sigma selection_dotnet_loader.

  • Script de Teste de Regressão:

    # ---------------------------------------------------------
    # Script de Simulação – Loader DotNET com Esteganografia (T1027.003)
    # ---------------------------------------------------------
    # 1. Crie uma imagem estego de teste (placeholder – incorporação real não é necessária)
    $stegoPath = "$env:TEMPmalicious.jpg"
    Copy-Item "$env:SystemRootWebWallpaperWindowsimg0.jpg" $stegoPath -Force
    
    # 2. Execute o loader .NET com a flag requerida
    #    Usando o legítimo dotnet.exe para imitar o nome da imagem “DotNET”.
    #    O argumento “Loader” aciona a regra Sigma.
    $loaderArgs = "`"$stegoPath`" Loader"
    Write-Host "[*] Lançando loader dotnet com argumento: $loaderArgs"
    
    Start-Process -FilePath "dotnet.exe" -ArgumentList $loaderArgs -NoNewWindow
    
    # 3. Aguarde um curto período para garantir que o processo seja capturado pelo Sysmon
    Start-Sleep -Seconds 5
    
    # 4. OPCIONAL: Simule o beacon do RAT (tráfego de rede) – não necessário para o teste da regra
    # ---------------------------------------------------------
    Write-Host "[*] Simulação completa. Verifique alerta no SIEM."
  • Comandos de Limpeza:

    # ---------------------------------------------------------
    # Limpeza – remova a imagem estego temporária e pare quaisquer processos de loader remanescentes
    # ---------------------------------------------------------
    $stegoPath = "$env:TEMPmalicious.jpg"
    
    # Remova a imagem temporária
    if (Test-Path $stegoPath) {
        Remove-Item $stegoPath -Force
        Write-Host "[*] Deletado $stegoPath"
    }
    
    # Pare quaisquer processos dotnet iniciados por este script (identificados pelo argumento "Loader")
    Get-Process -Name dotnet -ErrorAction SilentlyContinue |
        Where-Object { $_.Path -like "*dotnet.exe*" -and $_.StartInfo.Arguments -match "Loader" } |
        ForEach-Object {
            $_.Kill()
            Write-Host "[*] Terminado processo ID $($_.Id)"
        }
    # ---------------------------------------------------------