Az - Conditional Access Policies & MFA Bypass
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Політики умовного доступу Azure - це правила, встановлені в Microsoft Azure для забезпечення контролю доступу до служб та додатків Azure на основі певних умов. Ці політики допомагають організаціям захистити свої ресурси, застосовуючи правильні контролі доступу за правильних обставин. Політики умовного доступу в основному визначають, Хто може отримати доступ до Чого з Де і Як.
Ось кілька прикладів:
Політика ризику входу: Цю політику можна налаштувати так, щоб вимагати багатофакторну аутентифікацію (MFA), коли виявляється ризик входу. Наприклад, якщо поведінка входу користувача є незвичною в порівнянні з їх звичайним шаблоном, наприклад, входом з іншої країни, система може запитати додаткову аутентифікацію.
Політика відповідності пристроїв: Ця політика може обмежити доступ до служб Azure лише для пристроїв, які відповідають стандартам безпеки організації. Наприклад, доступ може бути дозволений лише з пристроїв, які мають актуальне антивірусне програмне забезпечення або працюють на певній версії операційної системи.
Можливо, що політика умовного доступу перевіряє деяку інформацію, яку можна легко підробити, що дозволяє обійти політику. І якщо, наприклад, політика налаштовувала MFA, зловмисник зможе її обійти.
При налаштуванні політики умовного доступу потрібно вказати користувачів, на яких це вплине, та цільові ресурси (наприклад, всі хмарні додатки).
Також потрібно налаштувати умови, які активують політику:
Мережа: IP, діапазони IP та географічні локації
Можна обійти, використовуючи VPN або проксі для підключення до країни або намагаючись увійти з дозволеної IP-адреси
Ризики Microsoft: Ризик користувача, ризик входу, ризик внутрішнього зловмисника
Платформи пристроїв: Будь-який пристрій або вибрати Android, iOS, Windows phone, Windows, macOS, Linux
Якщо “Будь-який пристрій” не вибрано, але всі інші опції вибрані, можна обійти це, використовуючи випадковий user-agent, не пов'язаний з цими платформами
Клієнтські програми: Опції - “Браузер”, “Мобільні програми та настільні клієнти”, “Клієнти Exchange ActiveSync” та “Інші клієнти”
Щоб обійти вхід з не вибраною опцією
Фільтр для пристроїв: Можливо створити правило, пов'язане з використаним пристроєм
Потоки аутентифікації: Опції - “Потік коду пристрою” та “Передача аутентифікації”
Це не вплине на зловмисника, якщо він не намагається зловживати будь-якими з цих протоколів у фішинговій спробі отримати доступ до облікового запису жертви
Можливі результати: Блокувати або надавати доступ з потенційними умовами, такими як вимога MFA, відповідність пристрою…
Можливо встановити умову на основі платформи пристрою (Android, iOS, Windows, macOS...), однак це базується на user-agent, тому його легко обійти. Навіть зробивши всі опції обов'язковими для MFA, якщо ви використовуєте user-agent, який не розпізнається, ви зможете обійти MFA або блокування:
Просто змусивши браузер надіслати невідомий user-agent (наприклад, Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile
) достатньо, щоб не активувати цю умову.
Ви можете змінити user-agent вручну в інструментах розробника:
Або використати розширення браузера, як це.
Якщо це встановлено в умовній політиці, зловмисник може просто використовувати VPN в дозволеній країні або спробувати знайти спосіб отримати доступ з дозволеної IP-адреси, щоб обійти ці умови.
Можливо налаштувати політики умовного доступу для блокування або примусу, наприклад, MFA, коли користувач намагається отримати доступ до конкретного додатку:
Щоб спробувати обійти цей захист, вам слід перевірити, чи можете ви увійти лише в будь-який додаток. Інструмент AzureAppsSweep має десятки ідентифікаторів додатків, закодованих у програмі, і спробує увійти в них, повідомить вас і навіть надасть токен, якщо вхід буде успішним.
Щоб перевірити конкретні ідентифікатори додатків у конкретних ресурсах, ви також можете використовувати інструмент, такий як:
Більше того, також можливо захистити метод входу (наприклад, якщо ви намагаєтеся увійти з браузера або з настільного додатку). Інструмент Invoke-MFASweep виконує деякі перевірки, щоб спробувати обійти ці захисти.
Інструмент donkeytoken також може бути використаний для подібних цілей, хоча виглядає так, що він не підтримується.
Інструмент ROPCI також може бути використаний для тестування цих захистів і перевірки, чи можливо обійти MFA або блокування, але цей інструмент працює з точки зору whitebox. Спочатку потрібно завантажити список додатків, дозволених у орендаря, а потім він спробує увійти в них.
Одна з опцій Azure MFA - це отримати дзвінок на налаштований номер телефону, де буде запитано користувача надіслати символ #
.
Оскільки символи - це просто тони, зловмисник може компрометувати голосове повідомлення на номері телефону, налаштувати як повідомлення тон #
і потім, коли запитує MFA, переконатися, що телефон жертви зайнятий (дзвонячи на нього), щоб дзвінок Azure перенаправлявся на голосову пошту.
Політики часто вимагають сумісний пристрій або MFA, тому зловмисник може зареєструвати сумісний пристрій, отримати токен PRT і обійти таким чином MFA.
Почніть з реєстрації сумісного пристрою в Intune, потім отримайте PRT за допомогою:
Знайдіть більше інформації про цей вид атаки на наступній сторінці:
Az - Pass the PRTЦей скрипт отримує деякі облікові дані користувача і перевіряє, чи може він увійти в деякі додатки.
Це корисно, щоб побачити, чи не потрібно MFA для входу в деякі додатки, які ви можете пізніше зловживати для ескалації привілеїв.
Отримати всі політики
MFASweep - це скрипт PowerShell, який намагається увійти до різних служб Microsoft, використовуючи наданий набір облікових даних, і спробує визначити, чи увімкнено MFA. Залежно від того, як налаштовані політики умовного доступу та інші налаштування багатофакторної аутентифікації, деякі протоколи можуть залишитися з однофакторною аутентифікацією. Він також має додаткову перевірку для конфігурацій ADFS і може спробувати увійти до локального сервера ADFS, якщо його виявлено.
Цей інструмент допоміг виявити обходи MFA, а потім зловживати API в кількох виробничих AAD тенантах, де клієнти AAD вважали, що у них є MFA, але аутентифікація на основі ROPC пройшла успішно.
Вам потрібно мати дозволи для перегляду всіх додатків, щоб мати можливість згенерувати список додатків для брутфорсу.
Donkey token - це набір функцій, які допомагають консультантам з безпеки, які потребують перевірки Політик умовного доступу, тестів для порталу Microsoft з увімкненим 2FA тощо.
Перевірте кожен портал, чи можливо увійти без MFA:
Оскільки Azure портал не обмежений, можливо зібрати токен з кінцевої точки порталу для доступу до будь-якої служби, виявленої під час попереднього виконання. У цьому випадку було виявлено Sharepoint, і запитується токен для доступу до нього:
Припустимо, що токен має дозвіл Sites.Read.All (з Sharepoint), навіть якщо ви не можете отримати доступ до Sharepoint з вебу через MFA, можливо використовувати токен для доступу до файлів згенерованим токеном:
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)