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

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

Зловмисник може використовувати вбудовані функції Windows API для копіювання токенів доступу з існуючих процесів; це відомо як викрадення токенів (token stealing). Потім ці токени можна застосувати до існуючого процесу (Token Impersonation/Theft) або використати для створення нового процесу (Create Process with Token). Зловмисник уже повинен перебувати в привілейованому контексті користувача (тобто бути адміністратором), щоб вкрасти токен. Однак зловмисники зазвичай використовують викрадення токенів для підвищення свого рівня безпеки з рівня адміністратора до рівня SYSTEM. Потім зловмисник може використати токен для автентифікації на віддаленій системі як обліковий запис цього токена, якщо цей запис має відповідні дозволи на віддаленій системі.

Будь-який звичайний користувач може використовувати команду runas та функції Windows API для створення токенів імітації; це не вимагає доступу до облікового запису адміністратора. Існують також інші механізми, такі як поля Active Directory, які можна використовувати для модифікації токенів доступу.

Ключові механізми маніпуляції:

  • Token Theft (T1134.001): Якщо адміністратор увійшов на сервер, щоб щось виправити, його токен залишається в пам’яті. Зловмисник копіює цей токен і «одягає» його на свій процес, отримуючи всі права адміністратора без введення пароля.
  • Parent PID Spoofing (T1134.004): Зловмисник запускає шкідливий процес, але вказує системі, що його «батьком» є легітимний процес (наприклад, lsass.exe або explorer.exe). Це допомагає обійти захисні рішення, які аналізують дерево процесів.
  • SID-History Injection (T1134.005): Складна атака на Active Directory, де в токен користувача дописується ідентифікатор (SID) групи адміністраторів. Система вважатиме користувача адміном, навіть якщо він ним не є.

Чому це важко виявити?

  • API-дзвінки: Використовуються стандартні системні функції Windows (DuplicateTokenEx, ImpersonateLoggedOnUser), які часто застосовуються і легітимним програмним забезпеченням.
  • Відсутність нових акаунтів: Зловмисник не створює нових користувачів, він просто «позичає» права у тих, хто вже є в системі.
  • Безфайловість: Маніпуляції відбуваються в оперативній пам’яті, не залишаючи слідів на диску.

Як захиститися?

  • Обмеження привілеїв: Використовуйте групу «Protected Users» у Windows для захисту облікових записів адміністраторів від крадіжки токенів.
  • Сегментація: Адміністратори не повинні входити на звичайні робочі станції користувачів, щоб не залишати там свої привілейовані токени.
  • Моніторинг: Відстежуйте подію Windows Event ID 4624 (Logon) з типом входу 9 (NewCredentials) та використання привілею SeImpersonatePrivilege.