SOC Prime Bias: Критичний

22 Jan 2026 16:09 UTC

Аналіз кампанії пакетів BigSquatRat npm

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Аналіз кампанії пакетів BigSquatRat npm
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Звіт описує шкідливий пакет npm, bigmathix, який встановлює троян для віддаленого доступу в Node.js. Він використовує заплутаний багатоступінчастий код для отримання подальших корисних навантажень зі змісту GitHub, керованого атакуючим, та aurevian.cloud. Виявлення ускладнюється динамічними ключами дешифрування та необхідним ініціалізатором, який визначає виконання, що відповідає цільовій атаці на ланцюг постачання на JavaScript-розробників.

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

Дослідники деобфускували пакет, щоб відновити ланцюг, який створює дочірній процес, виконує вирішення DNS та дешифрує вбудовані URL за допомогою отриманих ключів. Шляхом перебору значення ініціалізатора, вони відновили друге стадійне корисне навантаження з aurevian.cloud, яке ввело додаткову обфускацію в остаточну логіку RAT. Аналітики також зв’язали суміжні репозиторії GitHub і додаткові пакети npm, опубліковані приблизно у схожий час, щоб окреслити обсяг кампанії.

Пом’якшення

Уникайте неперевірених залежностей npm—особливо новопублікованих, з малою кількістю завантажень, або модулів з різкими змінами версій—та перевіряйте цілісність за допомогою хешів/контролів походження. Відстежуйте підозрілі дочірні процеси, породжені node.exe, і несподівані вихідні запити до невідомих доменів. Застосовуйте фільтрацію вихідного трафіку для aurevian.cloud і попереджуйте про стійкість, таку як ключі автозапуску Windows чи сервісу systemd від Node.js.

Реакція

Якщо bigmathix ідентифіковано, ізолюйте кінцевий пристрій, видаліть пакет та припиніть породжені процеси Node.js. Видаліть створені ключі автозапуску або модулі systemd, заблокуйте пов’язані домени/IP-адреси, і збирайте журнали, що містять дані DNS, походження процесів і мережевий вихідний трафік. Проведіть форензичний аналіз для виявлення скачаних корисних навантажень та стійкості, такі як запуск wscript.exe або заплановані служби, а потім шукайте аналогічні артефакти в середовищі.

Потік атаки

Детекції

LOLBAS WScript / CScript (через process_creation)

Команда SOC Prime
21 січня 2026

Підозріле розширення файлу додано до ключів автозапуску [ASEPs] (через registry_event)

Команда SOC Prime
21 січня 2026

Підозрілі дочірні процеси NodeJS [Linux] (через cmdline)

Команда SOC Prime
21 січня 2026

Ймовірно ініційоване процесом завантаження файлу з Github (через network_connection)

Команда SOC Prime
21 січня 2026

IOCs (Emails) для виявлення: Аналіз кампанії пакету BigSquatRat npm

SOC Prime AI Правила
21 січня 2026

IOCs (HashSha1) для виявлення: Аналіз кампанії пакету BigSquatRat npm

SOC Prime AI Правила
21 січня 2026

IOCs (HashSha256) для виявлення: Аналіз кампанії пакету BigSquatRat npm

SOC Prime AI Правила
21 січня 2026

Виявлення виконання Node.js RAT через wscript.exe [Створення процесу в Windows]

SOC Prime AI Правила
21 січня 2026

Виявлення шкідливого програмного забезпечення Node.js з використанням заплутаних скриптів і systemctl для стійкості [Створення процесу в Linux]

SOC Prime AI Правила
21 січня 2026

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

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

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

  • Атака та команди:
    Атакуючий має шкідливий JavaScript-пейлоад, що потребує виконання середовища Node.js. Щоб уникнути стандартної білих списків програм, вони використовують wscript.exe—нативний Windows сценарій—для запуску node.exe непрямо, створюючи батьківсько-дочірні відносини, що відповідають правилу виявлення. Кроки такі:

    1. Розмістіть шкідливий скрипт (malicious.js), що просто створює node.exe з пейлоадом.
    2. Створіть обгортковий JavaScript (launcher.js), який виконає Windows Script Host; цей обгортувач використовує WScript.Shell для запуску node.exe з пейлоадом.
    3. Виконайте обгортку через wscript.exe //B //Nologo launcher.js.
    4. Отримане дерево процесів виглядає так wscript.exe → node.exe → malicious.js, генеруючи цільову телеметрію.
  • Сценарій тестування регресії:
    Наступний скрипт PowerShell автоматизує весь ланцюжок на Windows тестовому хості.

    # -------------------------------------------------
    # Тест регресії – виконання Node.js RAT через wscript
    # -------------------------------------------------
    
    # Змінні
    $tempPath = "$env:TEMP"
    $launcherPath = Join-Path $tempPath "launcher.js"
    $payloadPath  = Join-Path $tempPath "malicious.js"
    $nodePath     = "C:Program Filesnodejsnode.exe"   # Відкоригуйте, якщо встановлено в іншому місці
    
    # 1. Записати шкідливий корисний вантаж (проста консоль для демонстрації)
    $payloadContent = @"
    console.log('Шкідливий корисний вантаж виконано');
    // Тут будуть реальні коди RAT
    "@
    $payloadContent | Out-File -FilePath $payloadPath -Encoding ASCII
    
    # 2. Записати обгортувач, який виконуватиме wscript
    $launcherContent = @"
    var shell = WScript.CreateObject("WScript.Shell");
    // Виконати node.exe зі шкідливим скриптом
    var cmd = "`"$nodePath`" `"$payloadPath`"";
    shell.Run(cmd, 0, false);
    "@
    $launcherContent | Out-File -FilePath $launcherPath -Encoding ASCII
    
    # 3. Виконати ланцюг через wscript
    Write-Host "Запуск шкідливого ланцюга..."
    wscript.exe //B //Nologo $launcherPath
    
    # Запауза для захоплення телеметрії
    Start-Sleep -Seconds 5
    
    # 4. Необов'язково: перевірити, чи працює процес node (для ручного спостереження)
    Get-Process -Name node -ErrorAction SilentlyContinue
    
    # -------------------------------------------------
    # Кінець тесту регресії
    # -------------------------------------------------
  • Команди очищення: Видалення артефактів і завершення залишкових процесів.

    # Сценарій очищення – запустити після перевірки
    $tempPath = "$env:TEMP"
    Remove-Item -Path (Join-Path $tempPath "launcher.js") -ErrorAction SilentlyContinue
    Remove-Item -Path (Join-Path $tempPath "malicious.js") -ErrorAction SilentlyContinue
    
    # Завершити будь-які залишкові процеси node.exe, запущені тестом
    Get-Process -Name node -ErrorAction SilentlyContinue | Stop-Process -Force