Por Dentro de um Proxy e RAT Baseados em Deno
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um atacante implantou um Cavalo de Troia de Acesso Remoto (RAT) modular e uma estrutura de proxy aproveitando o runtime JavaScript Deno. O ataque utilizou bombardeio de e-mails e personificação do Microsoft Teams para facilitar o download de um arquivo malicioso. O implante opera através de múltiplos arquivos JavaScript modulares que usam flags de permissão específicas do Deno para realizar comunicação C2, execução de comandos locais e pivotagem de rede.
Investigação
A investigação revelou uma fase de acesso inicial consistindo em inundação de e-mails e engenharia social via Microsoft Teams. O malware foi identificado como um sistema não-tradicional, modular baseado em Deno, dividido em quatro scripts: app.js, back.js, helper.js e webui.js. A detecção ocorreu durante atividades de reconhecimento pós-exploração em vez de na execução inicial.
Mitigação
As organizações devem monitorar a execução de runtimes de script como Deno a partir de diretórios graváveis pelo usuário e alertar sobre flags de permissão suspeitas, como –allow-run ou –allow-net. Implementar o monitoramento de serviços HTTP local loopback e a correlação de alertas de personificação no Teams com anomalias em e-mails é recomendado. Além disso, restringir a capacidade de executar runtimes não assinados ou não aprovados pode reduzir a superfície de ataque.
Resposta
Após a detecção, os respondedores devem isolar os hosts afetados e investigar a origem da personificação no Teams. A análise deve focar na linhagem do processo Deno e em quaisquer serviços locais vinculados às portas loopback 10021 ou 10022. Revisar os logs de auditoria unificada do Microsoft 365 para eventos TeamsImpersonationDetected é crítico para determinar o escopo da campanha de engenharia social.
Fluxo de Ataque
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via evento_de_registro)
Ver
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via linha_de_comando)
Ver
Possível Tentativa de Abuso do Runtime Deno (via criação_de_processo)
Ver
Possível Descoberta de Configuração de Rede do Sistema (via linha_de_comando)
Ver
LOLBAS Conhost (via linha_de_comando)
Ver
IOCs (HashSha256) para detectar: Anatomia de um Proxy & RAT Baseado em Deno
Ver
Detectar Execução de Comandos Shell pelo Deno [Windows Sysmon]
Ver
Detectar Execução de RAT Baseado em Deno com Flags de Permissão Suspeitas [Criação de Processo do Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Linha de Base deve ter passado.
Racionalização: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para ativar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e ter como objetivo gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa e Comandos de Ataque: O adversário entregou com sucesso um RAT malicioso baseado em Deno na máquina da vítima via anexo de spearphishing (T1566.004). Para evadir antivírus (AV) baseado em assinatura tradicional, o atacante esconde o binário Deno dentro de um subdiretório profundo e não padrão do perfil de roaming do usuário:
C:Usersuser.nameAppDataRoamingDenoJSEnv. O atacante então executa o binário usando as flags--allow-runand--allow-net. Isso permite que o malware baseado em JavaScript execute comandos shell arbitrários para descoberta de sistema (T1082) e se comunique com um servidor C2 externo via HTTPS (T1071.001). -
Script de Teste de Regressão:
# Nota: Este script simula a existência do diretório e binário # para ativar a lógica da regra. Em um teste real, o arquivo deve existir no caminho exato. $targetDir = "C:Usersuser.nameAppDataRoamingDenoJSEnv" $targetExe = "$targetDirdeno.exe" # 1. Criar a estrutura de diretório específica necessária pela regra de detecção if (!(Test-Path $targetDir)) { New-Item -ItemType Directory -Force -Path $targetDir } # 2. Criar um arquivo fictício para atuar como o 'deno.exe' # Em uma simulação real, este seria o binário Deno real. New-Item -ItemType File -Force -Path $targetExe # 3. Executar o comando 'malicioso' # Usamos Start-Process para garantir que apareça como um processo filho nos logs do Sysmon. # Como 'deno.exe' é fictício, chamaremos 'cmd.exe' mas mascaramos o comando # para corresponder à lógica, OU se estiver testando a REGRA REAL, garantir que o binário # seja real e chamá-lo. Para esta simulação, assumimos que o usuário fornece um # binário Deno real nesse caminho. Write-Host "[!] Simulando execução de $targetExe com flags maliciosas..." Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo Simulação Ativando Regra..." # Nota: Para realmente ativar a regra, o deno.exe real deve estar presente. # Se a regra está estritamente verificando o caminho de Imagem, o binário DEVE estar lá. # Para o bem de um script de simulação funcional, chamamos o caminho: # Start-Process -FilePath $targetExe -ArgumentList "--allow-run --allow-net" -
Comandos de Limpeza:
# Remover o diretório e arquivos maliciosos simulados Remove-Item -Path "C:Usersuser.nameAppDataRoamingDenoJSEnv" -Recurse -Force Write-Host "[+] Limpeza completa."