https-proxy-utils у npm поширював AdaptixC2: що сталося і як захиститися

CyberSecureFox 🦊

Фахівці «Лабораторії Касперського» виявили у реєстрі npm шкідливий пакет https-proxy-utils, замаскований під інструменти для роботи з проксі. Під час інсталяції пакет завантажував і запускав AdaptixC2 — open‑source фреймворк постексплуатації, який позиціонують як альтернативу Cobalt Strike та Havoc. Пакет уже видалено з репозиторію, однак інцидент демонструє вразливість ланцюга постачання у відкритих екосистемах.

Підміна залежностей у npm: typosquatting і контекстні пастки

Назва https-proxy-utils свідомо перегукувалася з легітимними http-proxy-agent та https-proxy-agent, які сумарно отримують десятки мільйонів завантажень щотижня. Цей прийом відомий як typosquatting і контекстне маскування: розробники інерційно додають «знайомі» пакети та можуть не помітити підміну. Усередині було сховано postinstall‑скрипт, що автоматично тягнув і виконував компонент AdaptixC2, відкриваючи зловмисникам віддалений доступ, керування процесами/файлами та механізми закріплення у системі.

AdaptixC2 як C2‑платформа: можливості та ризики зловживання

AdaptixC2, представлений у 2024 році, — розширюваний фреймворк із сервером на Go та клієнтом на C++/Qt з підтримкою Windows, Linux і macOS. Як і інші C2‑рішення, він створений для легітимних задач пентестингу й red team, проте регулярні зловживання з боку загрозливих акторів уже фіксувалися; за повідомленнями дослідників, у березні 2025 року AdaptixC2 помічали в реальних інцидентах.

Технічний розбір: ланцюг компрометації на трьох ОС

Windows: DLL sideloading через довірений бінар

У середовищі Windows шкідливий модуль зберігався як DLL у каталозі C:\Windows\Tasks. Далі скрипт копіював туди msdtc.exe і запускав його, ініціюючи DLL sideloading — підміну бібліотеки, що підвантажується легітимним процесом. Використання довіреного системного бінаря ускладнює виявлення на основі сигнатур.

macOS: LaunchAgents і вибір бінарів під архітектуру

На macOS корисне навантаження потрапляло до ~/Library/LaunchAgents, куди також додавали plist‑файл для автозапуску. Перед завантаженням визначалась архітектура (x64 чи ARM), після чого підтягували відповідний бінар. Механізм LaunchAgents забезпечував стійкість до перезавантажень та повторних входів користувача.

Linux: тимчасові каталоги і приховування у файловій системі

У Linux агент розміщувався в /tmp/.fonts-unix із наданням прав на виконання. Як і на macOS, обирався бінар під конкретну архітектуру. Тимчасові й приховані директорії традиційно використовують для маскування короткоживучих стадій атаки.

Чому це важливо: еволюція атак на ланцюг постачання open‑source

Публічні репозиторії дедалі частіше стають каналом початкового проникнення. Інциденти на кшталт event-stream (2018), UAParser.js (2021) та кампанії IconBurst (2022) демонструють сталість тренду. Техніки ускладнюються: з’являються прийоми рівня DLL sideloading та прихованого автозапуску, які складно виявляти без поведінкової аналітики та кореляції подій у EDR/XDR.

Практичні кроки захисту для Dev, SecOps і CI/CD

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.