Обнаружение и устранение незаконных разрешений на предоставление согласия

Совет

Знаете ли вы, что можете бесплатно опробовать функции в Microsoft Defender XDR для Office 365 плана 2? Используйте 90-дневную пробную версию Defender для Office 365 в центре пробных версий портала Microsoft Defender. Сведения о том, кто может зарегистрироваться и условия пробной версии , см. здесь.

Сводка Узнайте, как распознавать и устранять незаконные атаки на предоставление согласия в Microsoft 365.

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

Эти атаки используют модель взаимодействия, которая предполагает, что сущность, вызывающая информацию, является автоматизацией, а не человеком.

Важно!

Вы подозреваете, что у вас возникли проблемы с незаконным предоставлением согласия из приложения прямо сейчас? Microsoft Defender for Cloud Apps имеет средства для обнаружения, исследования и исправления приложений OAuth. В этой статье Defender для облачных приложений содержится руководство, в котором показано, как исследовать рискованные приложения OAuth. Вы также можете настроить политики приложений OAuth , чтобы изучить запрашиваемые приложениями разрешения, какие пользователи авторизуют эти приложения, а также широко утвердить или запретить эти запросы разрешений.

Необходимо выполнить поиск в журнале аудита , чтобы найти признаки, также называемые индикаторами компрометации (IOC) этой атаки. Для организаций с большим количеством зарегистрированных в Azure приложений и большой базой пользователей рекомендуется еженедельно просматривать предоставленные разрешения.

Действия по обнаружению признаков этой атаки

  1. Откройте портал Microsoft Defender по адресу https://security.microsoft.com и выберите Аудит. Или перейдите непосредственно на страницу Аудит по ссылке https://security.microsoft.com/auditlogsearch.

  2. На странице Аудит убедитесь, что выбрана вкладка Поиск, а затем настройте следующие параметры:

    • Дата и диапазон времени
    • Действия. Убедитесь, что выбран параметр Показывать результаты для всех действий .

    По завершении выберите Поиск.

  3. Выберите столбец Действие , чтобы отсортировать результаты и найти согласие на приложение.

  4. Выберите запись из списка, чтобы просмотреть сведения о действии. Убедитесь, что isAdminConsent имеет значение True.

Примечание.

Для отображения соответствующей записи журнала аудита в результатах поиска после возникновения события может потребоваться от 30 минут до 24 часов.

Продолжительность хранения записи аудита и ее поиска в журнале аудита зависит от подписки Microsoft 365 и, в частности, от типа лицензии, назначенной конкретному пользователю. Дополнительные сведения см. в разделе Журнал аудита.

Значение true указывает, что пользователь с доступом глобального администратора, возможно, предоставил широкий доступ к данным. Если это значение непредвиденное, выполните действия, чтобы подтвердить атаку.

Подтверждение атаки

Если у вас есть один или несколько экземпляров ioCs, перечисленных ранее, необходимо провести дальнейшее исследование, чтобы подтвердить, что атака произошла. Для подтверждения атаки можно использовать любой из следующих трех методов:

  • Инвентаризация приложений и их разрешений с помощью Центр администрирования Microsoft Entra. Этот метод является тщательным, но вы можете проверка только одного пользователя за раз, что может занять очень много времени, если у вас есть много пользователей для проверка.
  • Инвентаризация приложений и их разрешений с помощью PowerShell. Это самый быстрый и тщательный метод с наименьшим объемом накладных расходов.
  • Предоставьте пользователям по отдельности проверка свои приложения и разрешения и сообщить о результатах администраторам для исправления.

Инвентаризация приложений с доступом в организации

У вас есть следующие варианты инвентаризации приложений для пользователей:

  • Центр администрирования Microsoft Entra.
  • PowerShell.
  • Предоставьте пользователям по отдельности перечисление собственного доступа к приложениям.

Действия по использованию Центр администрирования Microsoft Entra

Вы можете найти приложения, для которых любой отдельный пользователь предоставил разрешения, с помощью Центр администрирования Microsoft Entra:

  1. Откройте Центр администрирования Microsoft Entra по адресу https://entra.microsoft.com, а затем перейдите в раздел Удостоверения>пользователей> *Все пользователи. Или, чтобы перейти непосредственно к разделу Пользователи>Все пользователи, используйте https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
  2. Найдите и выберите пользователя, которого вы хотите проверить, щелкнув значение Отображаемое имя .
  3. На открывающейся странице сведений о пользователе выберите Приложения.

Эти действия показывают приложения, назначенные пользователю, и разрешения, которые у них есть.

Действия по перечислению пользователей доступа к приложениям

Предоставьте пользователям перейти на страницу и проверить доступ к собственному https://myapps.microsoft.com приложению. Они должны иметь возможность просматривать все приложения с доступом, просматривать сведения о них (включая область доступа) и иметь возможность отзывать привилегии для подозрительных или незаконных приложений.

Действия в PowerShell

Самый простой способ проверить атаку с предоставлением незаконного согласия — запустить Get-AzureADPSPermissions.ps1, которая помещает все предоставленные разрешения OAuth и приложения OAuth для всех пользователей в клиенте в один .csv файл.

Предварительные условия

  • Установленная библиотека PowerShell Azure AD.
  • Разрешения глобального администратора в организации, в которой выполняется скрипт.
  • Разрешения локального администратора на компьютере, на котором выполняются скрипты.

Важно!

Настоятельно рекомендуется использовать многофакторную проверку подлинности для учетной записи администратора. Этот скрипт поддерживает проверку подлинности MFA.

Примечание.

Azure AD PowerShell планируется устареть 30 марта 2024 г. Дополнительные сведения см. в статье Обновление для прекращения поддержки.

Мы рекомендуем выполнить миграцию в Microsoft Graph PowerShell для взаимодействия с Microsoft Entra ID (ранее Azure AD). Microsoft Graph PowerShell предоставляет доступ ко всем API Microsoft Graph и доступен в PowerShell 7. Ответы на распространенные запросы миграции см. в разделе Вопросы и ответы о миграции.

  1. Войдите на компьютер, на котором вы хотите запустить скрипты с правами локального администратора.

  2. Скачайте или скопируйте скрипт Get-AzureADPSPermissions.ps1 из GitHub в папку, которую легко найти и запомнить. В эту папку также необходимо записать выходной файл "permissions.csv".

  3. Откройте сеанс PowerShell с повышенными привилегиями от имени администратора в папке, в которой вы сохранили скрипт.

  4. Подключитесь к каталогу с помощью командлета Connect-MgGraph .

  5. Выполните следующую команду PowerShell:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

Скрипт создает один файл с именем Permissions.csv. Выполните следующие действия, чтобы найти незаконные разрешения приложений:

  1. В столбце ConsentType (столбец G) найдите значение AllPrinciples. Разрешение AllPrincipals позволяет клиентскому приложению получать доступ к содержимому всех пользователей в клиенте. Это разрешение требуется собственным приложениям Microsoft 365 для правильной работы. Каждое приложение, отличное от Корпорации Майкрософт, с этим разрешением, должно быть тщательно проверено.

  2. В столбце Разрешение (столбец F) проверьте разрешения, которые каждое делегированное приложение имеет для содержимого. Найдите разрешения "Чтение" и "Запись" или "Все" и внимательно просмотрите эти разрешения, так как они могут оказаться неуместными.

  3. Просмотрите конкретных пользователей, которым предоставлено согласие. Если у пользователей с высоким профилем или высоким уровнем ценности предоставлены недопустимые согласия, следует изучить дополнительные сведения.

  4. В столбце ClientDisplayName (столбец C) найдите приложения, которые кажутся подозрительными. Приложения с орфографическими именами, супермечающими именами или именами, звучащими для хакеров, должны быть тщательно проверены.

Определение область атаки

Завершив инвентаризацию доступа к приложению, просмотрите журнал аудита, чтобы определить полное область нарушения. Поиск затронутых пользователей, временные интервалы, к которым незаконное приложение имело доступ к вашей организации, и разрешения, которые у приложения были. Вы можете выполнить поиск по журналу аудита на портале Microsoft Defender.

Важно!

Аудит почтовых ящиков и аудит действий для администраторов и пользователей должны быть включены до атаки, чтобы получить эту информацию.

После того как вы определили приложение с незаконными разрешениями, вы можете удалить этот доступ несколькими способами:

  • Вы можете отозвать разрешение приложения в Центр администрирования Microsoft Entra, выполнив следующие действия.

    1. Откройте Центр администрирования Microsoft Entra по адресу https://entra.microsoft.com, а затем перейдите в раздел Удостоверения>пользователей> *Все пользователи. Или, чтобы перейти непосредственно к разделу Пользователи>Все пользователи, используйте https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
    2. Найдите и выберите затронутого пользователя, щелкнув значение Отображаемое имя .
    3. На открывающейся странице сведений о пользователе выберите Приложения.
    4. На странице Приложения выберите незаконное приложение, щелкнув значение Имя .
    5. На открывающейся странице Сведений о назначении выберите Удалить.
  • Вы можете отозвать предоставление согласия OAuth с помощью PowerShell, выполнив действия, описанные в статье Remove-MgOauth2PermissionGrant.

  • Вы можете отменить назначение роли приложения-службы с помощью PowerShell, выполнив действия, описанные в разделе Remove-MgServicePrincipalAppRoleAssignment.

  • Вы можете отключить вход для затронутой учетной записи, что отключает доступ к данным в учетной записи приложением. Это действие не идеально подходит для повышения производительности пользователей, но оно может быть краткосрочным исправлением, чтобы быстро ограничить результаты атаки.

  • Вы можете отключить интегрированные приложения в организации. Это резкое действие. Хотя это предотвращает случайное предоставление пользователями доступа к вредоносному приложению, оно также запрещает всем пользователям предоставлять согласие для любых приложений. Мы не рекомендуем это действие, так как это серьезно ухудшает производительность пользователей в сторонних приложениях. Вы можете отключить интегрированные приложения, выполнив действия, описанные в разделе Включение и отключение интегрированных приложений.

См. также