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

31 Mar 2026 14:31 UTC

Атака на ланцюг постачання на Axios завантажує шкідливу залежність з NPM

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Атака на ланцюг постачання на Axios завантажує шкідливу залежність з NPM
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Зловмисний пакет npm, plain-crypto-js@4.2.1, був опублікований і пізніше підтриманий як транзитивна залежність через скомпрометовані випуски широко використовуваного клієнта JavaScript HTTP Axios. Пакет використовує скрипт після встановлення для доставки багатостадійного трояну віддаленого доступу, націленого на Windows, macOS та Linux. Атака, схоже, спиралася на довготривалі маркери npm, які дозволяли загрозливим акторам надсилати зловмисні версії поза звичайним процесом випуску проекту. Виявлення пошкодженої залежності на ранньому етапі може зупинити RAT до виконання на уражених системах.

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

Дослідження Socket провели статичний аналіз setup.js дропера і декодували закодовані рядки, щоб виявити домен C2, логіку доставки навантаження та націлені шляхи файлової системи. Дослідники виявили три скомпрометовані версії Axios і два додаткові пакети npm, які містили той самий зловмисний код. Вони також вийняли мережеві індикатори, шляхи файлів і рядки користувацьких агентів, які можна використовувати для створення правил виявлення.

Пом’якшення

Організації повинні анулювати будь-які довготривалі маркери npm і змінити облікові дані для всіх потенційно уражених облікових записів. Скомпрометовані версії Axios і будь-які пакети, що залежать від plain-crypto-js@4.2.1 повинні бути негайно видалені або знижені. Команди також повинні перевірити lockfiles, CI/CD конвеєри та заходи безпеки ланцюга поставок програмного забезпечення, щоб ідентифікувати несанкціоновану публічну активність та зменшити ризик майбутнього компрометації пакетів.

Реакція

Команди безпеки повинні моніторити журнали установки npm на предмет згадок про plain-crypto-js@4.2.1 і уражені версії Axios. Повинні бути створені правила виявлення для виконання гачка postinstall, доступу до мережі на sfrclak.com, і зловмисного рядка користувацького агента. Якщо компрометація підтверджена, уражені системи повинні бути поміщені в карантин, зібрана летуча пам’ять для аналізу, а хост перевстановлений, якщо RAT виявлено.

Потік атаки

Виявлення

Підозрілі місцезнаходження та назви MacOS – Plist (через file_event)

Команда SOC Prime
31 березня 2026

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

Команда SOC Prime
31 березня 2026

Віддалене завантаження / завантаження файлів через стандартні інструменти (через cmdline)

Команда SOC Prime
31 березня 2026

Макос Підозрілі зміни дозволів на файли в папці Tmp (через cmdline)

Команда SOC Prime
31 березня 2026

Підозріле використання CURL (через cmdline)

Команда SOC Prime
31 березня 2026

Можливе виконання за допомогою chmod та nohup в одній команді (через cmdline)

Команда SOC Prime
31 березня 2026

Завантаження до підозрілих папок (через cmdline)

Команда SOC Prime
31 березня 2026

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

Команда SOC Prime
31 березня 2026

Можливість виконання через приховані командні рядки PowerShell (через cmdline)

Команда SOC Prime
31 березня 2026

Використання Nohup (через cmdline)

Команда SOC Prime
31 березня 2026

IOC (SourceIP) для виявлення: Атака на ланцюг поставок в Axios тягне зловмисну залежність з npm

Правила SOC Prime AI
31 березня 2026

IOC (DestinationIP) для виявлення: Атака на ланцюг поставок в Axios тягне зловмисну залежність з npm

Правила SOC Prime AI
31 березня 2026

IOC (Emails) для виявлення: Атака на ланцюг поставок в Axios тягне зловмисну залежність з npm

Правила SOC Prime AI
31 березня 2026

Евразійська тактика PowerShell і VBScript в атаці на ланцюг поставок [Створення процесу Windows]

Правила SOC Prime AI
31 березня 2026

Виявлення виконання зловмисного гачка postinstall пакету npm [Створення процесу на Linux]

Правила SOC Prime AI
31 березня 2026

Виявлення зловмисного сценарію Python і тимчасового файлу в атаці на ланцюг поставок на Linux [Подія файлу Linux]

Правила SOC Prime AI
31 березня 2026

Перейменований термінал Windows та самовидалювана VBScript виявлені [Подія файлу Windows]

Правила SOC Prime AI
31 березня 2026

Виконання скрипту PowerShell з прихованими і обхідними прапорами [Windows Powershell]

Правила SOC Prime AI
31 березня 2026

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

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

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

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

    Нападник, який отримав обмежені привілеї користувача на скомпрометованій робочій станції, бажає завантажити зловмисний платіжний файл VBScript через легітимний пакет npm (сценарій ланцюга поставок). Щоб уникнути загального виявлення PowerShell, нападник копіює powershell.exe до нового файлу з ім’ям powershell_renamed.exe , але зберігає рядок підпису “powershell” у імені файлу (щоб ще відповідало “Image|contains” перевірці). Потім нападник виконує “where powershell” для пошуку шляху перейменованого двійкового файлу і, нарешті, запускає платіжний файл VBScript за допомогою cscript //nologo для усунення банера логотипу. cscript //nologo Тестовий сценарій регресії:

  • # ————————————————- # Крок 1: Створити перейменовану копію powershell.exe # ————————————————- $src = “$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe” $dst = “$env:Temppowershell_renamed.exe” Copy-Item -Path $src -Destination $dst -Force # ————————————————- # Крок 2: Використовуйте ‘where’, щоб посилатися на перейменований двійковий файл # ————————————————- $whereOutput = & where.exe powershell_renamed Write-Host “Located renamed PowerShell at: $whereOutput” # ————————————————- # Крок 3: Створити простий зловмисний платіжний файл VBScript # ————————————————- $vbsPath = “$env:Tempmalicious.vbs” @” Set objShell = CreateObject(“WScript.Shell”) objShell.Run “cmd.exe /c echo pwned > $env:Temppwned.txt”, 0, False “@ | Set-Content -Path $vbsPath -Encoding ASCII # ————————————————- # Крок 4: Виконати VBScript тихо, використовуючи cscript //nologo # ————————————————- & $dst -Command “cscript //nologo `”$vbsPath`”” # ————————————————- # Кінець моделювання # ————————————————-

    Команди очищення:
  • Cleanup Commands:

    # Видалити перейменований двійковий файл PowerShell
    Remove-Item -Path "$env:Temppowershell_renamed.exe" -Force -ErrorAction SilentlyContinue
    
    # Видалити зловмисний платіжний файл VBScript
    Remove-Item -Path "$env:Tempmalicious.vbs" -Force -ErrorAction SilentlyContinue
    
    # Видалити докази виконання
    Remove-Item -Path "$env:Temppwned.txt" -Force -ErrorAction SilentlyContinue