668просмотров
23 мая 2025 г.
Score: 735
BadSuccessor и dMSA migration abuse
Давайте попробуем разобраться. Оригинальная статья от акамай к прочтению обязательна. Как я понимаю атаку (в комментах накидываете, кто копнет глубже): Майкрософт в win 2025 создал новый концепт сервисных аккаунтов - delegated Managed Service Accounts (dMSA). Давно существовали аналогичные gMSA, но тут другая механика и добавлся механизм миграции. У всех MSA по дефолту регулярно ротируются пароли на рандомные и нужны как сервисные, считается правильным для сервисных задач использовать MSA в современных инсталляциях. В этом преимущество, что для таких учеток компрометация пароля не страшна, т.к. он вскоре поменяется на рандомный и старый будет недействительным. Вводя dMSA мелкомягкие подумали, что классно дать инструмент чтобы старые unmanaged сервисные аккаунты перевести (мигрировать) на dMSA. И в этом механизме нашли багу. Идея атаки в следующем:
1. Механизм миграции позволяет указать "successor account" - то есть dMSA-аккаунт, который должен заменить старую сервисную учетную запись
2. При этом в процессе миграции система (DC) предоставляет dMSA те же права, что были у старой учетной записи, чтобы обеспечить плавный переход (не сломать функционал)
3. Уязвимость заключается в том, что атакующий может создать dMSA и указать его как "successor" для любой учетной записи в домене, включая привилегированные аккаунты. И далее переопределет новые ldap атрибуты, тем самым переводит процесс миграции в якобы завершенное состояние.
4. В результате dMSA временно получает все права целевой учетной записи, что позволяет злоумышленнику повысить свои привилегии до уровня любого пользователя в AD Фактически ты говоришь: вот новая сервисная учетка, я хоче на нее мигрировать учетку домен админа и давай плавно мигрируем на нее права (при этом DC не проверяет, что ты имеешь на "мигрируемую" учетку права, т.к. злоумышленник перевел процесс в завершенное состояние). Насколько я понял, что для этого необходим уровень домена 2025. (Везде указано что нужен Server 2025, но что это значит - хз :). Например если ты ввел в домен 2025 сервак а все ДЦ у тебя версии ниже, то это работает? Или ты не можешь вводить в домен новые версии пока не поднимешь уровень (помощ зала). Из условий - необходимы права на создание Child объектов в AD чтобы создать подконтрольный пустой dMSA аккаунт (защитникам надо проверить умолчания для низкопривилегированных аккаунтов типа Domain Users и есть ли OU в которых они могут создавать child объекты). Еще из прикольного что MSA типо защищает от керберостинг, но найденная бага позволяет получить хеши кред в разных форматах, в т.ч. rc4 от произвольного аккаунта, т.е. сделала только хуже 😆 Вообще - MSA - крутая тема, т.к. если перевести все сервисные УЗ на них, то их пароли можно было бы на заборе вывешивать - все равно ротируются на рандомные постоянно. Кароче давайте разбираться вместе. У всех PHD и если кто уделит время и прояснит - пишите в комменты.