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

Зловмисники можуть створювати або модифікувати процеси системного рівня для багаторазового виконання шкідливого навантаження в рамках закріплення в системі (Persistence). Коли операційні системи завантажуються, вони можуть запускати процеси, які виконують фонові системні функції. У Windows та Linux ці системні процеси називаються службами (services). У macOS процеси launchd, відомі як Launch Daemon (демон запуску) та Launch Agent (агент запуску), запускаються для завершення ініціалізації системи та завантаження специфічних параметрів користувача.

Зловмисники можуть встановлювати нові служби, демони або агенти, які можна налаштувати на виконання під час запуску або з повторюваним інтервалом для встановлення стійкості. Аналогічно, зловмисники можуть модифікувати існуючі служби, демони або агенти для досягнення того ж ефекту.

Служби, демони або агенти можуть бути створені з привілеями адміністратора, але виконуватися з привілеями root/SYSTEM. Зловмисники можуть використовувати цю функціональність для створення або модифікації системних процесів з метою підвищення привілеїв (Privilege Escalation).

Як це працює на практиці?

Windows Services:

  • Зловмисник використовує команду sc create або PowerShell New-Service для реєстрації свого файлу як системної служби.
  • Або змінює параметр binPath у реєстрі для існуючої служби, щоб вона запускала шкідливий файл замість оригінального.

Linux Systemd:

  • Створення нового .service файлу в директорії /etc/systemd/system/. Це дозволяє скрипту запускатися автоматично при старті сервера з правами root.

macOS Launch Agents/Daemons:

  • Розміщення файлу списку властивостей (.plist) у папках /Library/LaunchAgents або /Library/LaunchDaemons.

Чому це критично небезпечно?

  • Стійкість: Служби запускаються до того, як користувач увійде в систему.
  • Привілеї: Процеси, що працюють як SYSTEM, мають повний доступ до пам’яті, файлів та мережевих налаштувань.
  • Маскування: Служби часто мають непримітні назви та працюють у фоні, не створюючи вікон або запитів до користувача.

Як виявити?

  • Моніторинг створення нових служб (Windows Event ID 4697 або 7045).
  • Аудит змін у реєстрі за шляхом HKLM\SYSTEM\CurrentControlSet\Services.
  • Перевірка цілісності файлів служб та їхніх цифрових підписів.