Az - Device Registration

Підтримайте HackTricks

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

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

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

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

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

dsregcmd /status

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

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

Az - Primary Refresh Token (PRT)

TPM - Trusted Platform Module

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

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

Az - 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 у майбутньому. Таким чином, зберігаючи стійкість і обходячи MFA, оскільки оригінальний PRT токен, використаний для реєстрації нового пристрою, вже мав надані дозволи MFA.

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

Ця атака була виправлена у вересні 2021 року, оскільки ви більше не можете реєструвати нові пристрої, використовуючи SSO токени. Однак, все ще можливо зареєструвати пристрої легітимним способом (маючи ім'я користувача, пароль і MFA, якщо потрібно). Перевірте: roadtx.

Перезапис квитка пристрою

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

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

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

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

Резюме атаки:

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

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

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

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

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

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

і потім PATCH інформацію searchableDeviceKey:

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

Az - Phishing Primary Refresh Token (Microsoft Entra)

Посилання

Підтримайте HackTricks

Last updated