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

22 Jul 2026 07:30 UTC

ChainVeil повертається, щоб націлити на екосистему Vite

Author Photo
SOC Prime Team linkedin icon Стежити
ChainVeil повертається, щоб націлити на екосистему Vite
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Нововиявлене шкідливе кластер npm під назвою ViteVenom націлюється на екосистему інструменту Vite. Кампанія використовує ретельно продумані назви обмежених пакетів для імітації легітимних інструментів і доставляє віддалений доступ троян розміром 77 кБ. Він також покладається на стійку чотирирівневу архітектуру командного управління на основі блокчейну, яка охоплює Tron, Aptos і Binance Smart Chain.

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

Дослідники виявили сім шкідливих пакетів npm, які мали однакові ключі дешифрування XOR і адреси гаманців блокчейну Tier-2, що раніше з’являлися в кампанії ChainVeil. Їхнє розслідування виявило багатоступеневий ланцюжок виконання, в якому місця зберігання корисного навантаження вирішуються через транзакції блокчейну, що допомагає операторам уникнути традиційних знищень доменів. Шкідливе програмне забезпечення також використовує шифрування рядків за допомогою індексування масиву для ускладнення статичного аналізу.

Пом’якшення

Організації повинні переглянути дерева залежностей на предмет підозрілих обмежених пакетів, таких як @vite-pro/*, @vitets/*, і @vite-ts/*. Негайні кроки з мінімізації включають видалення виявлених шкідливих пакетів, заміну всіх викритих облікових даних, таких як ключі SSH, токени npm та API ключі, а також блокування відповідних адрес командного центру на рівні мережі. Розробники також повинні переконатися, щоб залежності Vite походили з офіційного простору імен @vitejs/* простір імен.

Відповідь

Якщо ця активність буде виявлена, негайно видаліть виявлені шкідливі пакети та проведіть ретельний огляд файлів блокування, включаючи package-lock.json, pnpm-lock.yaml, і yarn.lock. Команди безпеки повинні припинити будь-які осиротілі процеси node -e , які працюють як від’єднані дочірні процеси. Повна зміна облікових даних повинна відбутися для кожного середовища, до якого отримали доступ уражені системи, а файли конфігурації оболонки, такі як .bashrc and .zshrc повинні бути перевірені на наявність впорснутого коду стійкості.

Потік Атаки

Виконання симуляції

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

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

  • Наратив про атаку та команди: Супротивник розгорнув частину шкідливого програмного забезпечення (імітацію кампанії ViteVenom), яка намагається встановити з’єднання heartbeat/C2 з командним сервером. Шкідлива програма намагається підключитися до жорстко закодованої IP 43.249.154.132. Оскільки ця IP вже знаходиться в чорному списку корпоративного файрволу, файрвол відкидає пакет і генерує подію ‘блокування’. Ця симуляція використовує curl , щоб здійснити спробу підключення до однієї зі специфічних IP, виявлених у логіці детекції для створення попередження.

  • Скрипт Регресійного Тестування: [Provide the exact, self-contained, and executable code snippet for the simulation.]

    #!/bin/bash
    # Імітація супротивника, що намагається підключитися до відомої IP ChainVeil C2
    # Цільова IP: 43.249.154.132 (з логіки детекції)
    
    TARGET_IP="43.249.154.132"
    echo "[*] Імітація спроби підключення до $TARGET_IP..."
    
    # Ми використовуємо curl для спроби підключення. 
    # Файрвол повинен перехопити це та записати дію 'блокування'.
    curl -m 5 http://$TARGET_IP/ping > /dev/null 2>&1
    
    if [ $? -ne 0 ]; then
      echo "[+] Підключення не вдалося, як очікувалося (файрвол мав заблокувати його)."
    else
      echo "[!] Попередження: Підключення успішне. Файрвол не заблокував IP."
    fi
  • Команди Очищення:

    # Ніяких постійних змін до системи не зроблено. 
    # Просто переконайтеся, що всі тимчасові тестові файли видалені, якщо вони створені.
    rm -f /tmp/sim_test_result.txt