Access Tokens
Access Tokens
Кожен користувач, що увійшов в систему має токен доступу з інформацією про безпеку для цієї сесії входу. Система створює токен доступу, коли користувач входить. Кожен процес, що виконується від імені користувача має копію токена доступу. Токен ідентифікує користувача, групи користувача та привілеї користувача. Токен також містить SID входу (Security Identifier), який ідентифікує поточну сесію входу.
Ви можете побачити цю інформацію, виконавши whoami /all
or using Process Explorer from Sysinternals (select process and access"Security" tab):
Локальний адміністратор
Коли локальний адміністратор входить в систему, створюються два токени доступу: один з правами адміністратора і інший з нормальними правами. За замовчуванням, коли цей користувач виконує процес, використовується токен з звичайними (неадміністративними) правами. Коли цей користувач намагається виконати щось як адміністратор ("Запустити від імені адміністратора", наприклад), буде використано UAC для запиту дозволу. Якщо ви хочете дізнатися більше про UAC, прочитайте цю сторінку.
Імітація облікових даних користувача
Якщо у вас є дійсні облікові дані будь-якого іншого користувача, ви можете створити нову сесію входу з цими обліковими даними:
Токен доступу також має посилання на сеанси входу всередині LSASS, це корисно, якщо процесу потрібно отримати доступ до деяких об'єктів мережі. Ви можете запустити процес, який використовує різні облікові дані для доступу до мережевих служб, використовуючи:
Це корисно, якщо у вас є корисні облікові дані для доступу до об'єктів у мережі, але ці облікові дані не дійсні на поточному хості, оскільки вони будуть використовуватися лише в мережі (на поточному хості будуть використовуватися ваші поточні привілеї користувача).
Типи токенів
Існує два типи токенів:
Первинний токен: Він слугує представленням безпекових облікових даних процесу. Створення та асоціація первинних токенів з процесами є діями, які вимагають підвищених привілеїв, підкреслюючи принцип розділення привілеїв. Зазвичай, служба аутентифікації відповідає за створення токенів, тоді як служба входу обробляє їх асоціацію з оболонкою операційної системи користувача. Варто зазначити, що процеси успадковують первинний токен свого батьківського процесу під час створення.
Токен уособлення: Дозволяє серверному додатку тимчасово приймати ідентичність клієнта для доступу до захищених об'єктів. Цей механізм поділяється на чотири рівні роботи:
Анонімний: Надає серверу доступ, подібний до доступу невизначеного користувача.
Ідентифікація: Дозволяє серверу перевірити ідентичність клієнта без використання її для доступу до об'єктів.
Уособлення: Дозволяє серверу діяти під ідентичністю клієнта.
Делегування: Подібно до уособлення, але включає можливість розширити це прийняття ідентичності на віддалені системи, з якими взаємодіє сервер, забезпечуючи збереження облікових даних.
Токени уособлення
Використовуючи модуль incognito метасплойта, якщо у вас достатньо привілеїв, ви можете легко переглядати та уособлювати інші токени. Це може бути корисно для виконання дій так, ніби ви є іншим користувачем. Ви також можете підвищити привілеї за допомогою цієї техніки.
Привілеї токенів
Дізнайтеся, які привілеї токенів можуть бути зловживані для підвищення привілеїв:
Abusing TokensОзнайомтеся з усіма можливими привілеями токенів та деякими визначеннями на цій зовнішній сторінці.
Посилання
Дізнайтеся більше про токени в цих навчальних посібниках: https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa та https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962
Last updated