SOC Prime Bias: Medium

13 Feb 2026 10:56 UTC

WSL no Ecossistema de Malware

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
WSL no Ecossistema de Malware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O artigo explica como um JavaScript malicioso pode detectar o Windows Subsystem for Linux (WSL) em um host e, em seguida, enumerar informações de usuários e diretórios do Windows. A amostra—ottercookie-socketScript-module-3.js—é atribuída à família de infostealers Cryxos. Utilizando variáveis de ambiente e sondagens no sistema de arquivos, o código busca por marcadores do WSL e mapeia dados do Windows expostos através de pontos de montagem do WSL (por exemplo, caminhos de usuários sob /mnt/c/Users). O artigo enquadra isso como o WSL sendo usado de forma indevida como uma capacidade de viver da terra.

Investigação

A análise aponta para duas funções, is_wsl() e get_wu(), que buscam artefatos específicos do WSL e recuperam o nome de usuário do Windows logado. Se o WSL estiver presente, o malware expande seu escopo de coleta adicionando /mnt aos seus alvos de verificação para que possa percorrer as unidades do host através dos caminhos montados e enumerar diretórios de usuários. O hash SHA256 da amostra não foi publicado, mas o nome do arquivo foi fornecido para caça e correlação.

Mitigação

Observe o uso incomum do WSL em endpoints de produção, incluindo atividade suspeita via compartilhamentos wsl$ e acesso inesperado a volumes do host montados. Desative ou restrinja o WSL onde não for necessário, e detecte scripts que consultem variáveis de ambiente do WSL ou leiam /proc/version. Além disso, monitore para runtimes de JavaScript iniciando cmd.exe para ecoar %USERNAME% durante o perfilamento do host.

Resposta

Se detectado, isole o endpoint, preserve evidências forenses de montagens e arquivos acessados do WSL, e execute uma varredura completa de malware. Remova o ottercookie-socketScript-module-3.js e quaisquer cargas relacionadas, depois verifique se as configurações do WSL estão fortalecidas ou desativadas.

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef data fill:#ccffcc %% Action: Check for WSL environment action_check_wsl["<b>Ação</b> – Verifique o ambiente WSL<br/><b>Técnica</b> – T1497.002: Evasão de Virtualização/Sandbox: Verificações Baseadas em Atividade do Usuário<br/><b>Descrição</b>: O adversário inspeciona o ambiente em busca de artefatos de virtualização ou sandbox com base na atividade do usuário para evitar análise."] class action_check_wsl action %% Technique node for T1497.002 (optional, shown within action text) %% Action: Retrieve Windows username action_retrieve_username["<b>Ação</b> – Recupere o nome de usuário do Windows via cmd.exe e /mnt/c/Users<br/><b>Técnica</b> – T1056.004: Captura de Entrada: Captura de API de Credencial<br/><b>Descrição</b>: O adversário captura a entrada de credenciais ao capturar APIs relevantes do Windows."] class action_retrieve_username action %% Action: Locate browser data paths action_locate_browser["<b>Ação</b> – Localizar caminhos de dados do navegador<br/><b>Técnica</b> – T1555.003: Credenciais de Armazenamento de Senhas: Credenciais de Navegadores da Web<br/><b>Descrição</b>: O adversário pesquisa em diretórios típicos de navegadores para acessar credenciais web armazenadas."] class action_locate_browser action %% Action: Add /mnt mount point to priority directories action_add_mount["<b>Ação</b> – Adicionar ponto de montagem /mnt a diretórios prioritários<br/><b>Técnica</b> – T1564.004: Ocultar Artefatos: Atributos de Arquivo NTFS<br/><b>Descrição</b>: O adversário usa atributos NTFS para ocultar pontos de montagem e priorizar locais maliciosos."] class action_add_mount action %% Action: Collect files from mounted Windows drives action_collect_files["<b>Ação</b> – Coletar arquivos de unidades Windows montadas<br/><b>Técnicas</b> – T1025: Dados de Mídia Removível; T1091: Reprodução por Mídia Removível<br/><b>Descrição</b>: O adversário coleta dados e replica arquivos maliciosos via mídia removível montada."] class action_collect_files action %% Action: Harvest credentials from browser stores action_harvest_credentials["<b>Ação</b> – Coletar credenciais dos armazenamentos de navegador<br/><b>Técnica</b> – T1555.003: Credenciais de Armazenamento de Senhas: Credenciais de Navegadores da Web<br/><b>Descrição</b>: Extraiu senhas salvas, cookies e tokens de sessão de navegadores."] class action_harvest_credentials action %% Action: Potential lateral movement via collected data action_lateral_movement["<b>Ação</b> – Movimento lateral potencial via dados coletados<br/><b>Descrição</b>: Use credenciais e arquivos colhidos para mover-se lateralmente dentro da rede."] class action_lateral_movement action %% Connections action_check_wsl –>|leads_to| action_retrieve_username action_retrieve_username –>|leads_to| action_locate_browser action_check_wsl –>|enables| action_add_mount action_add_mount –>|enables| action_collect_files action_locate_browser –>|enables| action_harvest_credentials action_collect_files –>|enables| action_lateral_movement action_harvest_credentials –>|supports| action_lateral_movement "

Fluxo de Ataque

Detecções

Possível Script Powershell Contendo Lolbin (via powershell)

Equipe SOC Prime
12 Fev 2026

LOLBAS WSL (via linha de comando)

Equipe SOC Prime
12 Fev 2026

Detectar Trojan Cryxos Recuperando Nome de Usuário do Windows via CMD [Criação de Processo do Windows]

Regras AI da SOC Prime
12 Fev 2026

Execução da Simulação

Pré-requisito: O Check de Pré-voo de Telemetria & Base deve ter passado.

Justificação: 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.

  • Narrativa de Ataque & Comandos:

    O atacante ganhou uma posição inicial na máquina da vítima e busca enumerar o nome de usuário logado para personalizar as cargas úteis. Para permanecer despercebido, o adversário usa um shell de comando nativo do Windows (Living-off-the-Land) e executa o comando exato echo %USERNAME% comando, que expande a variável de ambiente para o nome do usuário atual. Essa atividade gera um evento de criação de processo cmd.exe com a linha de comando echo %USERNAME%, correspondendo à assinatura da regra de detecção.

  • Script de Teste de Regressão:

    # Simular o trojan Cryxos recuperando o nome de usuário via cmd.exe
    $cmd = "cmd.exe"
    $args = "/c echo %USERNAME%"
    Write-Host "Executando: $cmd $args"
    Start-Process -FilePath $cmd -ArgumentList $args -NoNewWindow -Wait
  • Comandos de Limpeza:

    # Nenhum artefato persistente resta; certifique-se de que quaisquer instâncias remanescentes de cmd.exe sejam encerradas
    Get-Process -Name cmd -ErrorAction SilentlyContinue | Stop-Process -Force