Профильные эксперты по ИБ выяснили, что опция удал`нного рабочего стола в Windows по протоколу RDP (Remote Desktop Protocol) позволяет пользователям входить в систему, используя пароли, отозванные ранее системным администратором. Причём разработчиков из Microsoft такая ситуация устраивает, в компании не считают подобное поведение системным багом. Исследователи наоборот говорят, что такая ситуация равносильна постоянному бэкдору в корпоративной системе.
Смена пароля — один из первых шагов, которые пользователи должны предпринять в случае утечки пароля или взлома учётной записи. Пользователи ожидают, что после того, как они сделают этот шаг, ни одно из устройств, которые полагались на пароль, не будет доступно.
Протокол удаленного рабочего стола — запатентованный механизм, встроенный в Windows, позволяющий удаленному пользователю входить в систему и управлять компьютером, как если бы он находился прямо перед ним, — однако во многих случаях продолжает доверять паролю даже после того, как пользователь его изменил. Microsoft настаивает, что такое поведение является дизайнерским решением, чтобы гарантировать, что пользователи никогда не будут заблокированы.
Независимый исследователь безопасности Дэниел Уэйд сообщил об этом поведении в начале этого месяца в Центр реагирования на безопасность Microsoft. В отчете он предоставил пошаговые инструкции по воспроизведению поведения. Уэйд пояснил, что такой дизайн бросает вызов почти всеобщим ожиданиям, что после смены пароля он больше не может предоставлять доступ к любым устройствам или учетным записям, связанным с ним.
«Это не просто ошибка. Это подрыв доверия», — написал Уэйд в своем отчете. «Люди верят, что изменение пароля отсечет несанкционированный доступ». Это первое, что делает любой, кто подозревает взлом. И всё же:
старые учетные данные продолжают работать для RDP — даже с совершенно новых машин.
Defender, Entra ID и Azure не выдают никаких сигналов тревоги.
нет четкого способа для конечных пользователей обнаружить или исправить проблему.
никакая документация или руководство Microsoft не рассматривает этот сценарий напрямую.
даже более новые пароли могут игнорироваться, в то время как старые продолжают работать.
результат: миллионы пользователей — дома, в малом бизнесе или гибридных рабочих средах — неосознанно подвергаются риску.
В ответ исследователю в Microsoft ещё раз заявили, что такое поведение является «проектным решением, гарантирующим, что по крайней мере одна учетная запись пользователя всегда будет иметь возможность входа в систему независимо от того, как долго система находится в автономном режиме».
Таким образом, Microsoft считает, что подобная ситуация не соответствует определению уязвимости безопасности, а инженеры компании не планируют её менять. Возможность использовать отозванный пароль для входа через RDP возникает, когда машина Windows, на которой выполнен вход с помощью учетной записи Microsoft или Azure, настроена для включения доступа к удаленному рабочему столу. В этом случае пользователи могут входить в систему через RDP с помощью специального пароля, который проверяется с помощью локально сохраненных учетных данных.
Однако даже после того, как пользователи меняют пароль своей учетной записи, он остается действительным для входа в систему RDP неограниченно долго. В некоторых случаях, как сообщил Уэйд, несколько старых паролей будут работать, а новые — нет. Результат: постоянный доступ RDP, который обходит облачную проверку, многофакторную аутентификацию и политики условного доступа.
Уэйд и другой эксперт по безопасности Windows заявили, что малоизвестное поведение может оказаться дорогостоящим в сценариях, когда учетная запись Microsoft или Azure была скомпрометирована, например, когда пароли для них были публично раскрыты. В таком случае первым шагом будет смена пароля, чтобы не допустить использования его злоумышленником для доступа к конфиденциальным ресурсам. Хотя смена пароля не позволяет злоумышленнику войти в учетную запись Microsoft или Azure, старый пароль предоставит злоумышленнику доступ к машине пользователя через RDP неограниченно долго.
«Это создает тихий, удаленный бэкдор в любую систему, где пароль когда-либо был кэширован», — написал Уэйд в своем отчете. «Даже если злоумышленник никогда не имел доступа к этой системе, Windows все равно будет доверять паролю».
Уилл Дорманн, старший аналитик уязвимостей в компании по безопасности Analygence, согласился с Уйдом. «Это не имеет смысла с точки зрения безопасности», — написал он в онлайн-интервью. «Если я системный администратор, я бы ожидал, что в тот момент, когда я изменю пароль учетной записи, старые учетные данные этой учетной записи не смогут быть использованы нигде. Но это не так».
Механизм, который делает всё это возможным, — это кэширование учетных данных на жестком диске локальной машины. Когда пользователь впервые входит в систему с использованием учетных данных Microsoft или Azure, RDP подтвердит действительность пароля в сети. Затем Windows сохранит учетные данные в криптографически защищенном формате на локальной машине. С этого момента Windows будет проверять любой пароль, введенный во время входа в систему RDP, сравнивая его с локально сохраненными учетными данными, без поиска в сети. При этом отозванный пароль все равно будет предоставлять удаленный доступ через RDP.
В ответе на отчёт Уэйда в Microsoft заявили, что специалисты обновили онлайн-документацию, чтобы пользователи были лучше информированы о поведении при работе через RDP.
В обновлении Microsoft добавлено:В обновлении Microsoft добавлено:
Внимание
Когда пользователь выполняет локальный вход, его учетные данные проверяются локально по кэшированной копии, прежде чем аутентифицироваться поставщиком удостоверений по сети. Если проверка кэша прошла успешно, пользователь получает доступ к рабочему столу, даже если устройство находится в автономном режиме. Однако, если пользователь меняет свой пароль в облаке, кэшированный верификатор не обновляется, что означает, что он все еще может получить доступ к своему локальному компьютеру, используя свой старый пароль.
Дорманн пояснил, что такое пояснение нелегко обнаружить большинству системных администраторов, и оно недостаточно явное. Обновление также не дает пользователям рекомендаций о том, какие шаги им следует предпринять для блокировки RDP в случае взлома их учетной записи Microsoft или Azure. Дорманн сказал, что единственный способ действия — настроить RDP для аутентификации только по локально сохраненным учетным данным.
Примечательно, что Microsoft сообщила Уэйду, что он не первый, кто сообщил об этом поведении RDP как об уязвимости безопасности, что указывает на то, что инженеры по безопасности компании знали об этом поведении почти два года.
«Мы определили, что это старая проблема, о которой нам уже сообщил другой исследователь в августе 2023 года, поэтому этот случай не подлежит вознаграждению», — сообщили сотрудники компании Уэйду. «Изначально мы рассматривали изменение кода для этой проблемы, но после дальнейшего изучения проектной документации изменения в коде могли нарушить совместимость с функциональными возможностями, используемыми многими приложениями».
Источник новости: habr.com