SOC Prime Bias: Середній

09 Apr 2026 18:30

ClickFix до MaaS: Всередині модульного Windows RAT і його панелі управління

Author Photo
SOC Prime Team linkedin icon Стежити
ClickFix до MaaS: Всередині модульного Windows RAT і його панелі управління
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Netskope Threat Labs спостерігали за кампанією ClickFix, яка доставляє спеціальний RAT для Windows, побудований на Node.js через шкідливі MSI-інсталятори. Завантажуваний файл тримає ключові модулі в пам’яті та використовує потокову передачу gRPC через Tor для командного серверу C2. Помилка в OPSEC викрила протокол адміністрування панелі, що вказує на модель зловмисного ПЗ як послуга з відстеженням гаманця. Постійність налаштовується через значення HKCU Run на рівні користувача.

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

Дослідники захопили MSI, декодували PowerShell-інструменти завантаження та відстежили динамічне завантаження модулів Node.js. Вони витягнули та розшифрували конфігураційний блок для відновлення адреси C2 .onion. Виявлений файл admin.proto показав функції MaaS, такі як управління кількома операторами та моніторинг гаманців, і аналітики відзначили наявність само-лікуючого наручного програмного засобу плюс використання Tor для анонімізації трафіку.

Зменшення ризику

Блокуйте виконання непідписаних MSI з недовірених джерел та моніторте HKCU…Run на наявність нових, підозрілих записів. Виявляйте PowerShell, що завантажує MSI з доменів, таких як cloud-verificate.com. Повідомляйте про conhost.exe або node.exe, запущені з прихованими аргументами, та про появу tor.exe на кінцевих точках, які його не потребують.

Відповідь

Ізолюйте уражені хости, збирайте пам’ять для аналізу внутрішньопам’яткових модулів та видаліть стійкість HKCU Run. Перегляньте %LOCALAPPDATA%LogicOptimizer на наявність стадійних артефактів та будь-якої запланованої активності tor.exe, потім блокуйте onion-сторінки та пов’язані домени/IP. Полюйте по всьому підприємству на ті ж артефакти інсталятора та ланцюги процесів.

graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ccffcc %% Nodes action_user_exec[“<b>Дія</b> – <b>T1204.001 Виконання користувачем: шкідливе посилання</b><br/>Жертва натискає шкідливе посилання та запускає PowerShell”] class action_user_exec action process_powershell_cmd[“<b>Процес</b> – <b>T1059.001 PowerShell</b><br/>Base64 команда завантажує MSI інсталятор”] class process_powershell_cmd process action_msi_install[“<b>Дія</b> – <b>T1546.016 Інсталяційні пакети</b><br/>Тиха MSI інсталяція Node.js”] class action_msi_install action tool_msiexec[“<b>Інструмент</b> – msiexec.exe<br/>Виконання через системний бінарний проксі”] class tool_msiexec tool action_persistence[“<b>Постійність</b> – ключ Run<br/>Запис у HKCU Run”] class action_persistence action tool_tor[“<b>Інструмент</b> – tor.exe<br/>Зовнішній проксі”] class tool_tor tool action_tor_proxy[“<b>Дія</b> – мультихоп проксі<br/>Трафік C2 через Tor SOCKS5”] class action_tor_proxy action action_grpc_comm[“<b>Дія</b> – gRPC комунікація<br/>Зв’язок із .onion C2”] class action_grpc_comm action action_encrypted_channel[“<b>Дія</b> – зашифрований канал<br/>AES-256-CBC або XOR”] class action_encrypted_channel action action_collection[“<b>Дія</b> – збір даних хоста<br/>Збір системної інформації”] class action_collection action action_archive[“<b>Дія</b> – кастомний архів<br/>Багатошарове шифрування”] class action_archive action action_config_repo[“<b>Дія</b> – конфігурація<br/>Отримання C2 даних”] class action_config_repo action action_dynamic_resolution[“<b>Дія</b> – динамічне розв’язання<br/>Розв’язує .onion під час виконання”] class action_dynamic_resolution action action_ip_discovery[“<b>Дія</b> – визначення IP<br/>Отримання зовнішньої IP”] class action_ip_discovery action %% Edges action_user_exec –>|triggers| process_powershell_cmd process_powershell_cmd –>|downloads| action_msi_install action_msi_install –>|uses| tool_msiexec action_msi_install –>|enables| action_persistence action_persistence –>|downloads| tool_tor tool_tor –>|enables| action_tor_proxy action_tor_proxy –>|routes| action_grpc_comm action_grpc_comm –>|encrypted via| action_encrypted_channel action_encrypted_channel –>|carries| action_collection action_collection –>|archives| action_archive action_archive –>|stores config in| action_config_repo action_config_repo –>|provides| action_dynamic_resolution action_dynamic_resolution –>|connects to| action_ip_discovery action_collection –>|discovers| action_ip_discovery

Потік атаки

Виявлення

NodeJS, виконуваний з незвичайного місця (через cmdline)

Команда SOC Prime
08 квітня 2026

Можливі точки стійкості [ASEPs – Реєстр/НТУЗЕР вулиця] (через реєстраційний захід)

Команда SOC Prime
08 квітня 2026

Завантаження або завантаження через PowerShell (через cmdline)

Команда SOC Prime
08 квітня 2026

LOLBAS Конхост (через cmdline)

Команда SOC Prime
08 квітня 2026

MsiExec запускається процесом командної оболонки (через cmdline)

Команда SOC Prime
08 квітня 2026

Можливі спроби зв’язку з доменами пошуку IP (через dns)

Команда SOC Prime
08 квітня 2026

Можливі інструменти мережі Tor (через cmdline)

Команда SOC Prime
08 квітня 2026

Виявлення виконання Conhost для запуску Node для скрипта Bootstrap [Створення процесу в Windows]

Правила AI від SOC Prime
08 квітня 2026

Виконання шкідливої команди PowerShell для завантаження та встановлення MSI [PowerShell Windows]

Правила AI від SOC Prime
08 квітня 2026

Виконання моделювання

Передумова: Перевірка телеметрії та базової лінії попереднього польоту повинна бути пройдена.

Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), розробленої для спрацьовування правила виявлення. Команди та розповідь ПОВИННІ прямо відображати ідентифіковані TTP і мають за мету створити саме таку телеметрію, яку очікує логіка виявлення.

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

    1. Мета: Атакуючий хоче запустити шкідливе завантаження Node.js (bootstrap.js) без підозри.
    2. Метод: Використовуйте підписаний двійковий файл Windows (conhost.exe) як проксі для запуску node.exe в безголовому режимі, передаючи початковий сценарій як аргумент.
    3. Кроки:
      • Завантажте шкідливий bootstrap.js в записувану директорію (наприклад, %TEMP%).
      • Запустіть conhost.exe з точним рядком аргументів, який правило очікує.
      • Команда виконується в контексті поточного користувача, імітуючи легітимне породження процесу.
    # 1. Завантажте шкідливу bootstrap.js (змодельовано нешкідливий вміст для тесту)
    $bootstrapPath = "$env:TEMPbootstrap.js"
    Set-Content -Path $bootstrapPath -Value "// злісний заповнювач завантаження"
    
    # 2. Виконайте conhost.exe для запуску node.exe з потрібними прапорами
    $conhost = "$env:windirsystem32conhost.exe"
    $args = '--headless "node.exe" "bootstrap.js"'
    Start-Process -FilePath $conhost -ArgumentList $args -WorkingDirectory $env:TEMP
  • Скрипт регресійного тесту:

    # -------------------------------------------------
    # Регресійний тест: Виклик Bootstrap через Conhost
    # -------------------------------------------------
    # Переконайтесь, що Sysmon працює і веде реєстрацію подій ProcessCreate.
    
    # Завантажте dummy-скрипт початкового завантаження
    $bootstrap = "$env:TEMPbootstrap.js"
    Set-Content -Path $bootstrap -Value "// тестовий вміст початкового завантаження"
    
    # Визначте точну командну лінію, що шукає правило виявлення
    $conhostPath = "$env:windirsystem32conhost.exe"
    $cmdLine = '--headless "node.exe" "bootstrap.js"'
    
    # Запустіть conhost з шкідливими на вигляд аргументами
    Start-Process -FilePath $conhostPath -ArgumentList $cmdLine -WorkingDirectory $env:TEMP
    
    Write-Host "Симуляція завершена – перевірте SIEM для попередження."
  • Команди очищення:

    # Зупиніть усі решті процеси node або conhost, запущені тестом
    Get-Process -Name node, conhost -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Видалити тимчасовий скрипт початкового завантаження
    Remove-Item -Path "$env:TEMPbootstrap.js" -Force -ErrorAction SilentlyContinue
    
    Write-Host "Очистка завершена."