Campanha GlassWorm Espalha Carregadores Ocultos por Extensões do VS Code
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um conjunto de extensões maliciosas do Visual Studio Code, ligadas ao ator ameaçador GlassWorm, foi descoberto no mercado do VS Code e Open VSX. Disfarçadas como temas de cores refinados, as extensões continham carregadores JavaScript ofuscados projetados para recuperar cargas secundárias. A campanha abusa da cadeia de suprimentos de software para atacar desenvolvedores e roubar dados sensíveis de ambientes comprometidos.
Investigação
Pesquisadores da Socket identificaram duas extensões maliciosas confirmadas e várias identidades de alto risco, ligadas ao cluster, por meio de análise de histórico Git e impressão digital de código-fonte. Extensões, incluindo Aurora Nocturne Night Theme e Cosmic Nebula Themes, usaram carregadores em estágios, descriptografia AES-256-CBC e memos de transação da blockchain Solana como resolutores dead-drop para infraestrutura C2. Os pesquisadores também observaram ‘brandjacking’ e artefatos de desenvolvimento compartilhados, incluindo comentários em russo.
Mitigação
As organizações devem fazer um inventário das extensões para desenvolvedores instaladas no VS Code e editores semelhantes, com atenção especial a pacotes obtidos do Visual Studio Marketplace e do registro Open VSX. As revisões de segurança devem examinar arquivos package.json, pontos de entrada executáveis e capacidades inesperadas de rede ou execução de processos em extensões de tema. A aplicação de permissões estritas para extensões e o monitoramento de execução de scripts não autorizados podem reduzir ainda mais os riscos da cadeia de suprimentos.
Resposta
Quando indicadores como processos inesperados cmd.exe lançados a partir do VS Code ou a presença de temp_batch.cmd são detectados, isole imediatamente o host afetado. Investigue credenciais potencialmente comprometidas, tokens de sessão e carteiras de criptomoeda. Remova extensões maliciosas identificadas e conduza uma revisão forense abrangente do ambiente de desenvolvimento para verificar se nenhum backdoor persistente ou cargas adicionais permanecem.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Localização de Execução de Script/Executável Suspeita via [cmd.exe /C] (via linha de comando)
Comando e Controle Suspeito por Solicitação DNS de Domínio de Primeiro Nível (TLD) Incomum (via dns)
IOCs (HashSha256) para detectar: Temas Bonitos, Carregadores Ocultos: Extensões Ligadas ao GlassWorm Abrangem o Mercado do VS Code e Open VSX Socket descoberto
IOCs (HashMd5) para detectar: Temas Bonitos, Carregadores Ocultos: Extensões Ligadas ao GlassWorm Abrangem o Mercado do VS Code e Open VSX Socket descoberto
Execução de Script Malicioso do VS Code Indicando Comprometimento Potencial [Evento de Arquivo do Windows]
Execução de Script Malicioso a partir de Extensões do VS Code [Criação de Processo do Windows]
Execução de Simulação
-
Narrativa de Ataque & Comandos: Um adversário comprometeu com sucesso a estação de trabalho de um desenvolvedor, enganando-o para instalar uma extensão de tema maliciosa do VS Code. Ao ativar, a extensão executa um processo em segundo plano que busca uma carga maliciosa de um servidor remoto (Transferência de Ferramenta de Entrada). Para iniciar o próximo estágio do ataque — que envolve o estabelecimento de persistência e o download de mais ferramentas — a extensão escreve um pequeno script em lote nomeado
temp_batch.cmdno%TEMP%diretório do usuário. Este script é projetado para executar uma série de comandos ofuscados para evadir antivírus baseados em assinatura tradicional. -
Script de Teste de Regressão:
# Script de Simulação: Queda de Carga Útil da Extensão Maliciosa do VS Code # Objetivo: Criar o arquivo específico 'temp_batch.cmd' em %TEMP% para acionar a regra de detecção. $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName Write-Host "[*] Simulando atividade maliciosa da extensão do VS Code..." -ForegroundColor Cyan # Crie o arquivo em lote malicioso $scriptContent = @" @echo off echo Simulando execução de carga maliciosa... powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Write-Host 'Comando Malicioso Executado'" "@ try { Set-Content -Path $fullPath -Value $scriptContent -ErrorAction Stop Write-Host "[+] SUCESSO: Criado $fullPath" -ForegroundColor Green Write-Host "[!] Monitore seu SIEM/EDR para o alerta de detecção." -ForegroundColor Yellow } catch { Write-Host "[-] FALHA: Não foi possível criar o arquivo. Erro: $($_.Exception.Message)" -ForegroundColor Red } -
Comandos de Limpeza:
# Script de Limpeza: Remova os artefatos criados durante a simulação $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName if (Test-Path $fullPath) { Remove-Item -Path $fullPath -Force Write-Host "[+] Limpeza Completa: $fullPath removido." -ForegroundColor Green } else { Write-Host "[-] Falha na Limpeza: Arquivo não encontrado." -ForegroundColor Red }