Az - Device Registration

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Основна інформація

Коли пристрій приєднується до AzureAD, створюється новий об'єкт в AzureAD.

Під час реєстрації пристрою користувача просять увійти у свій обліковий запис (запитуючи MFA, якщо потрібно), потім запитують токени для служби реєстрації пристрою і потім вимагають останнього підтвердження.

Потім на пристрої генеруються дві пари ключів RSA: ключ пристрою (публічний ключ), який надсилається в AzureAD, та транспортний ключ (приватний ключ), який зберігається в TPM, якщо це можливо.

Потім створюється об'єкт в AzureAD (не в Intune), і AzureAD повертає пристрою сертифікат, підписаний ним. Ви можете перевірити, що пристрій приєднаний до AzureAD, та інформацію про сертифікат (наприклад, чи він захищений TPM).

dsregcmd /status

Після реєстрації пристрою модулем LSASS CloudAP запитується Основний оновлювальний токен (Primary Refresh Token) та передається пристрою. Разом з PRT також передається зашифрований ключ сеансу, щоб лише пристрій міг його розшифрувати (використовуючи публічний ключ транспортного ключа), і це необхідно для використання PRT.

Для отримання додаткової інформації про те, що таке PRT, перевірте:

pageAz - Primary Refresh Token (PRT)

TPM - Trusted Platform Module

TPM захищає від видобутку ключів з вимкненого пристрою (якщо захищено за допомогою PIN) та відвидобутку приватного матеріалу з рівня ОС. Але він не захищає від перехоплення фізичного з'єднання між TPM та ЦП або використання криптографічного матеріалу в TPM під час роботи системи з процесом з правами SYSTEM.

Якщо ви перевірите наступну сторінку, ви побачите, що крадіжка PRT може бути використана для доступу як користувач, що є важливим, оскільки PRT розташований на пристроях, тому його можна вкрасти (або, якщо не вкрадено, використовувати для генерації нових ключів підпису):

pageAz - Pass the PRT

Реєстрація пристрою за допомогою токенів SSO

Для атакувальника можливо запросити токен для служби реєстрації пристроїв Microsoft з компрометованого пристрою та зареєструвати його:

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

Перевищення токену пристрою

Було можливо запитати токен пристрою, перевищити поточний токен пристрою, і під час потоку вкрасти PRT (так що не потрібно вкрасти його з TPM. Для отримання додаткової інформації перевірте цю презентацію.

Однак це було виправлено.

Перезапис ключа WHFB

Перевірте оригінальні слайди тут

Підсумок атаки:

  • Можливо перезаписати зареєстрований ключ WHFB з пристрою через SSO

  • Це перемагає захист TPM, оскільки ключ підслуховується під час генерації нового ключа

  • Це також забезпечує постійність

Користувачі можуть змінювати свою власну властивість searchableDeviceKey через Azure AD Graph, однак, зловмисник повинен мати пристрій в орендарі (зареєстрований на льоту або вкравши сертифікат + ключ від законного пристрою) і дійсний токен доступу до AAD Graph.

Потім можливо згенерувати новий ключ за допомогою:

roadtx genhellokey -d <device id> -k tempkey.key

і потім ЗМІНІТЬ інформацію про searchableDeviceKey:

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

pageAz - Phishing Primary Refresh Token (Microsoft Entra)

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated