Análise Técnica de Emails Suspeitos Alvejando a Indústria Hoteleira
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.
"graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Node Definitions action_phishing["<b>Ação</b> – <b id='T1566.002'>T1566.002 Phishing: Link de Spearphishing</b><br/>Descrição: Atacantes enviam e-mails se passando por Booking.com<br/>contendo links para download de um arquivo ZIP malicioso."] class action_phishing action action_execution["<b id='T1204.002'>T1204.002 Execução do Usuário: Arquivo Malicioso</b><br/>Descrição: Usuário executa um arquivo .lnk contido dentro do arquivo ZIP."] class action_execution action process_cmd["<b id='T1059.003'>T1059.003 Interprete de Comandos e Scripts: Shell de Comando do Windows</b><br/>Descrição: Acionado via comando PowerShell usando Invoke-WebRequest<br/>para baixar um script secundário."] class process_cmd process malware_script["<b id='T1027'>T1027 Arquivos ou Informações Ofuscadas</b><br/>Descrição: Script PowerShell LE3f0MRT.ps1 usa criptografia AES<br/>para descriptografar um arquivo JavaScript (TonRAT)."] class malware_script malware action_transfer["<b id='T1105'>T1105 Transferência de Ferramenta de Entrada</b><br/>Descrição: Malware baixa um runtime legítimo do Node.js<br/>de nodejs.org para executar a carga útil."] class action_transfer action action_indirect["<b id='T1202'>T1202 Execução Indireta de Comando</b><br/>Descrição: Usado para manter persistência e evitar detecção."] class action_indirect action action_resolution["<b id='T1568'>T1568 Resolução Dinâmica</b><br/>Descrição: Consulta a API TON (tonapi.io) para recuperar<br/>o domínio de Comando e Controle C2."] class action_resolution action malware_tonrat["<b id='T1568'>T1568 Comando e Controle</b><br/>Descrição: TonRAT estabelece comunicação via WebSocket<br/>usando um aperto de mão ECDH para C2 criptografado."] class malware_tonrat malware %% Connections action_phishing –>|leads_to| action_execution action_execution –>|triggers| process_cmd process_cmd –>|downloads| malware_script malware_script –>|performs| action_transfer action_transfer –>|enables| action_indirect action_indirect –>|performs| action_resolution action_resolution –>|resolves_C2_for| malware_tonrat malware_tonrat –>|allows| action_indirect "
Fluxo de Ataque
Detecções
A Possibilidade de Execução Através de Linhas de Comando PowerShell Ocultas (via cmdline)
Ver
Possíveis Indicadores de Ofuscação de PowerShell (via powershell)
Ver
Possíveis Pontos de Persistência [ASEPs – Hive Software/NTUSER] (via registry_event)
Ver
PowerShell Executando Arquivo Em Diretório Suspeito Usando Política de Execução de Bypass (via cmdline)
Ver
Binário NodeJS Executando De Localização Incomum (via cmdline)
Ver
Alterações Suspeitas Nas Preferências Do Windows Defender (via powershell)
Ver
Comando e Controle Suspeito Por Pedido DNS De Domínio De Nível Superior (TLD) Não Usual (via dns)
Ver
Comunicação WebSocket C2 Detectada via API TON no TonRAT [Conexão de Rede Windows]
Ver
Comando PowerShell para Download e Execução de Arquivo Malicioso [Windows PowerShell]
Ver
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.ioserviç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 codificadozloapobikahy23.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."