Access Tokens
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Кожен користувач, що увійшов в систему має токен доступу з інформацією про безпеку для цієї сесії входу. Система створює токен доступу, коли користувач входить. Кожен процес, що виконується від імені користувача має копію токена доступу. Токен ідентифікує користувача, групи користувача та привілеї користувача. Токен також містить SID входу (Security Identifier), який ідентифікує поточну сесію входу.
Ви можете побачити цю інформацію, виконавши whoami /all
or using Process Explorer from Sysinternals (select process and access"Security" tab):
Коли локальний адміністратор входить в систему, створюються два токени доступу: один з правами адміністратора і інший з нормальними правами. За замовчуванням, коли цей користувач виконує процес, використовується токен з звичайними (неадміністративними) правами. Коли цей користувач намагається виконати щось як адміністратор ("Запустити від імені адміністратора", наприклад), UAC буде використано для запиту дозволу. Якщо ви хочете дізнатися більше про UAC, прочитайте цю сторінку.
Якщо у вас є дійсні облікові дані будь-якого іншого користувача, ви можете створити нову сесію входу з цими обліковими даними:
Токен доступу також має посилання на сеанси входу всередині LSASS, це корисно, якщо процесу потрібно отримати доступ до деяких об'єктів мережі. Ви можете запустити процес, який використовує різні облікові дані для доступу до мережевих служб, використовуючи:
Це корисно, якщо у вас є корисні облікові дані для доступу до об'єктів у мережі, але ці облікові дані не дійсні на поточному хості, оскільки вони будуть використовуватися лише в мережі (на поточному хості будуть використовуватися ваші поточні привілеї користувача).
Існує два типи токенів:
Первинний токен: Він слугує представленням безпекових облікових даних процесу. Створення та асоціація первинних токенів з процесами є діями, які вимагають підвищених привілеїв, підкреслюючи принцип розділення привілеїв. Зазвичай, служба аутентифікації відповідає за створення токенів, тоді як служба входу обробляє їх асоціацію з оболонкою операційної системи користувача. Варто зазначити, що процеси успадковують первинний токен свого батьківського процесу під час створення.
Токен уособлення: Дозволяє серверному додатку тимчасово приймати ідентичність клієнта для доступу до захищених об'єктів. Цей механізм поділяється на чотири рівні роботи:
Анонімний: Надає серверу доступ, подібний до того, що має невизначений користувач.
Ідентифікація: Дозволяє серверу перевірити ідентичність клієнта без використання її для доступу до об'єктів.
Уособлення: Дозволяє серверу діяти під ідентичністю клієнта.
Делегування: Подібно до уособлення, але включає можливість розширити це прийняття ідентичності на віддалені системи, з якими взаємодіє сервер, забезпечуючи збереження облікових даних.
Використовуючи модуль incognito метасплойту, якщо у вас достатньо привілеїв, ви можете легко переглядати та уособлювати інші токени. Це може бути корисно для виконання дій так, ніби ви є іншим користувачем. Ви також можете підвищити привілеї за допомогою цієї техніки.
Дізнайтеся, які привілеї токенів можуть бути зловживані для підвищення привілеїв:
Ознайомтеся з усіма можливими привілеями токенів та деякими визначеннями на цій зовнішній сторінці.
Дізнайтеся більше про токени в цих навчальних матеріалах: 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
Дізнайтеся та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Дізнайтеся та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)