SOC Prime Bias: Alto

12 Jun 2026 06:33 UTC

Análise Técnica de Emails Suspeitos Alvejando a Indústria Hoteleira

Author Photo
SOC Prime Team linkedin icon Seguir
Análise Técnica de Emails Suspeitos Alvejando a Indústria Hoteleira
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma sofisticada campanha de malware em múltiplos estágios está mirando o setor hoteleiro através de e-mails disfarçados como notificações do Booking.com. A cadeia de intrusão combina arquivos LNK maliciosos, scripts PowerShell e um trojan de acesso remoto baseado em Node.js conhecido como TonRAT. Um dos aspectos mais notáveis da operação é o uso da API The Open Network (TON) para obter domínios de comando e controle dinamicamente, tornando o bloqueio baseado em domínio tradicional menos confiável.

Investigação

A investigação descobriu um fluxo de execução em camadas em que um arquivo ZIP inicial contém um arquivo LNK que lança o PowerShell para recuperar um script secundário. Esse script descriptografa uma carga útil em JavaScript identificada como TonRAT usando AES e a executa através de um runtime Node.js legítimo baixado de nodejs.org. Uma vez ativo, o malware inicia comunicações de comando e controle baseadas em WebSocket usando informações de domínio extraídas de solicitações da API blockchain TON.

Mitigação

As defesas recomendadas incluem restringir a execução do PowerShell, monitorar de perto o uso não autorizado do runtime Node.js (node.exe), e detectar tráfego anômalo de WebSocket. As organizações também devem monitorar conexões para a API TON, incluindo tonapi.io, e fortalecer a filtração de e-mails para capturar domínios falsificados, anexos suspeitos e iscas de phishing voltadas para a equipe dos hotéis.

Resposta

Se houver suspeita de comprometimento, as equipes de segurança devem isolar o endpoint afetado imediatamente para evitar tráfego adicional de comando e controle e possível exfiltração de dados. Os logs operacionais do PowerShell e os registros de execução de processos devem ser revisados para a node.exe atividade não autorizada. Uma varredura forense também deve ser realizada para os hashes JavaScript conhecidos do TonRAT, junto com a investigação de qualquer conexão com a infraestrutura de comando e controle identificada.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-vôo de Telemetria & Baseline deve ter passado.

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 visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão à má interpretação do diagnóstico.

  • Narrativa do Ataque & Comandos: O adversário visa estabelecer um canal de Comando e Controle (C2) baseado em WebSocket. Para se misturar com o tráfego legítimo, o malware primeiro consulta o tonapi.io serviço para resolver sua infraestrutura C2. Uma vez que a interação de API “legítima” é estabelecida, o malware inicia um aperto de mão WebSocket (wss://) para o domínio malicioso codificado zloapobikahy23.bond. Esta sequência é projetada para aproveitar a reputação da API TON para mascarar a subsequente conexão maliciosa.

  • Script de Teste de Regressão:

    # Simulação de Comunicação C2 do TonRAT via WebSocket
    # Passo 1: Simular interação com a API TON
    Write-Host "[+] Simulando interação com tonapi.io..."
    $api_url = "https://tonapi.io/v2/blockchain/accounts/EQ..."
    Invoke-WebRequest -Uri $api_url -Method Get -UseBasicParsing
    
    # Passo 2: Simular conexão WebSocket para o domínio C2 malicioso
    # Nota: Usamos um cliente PowerShell para iniciar um pedido WSS para acionar a lógica 'wss://' e de domínio
    Write-Host "[+] Simulando conexão WebSocket para o domínio malicioso..."
    $c2_url = "wss://zloapobikahy23.bond/control"
    
    # Usando um cliente .NET WebSockets para garantir que 'wss://' esteja presente na telemetria
    $ws = New-Object System.Net.WebSockets.ClientWebSocket
    $cts = New-Object System.Threading.CancellationTokenSource
    $uri = New-Object System.Uri($c2_url)
    
    try {
        $task = $ws.ConnectAsync($uri, $cts.Token)
        # Não precisamos de uma conexão bem-sucedida, apenas a tentativa para gerar o log
        $task.Wait(5000) 
    } catch {
        Write-Host "[!] Conexão falhou conforme esperado (domínio não existe), mas a telemetria deve ser gerada."
    } finally {
        $ws.Dispose()
    }
  • Comandos de Limpeza:

    # Nenhum artefato persistente é criado por este script, mas limpamos o console
    Clear-Host
    Write-Host "Limpeza de simulação concluída."