STOCKSTAY Prolonga a Estadia: A Mais Recente Adição ao Aparato de Coleta de Inteligência da Turla
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O Google Threat Intelligence Group identificou o STOCKSTAY, um backdoor multi-componente .NET utilizado pelo agente de ameaça Turla, ligado à Rússia. O malware é construído com um design modular que inclui um tunelador, um orquestrador e um componente de backdoor, todos comunicando-se através de WebSockets seguros. É destinado a apoiar operações de ciberespionagem de longo prazo contra alvos governamentais e militares.
Investigação
GTIG realizou uma análise aprofundada do ecossistema STOCKSTAY e rastreou seu desenvolvimento até dezembro de 2022. Os pesquisadores mapearam seus componentes modulares, examinaram seu uso de chaves ambientais para descriptografar dados de configuração e documentaram sua mudança de disfarce como uma utilidade de mercado de ações para se passar por outros aplicativos benignos. A investigação também revelou o uso do K1MORPHER para ofuscação de strings e ligações ao conhecido toolkit KAZUAR de Turla.
Mitigação
As organizações devem implementar um monitoramento rigoroso para comportamentos suspeitos de aplicativos .NET e tráfego incomum de WebSocket para domínios desconhecidos. Defender contra o acesso inicial por meio de arquivos RDP maliciosos e fortalecer as proteções de e-mail contra phishing também são críticos. Além disso, corrigir vulnerabilidades como a CVE-2025-8088 no WinRAR pode ajudar a bloquear implantações baseadas em exploração.
Resposta
Se a atividade do STOCKSTAY for detectada, isole imediatamente os hosts afetados para interromper a comunicação de comando-e-controle e o movimento lateral. Conduza uma investigação forense detalhada para determinar o escopo completo do comprometimento, com foco particular em alterações não autorizadas no registro e tarefas agendadas recentemente criadas. Logs de rede também devem ser revisados para sessões de WebSocket de longa duração, e sistemas devem ser verificados quanto à presença de arquivos de componentes do STOCKSTAY.
"diagrama de fluxo TD step_initial_access["Acesso Inicial: T1566 – Phishing (Anexos spearphishing como arquivos RDP, MSI ou RAR; Links spearphishing para sites comprometidos)"] step_execution["Execução: T1204.002 – Execução do Usuário: Arquivo Malicioso (Arquivos HTA, configurações RDP); T1574.014 – Sequestro de Fluxo de Execução: AppDomainManager (cargas úteis .NET); T1543 – Criar ou Modificar Processo do Sistema"] rules_for_execution("<b>Nome da Regra</b>: Comportamento Suspeito de Evasão de Defesa MSHTA LOLBAS pela Detecção de Comandos Associados (via creation_process)<br/><b>ID da Regra</b>: feb459cf-289a-41ab-9241-d8edc232c487") step_persistence["Persistência: T1543 – Criar ou Modificar Processo do Sistema (entradas de execução automática); T1133 – Serviços Remotos Externos (conectividade de longo prazo)"] step_defense_evasion["Evasão de Defesa: T1036 – Mascaramento (renomeação para utilitários benignos); T1027.015 – Arquivos ou Informações Ofuscadas: Compressão; T1497.001/002 – Evasão de Virtualização/Sandbox via WMI"] step_discovery["Descoberta: T1012 – Consultar Registro; T1497.001 – Evasão de Virtualização/Sandbox (coleta de informações de sistema/hardware via WMI)"] step_command_and_control["Comando e Controle: T1102.002/003 – Serviço Web: Comunicação Bidirecional/Unidirecional (WebSocket via Render); T1568 – Resolução Dinâmica"] rules_for_c2("<b>Nome da Regra</b>: Possível Tentativa de Abuso de Ethereum Node Público como Canal de C2 (via dns_query)<br/><b>ID da Regra</b>: 280e86bf-fad9-4b9c-8867-e2355e3f50ba") step_collection_exfiltration["Coleta e Exfiltração: T1560.002/003 – Arquivar Dados Coletados via Biblioteca ou Método Personalizado (arquivos ZIP em memória)"] step_initial_access –>|conduz_a| step_execution step_execution –>|habilita| step_persistence step_execution -.->|detectado_por| rules_for_execution step_persistence –>|conduz_a| step_defense_evasion step_defense_evasion –>|habilita| step_discovery step_discovery –>|conduz_a| step_command_and_control step_command_and_control –>|habilita| step_collection_exfiltration step_command_and_control -.->|detectado_por| rules_for_c2 "
Fluxo de Ataque
Detecções
Possível Tentativa de Abuso de Ethereum Node Público como Canal de C2 (via dns_query)
Ver
Comportamento Suspeito de Evasão de Defesa MSHTA LOLBAS pela Detecção de Comandos Associados (via creation_process)
Ver
Detecção de Análise de CryptoContainer e Ofuscação K1MORPHER no Malware STOCKSTAY de Turla [Windows Sysmon]
Ver
Detecção de Comunicação C2 WebSocket do STOCKSTAY [Conexão de Rede do Windows]
Ver
Detecção de Atividades Maliciosas do STOCKSTAY [Criação de Processos do Windows]
Ver
Execução da Simulação
Pré-requisito: A Verificação de Pré-voo de Telemetria e Linha de Base 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 a erros de diagnóstico.
-
Narrativa de Ataque & Comandos: O adversário pretende estabelecer persistência usando uma ferramenta que se disfarça como um componente de atualização legítimo da Microsoft. Para evadir detecção, o atacante renomeou seu backdoor STOCKSTAY para
MicrosoftUpdateOneDrive.exee colocou-o em um diretório temporário. O objetivo é executar este processo para iniciar uma shell reversa ou comunicação de comando-e-controle (C2), contando com o nome “legítimo” para contornar o monitoramento básico de processos. -
Script de Teste de Regressão:
# Script de Simulação: Execução de Mascaramento STOCKSTAY $MaliciousName = "MicrosoftUpdateOneDrive.exe" $TargetDir = "$env:TEMPStockstaySim" # 1. Crie um diretório e arquivo "malicioso" simulado if (!(Test-Path $TargetDir)) { New-Item -Path $TargetDir -ItemType Directory -Force } $FakeBinary = Join-Path $TargetDir $MaliciousName # 2. Crie um executável fictício (usando um cmd.exe renomeado para fins de simulação) Copy-Item "C:WindowsSystem32cmd.exe" -Destination $FakeBinary -Force Write-Host "[+] Simulação: Criado $FakeBinary" -ForegroundColor Cyan # 3. Execute o processo "malicioso" Write-Host "[+] Simulação: Executando $MaliciousName..." -ForegroundColor Yellow Start-Process -FilePath $FakeBinary -ArgumentList "/c echo STOCKSTAY_SIMULATION_ACTIVE" -WindowStyle Hidden Write-Host "[+] Simulação: Execução do processo iniciada." -ForegroundColor Green -
Comandos de Limpeza:
# Script de Limpeza $TargetDir = "$env:TEMPStockstaySim" if (Test-Path $TargetDir) { Remove-Item -Path $TargetDir -Recurse -Force Write-Host "[+] Limpeza: Removido diretório de simulação $TargetDir" -ForegroundColor Green } else { Write-Host "[-] Limpeza: Diretório de simulação não encontrado." -ForegroundColor Red }