Caçando Lazarus: Dentro da Infraestrutura de C2 da Entrevista Contagiosa
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Red Asgard relatou um comprometimento da cadeia de suprimentos ligado a um projeto de criptomoeda promovido via Upwork, onde operadores do Lazarus incorporaram código malicioso no processo de construção/workflow. A cadeia abusa da execução automática de tarefas do VSCode, de um backdoor Node.js implementado através do construtor Function, e da entrega de carga útil protegida por cookies para buscar JavaScript malicioso da infraestrutura de comando-e-controle hospedada no Vercel. O stack C2 é dividido em domínios Vercel de primeiro estágio e servidores Windows dedicados de segundo estágio, os quais entregam um backdoor Python pesadamente ofuscado com funcionalidade de mineração XMRig. A campanha também utiliza dead drops no Pastebin, um protocolo binário personalizado e compartimentação estrita de credenciais para complicar a análise e o desmantelamento.
Investigação
Os pesquisadores enumeraram três domínios Vercel expondo endpoints autenticados por token e identificaram cinco sistemas C2 dedicados executando Express.js on porta 1244. Eles também documentaram uma técnica de timing-oracle usada para inferir ou enumerar tokens de campanhas ativas. A engenharia reversa de uma carga útil com 64 camadas revelou, em última análise, um componente trojanizado que persiste através do posicionamento na pasta de Inicialização e criação de tarefas agendadas. Descobertas adicionais incluíram credenciais MongoDB hard-coded, aproximadamente 1.000 URLs de dead drops no Pastebin, e ouvintes de protocolo Z238 personalizado em várias portas.
Mitigação
Bloquear comunicações de saída para os domínios Vercel identificados e restringir egressos para as portas 1244, 1249, e 22411–22412. Monitorar a criação de Windows Update Script.pyw em locais de Inicialização, tarefas agendadas chamadas “Runtime Broker” e execução suspeita de msedge.exe consistente com disfarce de minerador. Detectar processos Node.js invocando Function.constructor e atividade HTTP POST anômala para endpoints /keys. Reduzir a exposição desabilitando tarefas automáticas do VSCode e revisando scripts de pacote antes de executar npm install ou passos de construção em repositórios não confiáveis.
Resposta
Se indicadores forem observados, isolar o sistema afetado, terminar processos suspeitos e preservar artefatos de memória e disco para revisão forense. Revogar quaisquer credenciais MongoDB expostas e rotacionar todos os segredos de contas de serviço relevantes. Executar um inventário de contas e acessos para identificar usuários impactados, depois redefinir credenciais e invalidar sessões/tokens ativos. Notificar partes interessadas internas e coordenar com as autoridades se houver evidência de roubo de criptomoedas ou comprometimento de carteiras.
Fluxo de Ataque
Detecções
Possível Infiltração / Exfiltração de Dados / C2 via Serviços / Ferramentas de Terceiros (via dns)
Visualizar
Alterações Suspeitas nas Preferências do Windows Defender (via powershell)
Visualizar
Binários/ Scripts Suspeitos em Local de Inicialização Automática (via evento_arquivo)
Visualizar
Arquivo oculto foi criado no host Linux (via file_event)
Visualizar
Possível infiltração / exfiltração de dados / C2 via serviços / ferramentas de terceiros (via proxy)
Visualizar
IOCs (Emails) para detectar: Caçando Lazarus: Dentro da Infraestrutura C2 de Entrevista Contagiosa
Visualizar
IOCs (DestinationIP) para detectar: Caçando Lazarus: Dentro da Infraestrutura C2 de Entrevista Contagiosa
Visualizar
IOCs (SourceIP) para detectar: Caçando Lazarus: Dentro da Infraestrutura C2 de Entrevista Contagiosa
Visualizar
IOCs (HashSha256) para detectar: Caçando Lazarus: Dentro da Infraestrutura C2 de Entrevista Contagiosa
Visualizar
Função getCookie suspeita que busca JavaScript malicioso do domínio Vercel [Evento de Arquivo no Windows]
Visualizar
Uso suspeito de Function.constructor em errorHandler.js para RCE no Backend [Evento de Arquivo no Windows]
Visualizar
Mascaramento de Processos Maliciosos como RuntimeBroker e XMRig Miner como msedge.exe [Criação de Processo no Windows]
Visualizar
Configuração Maliciosa de Autoexecução do VSCode [Evento de Arquivo no Windows]
Visualizar
Execução da Simulação
Pré-requisito: O Check de Pré-voo de Telemetria e Linha Base deve ter passado.
Narrativa e Comandos do Ataque
O adversário copia o legítimo RuntimeBroker.exe binário para um local não padrão (%TEMP%) para mascarar-se como um processo confiável enquanto evita a detecção baseada em caminhos de sistema conhecidos. Ao executar a cópia, o evento de criação do processo contém o nome de imagem esperado, mas um caminho que falha na verificação de contenção “System32”, satisfazendo selection_runtime.
Script de Teste de Regressão
# -----------------------------------------------
# TC-20260114-A1B2C – Simulação de Mascaramento
# -----------------------------------------------
# 1. Definir caminhos
$src = "$env:SystemRootSystem32RuntimeBroker.exe"
$dest = "$env:TEMPRuntimeBroker.exe"
# 2. Copiar o binário legítimo para um diretório não-sistema
Copy-Item -Path $src -Destination $dest -Force
# 3. Executar o binário copiado (isso deve acionar a regra Sigma)
Start-Process -FilePath $dest -WindowStyle Hidden
# 4. OPCIONAL: Simular o cenário de mascaramento de msedge (miner)
# (Copiar qualquer executável benigno, renomear para msedge.exe, colocar em %LOCALAPPDATA%MicrosoftWindowsApplications)
$minerSrc = "$env:SystemRootSystem32notepad.exe"
$minerDest = "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe"
Copy-Item -Path $minerSrc -Destination $minerDest -Force
Start-Process -FilePath $minerDest -WindowStyle Hidden
# -----------------------------------------------
Comandos de Limpeza
# Remover as cópias maliciosas
Remove-Item -Path "$env:TEMPRuntimeBroker.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe" -Force -ErrorAction SilentlyContinue