Дыра в Azure AD позволяет перебирать пароли незаметно для жертвы

Специалисты по кибербезопасности раскрыли неисправленную уязвимость в протоколе, который использует Microsoft Azure Active Directory. С её помощью злоумышленник может подбирать пароли методом полного перебора, не оставляя следов в системе жертвы.

По данным исследователей из подразделения Secureworks Counter Threat Unit (CTU), изъян позволяет проводить однофакторные атаки перебором против Azure Active Directory (Azure AD), не создавая при этом событий входа в журнале атакуемой организации. Отчёт был опубликован в среду.

Azure Active Directory — это корпоративное облачное решение Microsoft для управления идентификацией и доступом (IAM). Оно отвечает за единый вход (SSO) и многофакторную аутентификацию и служит одним из ключевых компонентов Microsoft 365 (ранее Office 365), в том числе обеспечивает аутентификацию для сторонних приложений через OAuth.

Где кроется проблема

Слабое место находится в функции Seamless Single Sign-On. Она позволяет сотрудникам автоматически входить в систему с корпоративных устройств, подключённых к сети предприятия, не вводя пароль вручную. Seamless SSO работает по «оппортунистическому» принципу: если процесс срывается, вход возвращается к обычному сценарию, где пользователь всё-таки набирает пароль на странице авторизации.

Для этого механизм опирается на протокол Kerberos: он находит соответствующий объект пользователя в Azure AD и выдаёт билет на получение билета (TGT), открывающий доступ к нужному ресурсу. Однако для пользователей Exchange Online с клиентами Office старше обновления Office 2013 May 2015 аутентификация идёт через отдельную конечную точку на основе пароля — «UserNameMixed». В ответ она выдаёт либо токен доступа, либо код ошибки — в зависимости от того, верны учётные данные или нет.

Почему атака остаётся невидимой

Корень проблемы — именно в этих кодах ошибок. Успешная аутентификация с выдачей токена создаёт запись в журнале входов, но аутентификация Autologon в Azure AD не логируется. Этот пробел и можно использовать для незаметного перебора паролей через конечную точку UserNameMixed.

Реакция Microsoft

Secureworks сообщила Microsoft о проблеме 29 июня. 21 июля компания признала описанное поведение, охарактеризовав его как «задумано специально» (by design). В комментарии для издания The Hacker News в Microsoft заявили: «Мы изучили эти утверждения и пришли к выводу, что описанная методика не связана с уязвимостью в безопасности, а действующие меры защиты помогают сохранять безопасность клиентов».

В Microsoft также уточнили, что защита от атак перебором уже распространяется на упомянутые конечные точки, а токены, выдаваемые API UserNameMixed, сами по себе не дают доступа к данным: их необходимо предъявить обратно в Azure AD, чтобы получить реальные токены. Такие запросы, по словам компании, защищены механизмами Conditional Access, Azure AD Multi-Factor Authentication и Azure AD Identity Protection, а также отражаются в журналах входов.

Источник: The Hacker News.