ТЕХНІЧНИЙ ОПИС

Зловмисники можуть виконувати шкідливе навантаження через завантаження спільних модулів. Спільні модулі — це виконувані файли, які завантажуються в процеси для надання доступу до коду багаторазового використання, наприклад, специфічних кастомних функцій або виклику функцій API ОС (Native API).

Зловмисники можуть використовувати цю функціональність як спосіб виконання довільного навантаження в системі жертви. Наприклад, вони можуть модулізувати функціонал свого шкідливого ПЗ у спільні об’єкти, які виконують різні завдання, такі як керування мережевим зв’язком з C2 або виконання конкретних дій для досягнення мети.

  • Linux та macOS: Завантажувач модулів може завантажувати та виконувати спільні об’єкти з довільних локальних шляхів. Ця функціональність міститься в dlfcn.h у таких функціях, як dlopen та dlsym. Хоча macOS може виконувати файли .so, загальноприйнятою практикою є використання файлів .dylib.
  • Windows: Завантажувач модулів Windows може завантажувати DLL з довільних локальних шляхів та довільних мережевих шляхів UNC (Universal Naming Convention). Ця функціональність міститься в NTDLL.dll і є частиною Windows Native API, яка викликається з таких функцій, як LoadLibrary під час виконання програми.

Чому це важливо для аналізу?

  • Модульність: Зловмисник може оновлювати лише окремі “плагіни” свого вірусу, не змінюючи основний файл.
  • Ін’єкції: Завантаження модуля в чужий процес (наприклад, explorer.exe або browser.exe) дозволяє приховати мережеву активність.
  • Обхід статичного аналізу: Основний файл програми може виглядати безпечним, доки він не завантажить шкідливий модуль із зашифрованого архіву або мережі.