SOC Prime Bias: Medium

13 Feb 2026 10:56 UTC

WSL у екосистемі шкідливого ПО

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
WSL у екосистемі шкідливого ПО
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

У статті пояснюється, як шкідливий JavaScript може виявити Підсистему Windows для Linux (WSL) на хості, а потім перерахувати інформацію про користувача Windows та каталоги. Зразок—ottercookie-socketScript-module-3.js—відноситься до сімейства вірусів Cryxos. Використовуючи змінні середовища та перевірки файлової системи, код шукає маркери WSL, а потім відображає дані Windows, які експонуються через точки монтування WSL (наприклад, шляхи користувачів під /mnt/c/Users). У статті це подається як використання WSL як засобу залишатися під радаром.

Розслідування

Аналіз вказує на дві функції: is_wsl() та get_wu(), які шукають специфічні для WSL артефакти та отримують ім’я користувача Windows, який увійшов у систему. Якщо WSL присутня, шкідливе ПЗ розширює свою сферу збору даних, додаючи /mnt до цілей сканування, щоб воно могло проходити через змонтовані шляхи хосту і перераховувати користувацькі каталоги. Хеш SHA256 зразка не був опублікований, але було надано ім’я файлу для полювання і кореляції.

Пом’якшення

Слідкуйте за незвичним використанням WSL на продукційних кінцевих точках, включаючи підозрілі дії через wsl$ поділи та неочікуваний доступ до змонтованих об’ємів хосту. Вимкніть або обмежте WSL, де це не потрібно, і виявляйте скрипти, які запитують змінні середовища WSL або читають /proc/version. Також спостерігайте за випадками запуску JavaScript, які викликають cmd.exe для відображення %USERNAME% під час профілювання хосту.

Відповідь

Якщо виявлено, ізолюйте кінцеву точку, збережіть судово-медичні докази змонтованих WSL та файлів, до яких здійснювався доступ, і запустіть повне сканування на наявність шкідливого ПЗ. Видаліть ottercookie-socketScript-module-3.js та будь-які супутні навантаження, потім переконайтеся, що конфігурації WSL затверджені або вимкнені.

"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>Action</b> – Check for WSL environment<br/><b>Technique</b> – T1497.002: Virtualization/Sandbox Evasion: User Activity Based Checks<br/><b>Description</b>: Adversary inspects the environment for virtualization or sandbox artifacts based on user activity to avoid analysis."] class action_check_wsl action %% Technique node for T1497.002 (optional, shown within action text) %% Action: Retrieve Windows username action_retrieve_username["<b>Action</b> – Retrieve Windows username via cmd.exe and /mnt/c/Users<br/><b>Technique</b> – T1056.004: Input Capture: Credential API Hooking<br/><b>Description</b>: Adversary captures credential input by hooking relevant Windows APIs."] class action_retrieve_username action %% Action: Locate browser data paths action_locate_browser["<b>Action</b> – Locate browser data paths<br/><b>Technique</b> – T1555.003: Credentials from Password Stores: Credentials from Web Browsers<br/><b>Description</b>: Adversary searches typical browser directories to access stored web credentials."] class action_locate_browser action %% Action: Add /mnt mount point to priority directories action_add_mount["<b>Action</b> – Add /mnt mount point to priority directories<br/><b>Technique</b> – T1564.004: Hide Artifacts: NTFS File Attributes<br/><b>Description</b>: Adversary uses NTFS attributes to hide mount points and prioritize malicious locations."] class action_add_mount action %% Action: Collect files from mounted Windows drives action_collect_files["<b>Action</b> – Collect files from mounted Windows drives<br/><b>Techniques</b> – T1025: Data from Removable Media; T1091: Replication Through Removable Media<br/><b>Description</b>: Adversary gathers data and replicates malicious files via mounted removable media."] class action_collect_files action %% Action: Harvest credentials from browser stores action_harvest_credentials["<b>Action</b> – Harvest credentials from browser stores<br/><b>Technique</b> – T1555.003: Credentials from Password Stores: Credentials from Web Browsers<br/><b>Description</b>: Extracted saved passwords, cookies and session tokens from browsers."] class action_harvest_credentials action %% Action: Potential lateral movement via collected data action_lateral_movement["<b>Action</b> – Potential lateral movement via collected data<br/><b>Description</b>: Use harvested credentials and files to move laterally within the network."] 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 "

Потік Атак

Виявлення

Можливий Powershell Скрипт, що містить Lolbin (через powershell)

Команда SOC Prime
12 Лютого 2026

LOLBAS WSL (через cmdline)

Команда SOC Prime
12 Лютого 2026

Виявити Cryxos Троян, що отримує ім’я користувача Windows через CMD [Створення Процесу Windows]

SOC Prime AI Правила
12 Лютого 2026

Виконання Імітації

Умова: Телеметрія та Попередня Перевірка Базової Лінії повинні були успішно пройдені.

Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), призначеної для активації правила виявлення. Команди та супровідний текст МАЮТЬ прямо відображати виявлені TTP і бути спрямовані на генерацію точної телеметрії, яку очікує логіка виявлення.

  • Опис та Команди Атаки:

    Зловмисник отримав початковий доступ до машини жертви і намагається перерахувати ім’я користувача, який увійшов у систему, щоб персоналізувати навантаження. Щоб залишатися під радари, супротивник використовує командну оболонку Windows (Living‑off‑the‑Land) і виконує точну echo %USERNAME% команду, яка розширює змінну середовища до імені поточного користувача. Ця активність генерує подію cmd.exe створення процесу з командною строкою echo %USERNAME%, яка відповідає підпису правила виявлення.

  • Скрипт Тесту Регресії:

    # Імітація трояну Cryxos, що отримує ім'я користувача через cmd.exe
    $cmd = "cmd.exe"
    $args = "/c echo %USERNAME%"
    Write-Host "Виконання: $cmd $args"
    Start-Process -FilePath $cmd -ArgumentList $args -NoNewWindow -Wait
  • Команди Очищення:

    # Ніяких постійних артефактів не залишилось; переконайтеся, що всі залишкові екземпляри cmd.exe завершені
    Get-Process -Name cmd -ErrorAction SilentlyContinue | Stop-Process -Force