Az - Conditional Access Policies / MFA Bypass

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

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

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

Політики умовного доступу Azure - це правила, встановлені в Microsoft Azure для забезпечення контролю доступу до служб та додатків Azure на підставі певних умов. Ці політики допомагають організаціям захищати свої ресурси, застосовуючи відповідні контролі доступу в потрібних обставинах. Політики умовного доступу визначають Хто може отримати доступ до Чого з Де і Як.

Ось кілька прикладів:

  1. Політика ризику входу: Ця політика може бути налаштована для вимоги багатофакторної аутентифікації (MFA), коли виявлено ризик входу. Наприклад, якщо поведінка входу користувача незвичайна порівняно з їхнім звичайним шаблоном, такою як вхід з іншої країни, система може запросити додаткову аутентифікацію.

  2. Політика відповідності пристрою: Ця політика може обмежити доступ до служб Azure лише для пристроїв, які відповідають стандартам безпеки організації. Наприклад, доступ може бути дозволено лише з пристроїв, на яких встановлене оновлене антивірусне програмне забезпечення або які працюють під певною версією операційної системи.

Обхід політик умовного доступу

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

Платформи пристроїв - Умова пристрою

Можливо встановити умову на основі платформи пристрою (Android, iOS, Windows, macOS), однак це базується на user-agent, тому його досить легко обійти. Навіть зробивши всі варіанти обов'язковими для MFA, якщо ви використовуєте user-agent, який він не впізнає, ви зможете обійти MFA.

Місця: Країни, діапазони IP - Умова пристрою

Звичайно, якщо це встановлено в умовній політиці, зловмисник може просто використовувати VPN в дозволеній країні або спробувати знайти спосіб доступу з дозволеної IP-адреси, щоб обійти ці умови.

Клієнтські додатки Office365

Ви можете вказати, що якщо клієнти отримують доступ до додатків Office 365 з браузера, вони потребують MFA:

Для обходу цього можна претендувати на вхід в додаток з десктопного застосунку (наприклад, до Microsoft Teams у наступному прикладі), що обійде захист:

roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4-4aaf-ab1b-5451cc387264 --tokrns-stdout

<token>

Оскільки додаток Microsoft Teams має багато дозволів, ви зможете використати цей доступ.

Ви можете знайти ІД більш публічних додатків з попередньо визначеними дозволами Office365 в базі даних roadtools:

SELECT appId, displayName FROM ApplicationRefs WHERE publicCLient = 1 ORDER BY displayName ASC

Цей атака особливо цікава тим, що за замовчуванням публічні додатки Office365 матимуть дозвіл на доступ до деяких даних.

Інші додатки

За замовчуванням, інші додатки, створені користувачами, не матимуть дозволів і можуть бути приватними. Однак користувачі також можуть створювати публічні додатки, які надають їм деякі дозволи.

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

Перевірте Invoke-MFASweep та donkeytoken техніки.

Інші способи обхіду Az MFA

Звук дзвінка

Однією з опцій Azure MFA є отримання дзвінка на налаштований номер телефону, де користувача попросять надіслати символ #.

Оскільки символи - це просто тони, зловмисник може компрометувати голосове повідомлення на автовідповідачі номера телефону, налаштованого як повідомлення тону #, а потім, запитуючи MFA, переконайтеся, що телефон потерпілого зайнятий (дзвонить), щоб дзвінок Azure перенаправився на автовідповідач.

Сумісні пристрої

Політика часто вимагає сумісного пристрою або MFA, тому зловмисник може зареєструвати сумісний пристрій, отримати токен PRT і обійти таким чином MFA.

Почніть з реєстрації сумісного пристрою в Intune, а потім отримайте PRT за допомогою:

$prtKeys = Get-AADIntuneUserPRTKeys - PfxFileName .\<uuid>.pfx -Credentials $credentials

$prtToken = New-AADIntUserPRTToken -Settings $prtKeys -GertNonce

Get-AADIntAccessTokenForAADGraph -PRTToken $prtToken

<token returned>

Знайдіть більше інформації про цей вид атаки на наступній сторінці:

pageAz - Pass the PRT

Інструменти

Отримати всі політики

roadrecon plugin policies

MFASweep - це сценарій PowerShell, який намагається увійти в різні служби Microsoft, використовуючи надані облікові дані, і спробує визначити, чи увімкнено MFA. Залежно від того, як налаштовані політики умовного доступу та інші параметри багатофакторної аутентифікації, деякі протоколи можуть залишитися однофакторними. Також є додаткова перевірка конфігурацій ADFS і можлива спроба входу на сервер ADFS на місці, якщо виявлено.

Invoke-MFASweep -Username <username> -Password <pass>

Donkey token - це набір функцій, які спрямовані на допомогу консультантам з безпеки, які потребують перевірки політик умовного доступу, тестів для порталів Microsoft з підтримкою 2FA тощо.

Import-Module 'C:\Users\Administrador\Desktop\Azure\Modulos ps1\donkeytoken' -Force

Перевірте кожний портал, чи можливий вхід без MFA:

Test-MFA -credential $cred -Verbose -Debug -InformationAction Continue

Оскільки портал Azure не обмежений, можливо зібрати токен з кінцевої точки порталу для доступу до будь-якої виявленої служби у попередньому виконанні. У цьому випадку було виявлено Sharepoint, і запитано токен для доступу до нього:

$token = Get-DelegationTokenFromAzurePortal -credential $cred -token_type microsoft.graph -extension_type Microsoft_Intune
Read-JWTtoken -token $token.access_token

Припустимо, що токен має дозвіл Sites.Read.All (з Sharepoint), навіть якщо ви не можете отримати доступ до Sharepoint з веб-сайту через MFA, можна використовувати токен для доступу до файлів зі створеним токеном:

$data = Get-SharePointFilesFromGraph -authentication $token $data[0].downloadUrl

Посилання

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

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

Last updated