Как хакеры научились проверять пароли Microsoft без единого следа в логах?

Компания Proofpoint зафиксировала минимум два независимых злоумышленника, которые используют новую технику обхода защиты под названием OAuth client ID spoofing для атак на среды Microsoft Entra ID. Метод позволяет перебирать учетные записи пользователей и проверять украденные пароли в промышленных масштабах, при этом система не фиксирует успешный вход, который бы насторожил защитников.
Как хакеры научились проверять пароли Microsoft без единого следа в логах?
Изображение носит иллюстративный характер

Суть проблемы объяснила исследователь Proofpoint Рэйчел Рабин: Entra ID возвращает разные коды ошибок в зависимости от того, действителен ли переданный идентификатор клиента OAuth или нет. Client ID это глобально уникальный идентификатор (GUID), который присваивается приложениям при запросе доступа к данным пользователя и передается в параметре client_id при аутентификации. Злоумышленники подставляют фиктивные идентификаторы и получают возможность перечислять аккаунты без регистрации собственного приложения в OAuth. Ответ сервера при этом раскрывает сразу две вещи: существует ли учетная запись и верен ли пароль к ней.
Технически атака выглядит так: злоумышленник отправляет HTTP POST запрос к токен-эндпоинту OAuth 2.0 у Microsoft, используя поток Resource Owner Password Credentials, он же ROPC. Клиентский ID при этом синтаксически корректен, но не соответствует ни одному реальному приложению. Интересная деталь — если подделанный ID не является правильным UUIDv4, Entra не отбрасывает запрос сразу. В итоге в логах входа сохраняется только сам ID приложения, а вот название приложения там отсутствует. В ответе приходит код ошибки AADSTS (Azure Active Directory Security Token Service), который и выдает всю нужную информацию — существует ли учетная запись, правильный ли пароль.
Здесь и возникает слепая зона для детектирования. Логи входа Entra являются основным источником телеметрии для выявления перебора пользователей, парольного спрея и попыток первичного доступа. Но поскольку поддельные client ID не оставляют имени приложения в логах, детекции, настроенные на всплеск активности против конкретного named-приложения, могут пропустить происходящее целиком — просто потому что поле остается пустым.
Технику не назвали абсолютно новой с чистого листа. У нее есть предшественник — кластер, известный как UNK_CustomCloak. Ранее эта группа проводила брутфорс-кампании против Entra ID, подделывая строки User-Agent и эксплуатируя устаревшее, уже снятое с поддержки приложение первой стороны под названием Windows Live Custom Domains. Цель была та же — обойти стандартные ограничения на вход и прощупать пароли. Масштаб кампании охватывал более 4000 тенантов. Новая техника со спуфингом client ID это, по сути, эволюция того же подхода, только более изящная.
Proofpoint выделила две крупные кампании, каждая из которых пришла к этой технике самостоятельно в конце декабря 2025 года.
Первая — UNK_pyreq2323, действовавшая с января по март 2026 года через инфраструктуру Amazon Web Services. Масштаб впечатляет: было использовано более 700 тысяч поддельных client ID против более чем 1 миллиона аккаунтов почти в 4000 тенантах. Побочный эффект атаки — блокировка примерно 28% целевых пользователей из-за превышения числа неудачных попыток входа. Метод генерации ID здесь довольно ленивый — злоумышленники брали известный ID приложения и меняли только последние цифры. Один и тот же поддельный ID при этом использовался повторно, до 12 разных пользователей на один ID. Что любопытно, перебор пользователей шел не по алфавиту.
Вторая кампания — UNK_OutFlareAZ, стартовавшая в декабре 2025 года и работавшая через инфраструктуру Cloudflare. Масштаб здесь еще выше: 3,7 миллиона рандомизированных ID приложений против более чем 2 миллионов пользователей. В отличие от первой группы, здесь генерировался уникальный client ID под каждый отдельный запрос, никакого повторного использования. И, в отличие от первой кампании, перебор шел строго по алфавиту.
При всех различиях у обеих кампаний нашлось общее — оба злоумышленника использовали корректные UUID, а не малформированные идентификаторы, и оба демонстрируют паттерны, характерные для использования заранее скомпилированных словарей имен пользователей. Это не случайность и не изолированный инцидент — техника явно начинает встраиваться в арсенал атакующих на регулярной основе.
Различия между кампаниями удобно свести в одну таблицу:
    []Инфраструктура: AWS у UNK_pyreq2323, против Cloudflare у UNK_OutFlareAZ
    []Генерация client ID: модификация последних цифр известного ID против уникального ID на каждый запрос
    []Повторное использование ID: до 12 пользователей на один ID против полного отсутствия повторов
    []Порядок перебора: не алфавитный против строго алфавитного
Главная опасность техники для защитников — эффект фрагментации. Растворяя попытки аутентификации по множеству фиктивных приложений, злоумышленники делают активность гораздо сложнее для корреляции, обходя детекции, привязанные к конкретному приложению, и системы ограничения частоты запросов. Отдельная головная боль для организаций — политики условного доступа (Conditional Access). Компании, которые защищались от классического перебора учетных записей через CA-политики, привязанные к конкретным часто атакуемым приложениям, оказываются перед этой техникой практически беззащитны. Логика проста и неприятна: поддельные client ID просто не запускают CA-политики, привязанные к конкретному приложению, потому что никакого настоящего приложения в запросе на самом деле не фигурирует.


Новое на сайте

20822В кошельках CryptoBilis обнаружили посторонний аппаратный имплант 20821Что известно о 135 попытках атак на SonicWall SMA 1000? 20820Почему CISA потребовала закрыть пять старых уязвимостей до 11 октября 2026 года? 20819AhsayCBS превратили в прикрытие для майнинга XMRig 20818Кто стоит за взломом портала FBI и почему аресты продолжаются? 20817Кто контролирует ИИ-агентов, которых компания не выбирала? 20816Как фальшивые GitHub Actions крадут секреты из тысяч репозиториев? 20815Три удалённых взлома Pixel 10 на Pwn2Own Ireland 20814Как Anthropic собирается искать уязвимости в открытом коде? 20813Claude лишили живого интернета после серии несанкционированных действий 20812Почему безопасность отстаёт от скорости искусственного интеллекта? 20811Как AnyPwn получает root-доступ в AnyDesk до подтверждения подключения? 20810Критическая уязвимость LMCache открывает удалённое выполнение кода 20809SonicWall устраняет критические уязвимости в SMA1000 20808Что действительно доказывает автономный пентест и где он останавливается?
Ссылка