SOC Prime Bias: Alto

24 Jun 2026 19:37 UTC

Variante PureRAT Descoberta em Tocador de Vídeo AI

Author Photo
SOC Prime Team linkedin icon Seguir
Variante PureRAT Descoberta em Tocador de Vídeo AI
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma campanha de malware está usando um downloader de vídeo temático falso do Google Drive para lançar uma cadeia de execução em múltiplos estágios. A infecção move-se de um carregador baseado em Python para shellcode e, em seguida, para um assembly .NET protegido identificado como PureRAT. O malware depende de ofuscação pesada, criptografia personalizada e comunicações WebSocket autenticadas para gerenciar o tráfego de comando e controle.

Investigação

A investigação analisou um fluxo de execução em etapas que começou com um carregador de bytecode em Python. Os pesquisadores observaram a decodificação Base85, zlib descompressão e injeção de shellcode através de VirtualAlloc. Uma análise mais aprofundada revelou um carregador .NET altamente protegido, Ykzrh/smveo-csharp-agent.exe, que usava virtualização e reconstrução em tempo de execução para dificultar a análise.

Mitigação

Os usuários devem ser alertados contra o download de arquivos de iscas de vídeo não oficiais ou suspeitas. As organizações devem monitorar a execução não autorizada de Python e comportamento incomum de assembly .NET dentro dos diretórios de dados de aplicativos locais. Lista de permissões de aplicação forte e monitoramento de alterações suspeitas na chave Run podem também reduzir o risco de comprometimento.

Resposta

Se esta atividade for detectada, isole imediatamente os endpoints afetados para interromper o tráfego de comando e controle baseado em WebSocket. Os investigadores devem realizar forense de memória para capturar o payload .NET descriptografado e determinar o escopo da infecção. Logs de rede também devem ser revisados para conexões com a infraestrutura smveo.com , e quaisquer credenciais potencialmente expostas devem ser rotacionadas.

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef malware fill:#ff9999 classDef persistence fill:#99ff99 classDef obfuscation fill:#ffff99 classDef tool fill:#cccccc %% Node definitions act_user_exec[“<b>Ação</b> – <b>T1204 Execução pelo Usuário</b><br/>A vítima interage com uma isca<br/>disfarçada de download de vídeo falso do Google Drive<br/>ou SMVEO.”] class act_user_exec action act_drive_by[“<b>Ação</b> – <b>T1189 Comprometimento Drive-by</b><br/>Usuário baixa arquivo malicioso:<br/>DriveVideoSetup-x64-0.1.0.exe.”] class act_drive_by action mal_setup[“<b>Malware</b> – <b>Executável Inicial</b><br/>Arquivo: DriveVideoSetup-x64-0.1.0.exe<br/>Estabelece persistência e<br/>inicia a cadeia de desofuscação.”] class mal_setup malware per_registry[“<b>Ação</b> – <b>T1547.014 Persistência</b><br/>Modifica a chave de registro:<br/>HKCUSoftwareMicrosoftWindowsCurrentVersionRun”] class per_registry persistence act_deobf[“<b>Ação</b> – <b>T1140 Desofuscar/Decodificar Arquivos</b><br/>Estágios complexos em Python envolvendo<br/>decodificação Base85, descompressão zlib,<br/>e marshal.loads.”] class act_deobf obfuscation tool_donut[“<b>Ferramenta</b> – <b>DonutLoader</b><br/>Mecanismo usado para executar<br/>shellcode na memória.”] class tool_donut tool mal_ykzrh[“<b>Malware</b> – <b>Ykzrh.exe</b><br/>Carregador .NET altamente protegido<br/>utilizando virtualização.”] class mal_ykzrh malware act_packing[“<b>Ação</b> – <b>T1027.002 Empacotamento de Software</b><br/>Usa intérpretes de bytecode personalizados<br/>e virtualização para ocultar a lógica principal.”] class act_packing obfuscation mal_purerat[“<b>Malware</b> – <b>PureRAT</b><br/>Funcionalidade principal do ataque<br/>oculta através de ofuscação.”] class mal_purerat malware act_cert_steal[“<b>Ação</b> – <b>T1649 Roubar ou Forjar Certificados de Autenticação</b><br/>Gera client.crt e client.key<br/>em %LOCALAPPDATA%SMVEO.”] class act_cert_steal action comm_c2[“<b>Ação</b> – <b>Comunicação C2</b><br/>Comunicação WebSocket autenticada<br/>com agent.sm-veo.com.”] class comm_c2 action %% Connections act_user_exec –>|leva_a| act_drive_by act_drive_by –>|executa| mal_setup mal_setup –>|realiza| per_registry mal_setup –>|inicia| act_deobf act_deobf –>|leva_a| tool_donut tool_donut –>|deploys| mal_ykzrh mal_ykzrh –>|utiliza| act_packing act_packing –>|oculta| mal_purerat mal_purerat –>|realiza| act_cert_steal act_cert_steal –>|facilita| comm_c2

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Verificação Pré-voo de Telemetria & Baseline deve ter sido aprovada.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) destinada a disparar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e têm como objetivo gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnóstico equivocado.

  • Narrativa & Comandos de Ataque: O adversário implantou com sucesso uma variante do PureRAT. Para manter o controle, o malware estabelece um canal persistente de Comando e Controle (C2). Em vez de sondagem HTTP padrão, ele utiliza uma conexão WebSocket autenticada para contornar proxies web tradicionais que podem não inspecionar fluxos WebSocket de longa duração. O objetivo do atacante é estabelecer um túnel estável e de baixa latência para agent.sm-veo.com na porta 8443. Esta simulação usará um script PowerShell para imitar esse comportamento de rede ao iniciar uma conexão com o URI malicioso.

  • Script de Teste de Regressão:

    # Simulação de C2 de Variante PureRAT via WebSocket
    # Objetivo: Acionar a regra de detecção via domínio de destino ou URL.
    
    $targetUrl = "wss://agent.sm-veo.com:8443/v1/ws"
    $targetDomain = "agent.sm-veo.com"
    
    Write-Host "[+] Iniciando Simulação de C2 do PureRAT..." -ForegroundColor Cyan
    
    try {
        Write-Host "[+] Tentando estabelecer conexão WebSocket com $targetUrl"
        # Usando um cliente WebSocket .NET para simular o comportamento específico do protocolo
        $ws = New-Object System.Net.WebSockets.ClientWebSocket
        $uri = New-Object System.Uri($targetUrl)
        $ct = New-Object System.Threading.CancellationTokenSource
    
        # Não precisamos de um handshake bem-sucedido para que a telemetria de rede seja acionada,
        # apenas a tentativa de conectar-se ao destino especificado.
        $task = $ws.ConnectAsync($uri, $ct.Token)
    
        # Aguarde brevemente para que a tentativa de conexão gere telemetria
        Start-Sleep -Seconds 5
        Write-Host "[!] Tentativa de conexão concluída. Verifique SIEM para telemetria." -ForegroundColor Green
    }
    catch {
        Write-Host "[!] Conexão falhou (Esperado se o domínio estiver redirecionado/não real), mas a telemetria deve ter sido gerada." -ForegroundColor Yellow
    }
    finally {
        if ($ws) { $ws.Dispose() }
    }
  • Comandos de Limpeza:

    # Nenhum arquivo persistente ou chave de registro foi modificado por este script de simulação específico.
    # Caso a persistência (T1547.001) tenha sido simulada, use o seguinte:
    # Remove-ItemProperty -Path 'HKCU:SoftwareMicrosoftWindowsCurrentVersionRun' -Name 'PureRAT_Update'
    Write-Host "[+] Limpeza completa. Nenhum artefato deixado pela simulação de rede." -ForegroundColor Cyan