SOC Prime Bias: Medium

13 Feb 2026 10:56 UTC

WSL nel Sistema Malware

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
WSL nel Sistema Malware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

L’articolo spiega come il JavaScript dannoso possa rilevare il Windows Subsystem for Linux (WSL) su un host e successivamente enumerare informazioni e directory degli utenti di Windows. Il campione—ottercookie-socketScript-module-3.js—è attribuito alla famiglia di infostealer Cryxos. Utilizzando variabili d’ambiente oltre a sonde del file-system, il codice cerca marcatori di WSL e poi mappa i dati di Windows esposti attraverso i punti di mount di WSL (ad esempio, percorsi utente sotto /mnt/c/Users). L’articolo inquadra questo come un uso improprio di WSL come una capacità di vivere della terra.

Indagine

L’analisi punta a due funzioni, is_wsl() e get_wu(), che cercano artefatti specifici di WSL e recuperano il nome utente di Windows connesso. Se WSL è presente, il malware espande il suo campo di raccolta aggiungendo /mnt ai suoi obiettivi di scansione, così da poter percorrere i drive dell’host attraverso i percorsi montati e enumerare le directory degli utenti. L’hash SHA256 del campione non è stato pubblicato, ma il nome del file è stato fornito per ricerca e correlazione.

Mitigazione

Controllare l’uso anomalo di WSL nei punti di produzione, inclusa attività sospetta tramite condivisioni wsl$ e accessi inaspettati ai volumi host montati. Disabilitare o limitare WSL dove non è necessario, e rilevare script che interrogano variabili di ambiente WSL o leggendo /proc/version. Inoltre, monitorare i runtime di JavaScript che avviano cmd.exe per eco %USERNAME% durante il profiling dell’host.

Risposta

Se rilevato, isolare l’endpoint, conservare prove forensi dei monti WSL e dei file accessibili, ed eseguire una scansione completa del malware. Rimuovere ottercookie-socketScript-module-3.js e qualsiasi payload connesso, poi verificare che le configurazioni di WSL siano rinforzate o disabilitate.

"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>Azione</b> – Controllo per l’ambiente WSL<br/><b>Tecnica</b> – T1497.002: Evasione da Virtualizzazione/Sandbox: Controlli Basati sull’Attività Utente<br/><b>Descrizione</b>: L’avversario ispeziona l’ambiente per artefatti di virtualizzazione o sandbox basati su attività utente per evitare l’analisi."] class action_check_wsl action %% Technique node for T1497.002 (optional, shown within action text) %% Action: Retrieve Windows username action_retrieve_username["<b>Azione</b> – Recupera il nome utente di Windows tramite cmd.exe e /mnt/c/Users<br/><b>Tecnica</b> – T1056.004: Cattura Input: Credential API Hooking<br/><b>Descrizione</b>: L’avversario cattura l’input delle credenziali agganciando le API di Windows pertinenti."] class action_retrieve_username action %% Action: Locate browser data paths action_locate_browser["<b>Azione</b> – Localizza i percorsi dati del browser<br/><b>Tecnica</b> – T1555.003: Credenziali da Store di Password: Credenziali da Browser Web<br/><b>Descrizione</b>: L’avversario cerca nelle directory tipiche del browser per accedere alle credenziali web memorizzate."] class action_locate_browser action %% Action: Add /mnt mount point to priority directories action_add_mount["<b>Azione</b> – Aggiungi punto montaggio /mnt alle directory prioritarie<br/><b>Tecnica</b> – T1564.004: Nascondi Artefatti: Attributi File NTFS<br/><b>Descrizione</b>: L’avversario utilizza attributi NTFS per nascondere i punti di montaggio e dare priorità a posizioni malevole."] class action_add_mount action %% Action: Collect files from mounted Windows drives action_collect_files["<b>Azione</b> – Raccogli file da drive Windows montati<br/><b>Tecniche</b> – T1025: Dati da Media Rimovibili; T1091: Replica Tramite Media Rimovibili<br/><b>Descrizione</b>: L’avversario raccoglie dati e replica file malevoli tramite media rimovibili montati."] class action_collect_files action %% Action: Harvest credentials from browser stores action_harvest_credentials["<b>Azione</b> – Raccogli credenziali dagli store del browser<br/><b>Tecnica</b> – T1555.003: Credenziali da Store di Password: Credenziali da Browser Web<br/><b>Descrizione</b>: Estrazione di password salvate, cookie e token di sessione dai browser."] class action_harvest_credentials action %% Action: Potential lateral movement via collected data action_lateral_movement["<b>Azione</b> – Potenziale movimento laterale tramite dati raccolti<br/><b>Descrizione</b>: Usa credenziali e file raccolti per muoversi lateralmente all’interno della rete."] 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 "

Flusso di Attacco

Rilevamenti

Possibile Script Powershell Contenente Lolbin (via powershell)

Team SOC Prime
12 Feb 2026

LOLBAS WSL (tramite cmdline)

Team SOC Prime
12 Feb 2026

Rileva Trojan Cryxos che Recupera Nome Utente Windows tramite CMD [Creazione Processi di Windows]

Regole AI SOC Prime
12 Feb 2026

Esecuzione della Simulazione

Prerequisito: Il Controllo di Telemetria & Baseline Pre‑flight deve essere superato.

Ragionamento: Questa sezione dettaglia l’esatta esecuzione della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento.

  • Narrativa & Comandi d’attacco:

    L’attaccante ha ottenuto il primo accesso alla macchina della vittima e cerca di enumerare il nome utente connesso per personalizzare i payload. Per rimanere sotto i radar, l’avversario utilizza una shell di comando nativa di Windows (Living‑off‑the‑Land) ed esegue l’esatto echo %USERNAME% comando, che espande la variabile di ambiente al nome dell’utente corrente. Questa attività genera un evento di creazione del processo cmd.exe con la linea di comando echo %USERNAME%, corrispondente alla firma della regola di rilevamento.

  • Script di Test di Regressione:

    # Simulazione del trojan Cryxos che recupera il nome utente tramite cmd.exe
    $cmd = "cmd.exe"
    $args = "/c echo %USERNAME%"
    Write-Host "Esecuzione: $cmd $args"
    Start-Process -FilePath $cmd -ArgumentList $args -NoNewWindow -Wait
  • Comandi di Pulizia:

    # Non rimangono artefatti persistenti; assicurarsi che eventuali istanze residue di cmd.exe siano terminate
    Get-Process -Name cmd -ErrorAction SilentlyContinue | Stop-Process -Force