Защита от слабых протоколов аутентификации и паролей

Опубликовано: 13 Апреля, 2023


Посетите веб-сайт Дерека, посвященный средствам аудита и безопасности Windows, статьям, книгам, форумам и многому другому…
www.auditingwindows.com


Ты слаб?


Microsoft перешла от очень слабых протоколов аутентификации по паролю к тем, которые достаточно хорошо защищают пароль. Благодаря новым протоколам проверки подлинности, таким как NTLMv2 и Kerberos, корпорация Майкрософт предоставляет безопасную среду для защиты паролей в вашей организации.


Проблема проявляется в том, что Microsoft по-прежнему поддерживает устаревшие протоколы аутентификации, такие как Lan Manager и NT Lan Manager. Хотя в вашей сети обычно нет компьютеров, поддерживающих эти старые протоколы проверки подлинности, они по-прежнему доступны на ваших компьютерах с Windows. Чтобы усложнить проблемы, в большинстве сред эти протоколы аутентификации по-прежнему хешируют пароль «на тот случай, если компьютер поддерживает только старый хэш». Это создает серьезные риски для безопасности и делает компьютер легким для атак.


Протоколы аутентификации


На протяжении многих лет Microsoft поддерживала множество протоколов аутентификации. Каждый раз, когда они выпускают новый протокол аутентификации, в него добавляются новые функции и улучшения безопасности. Попутно они также сохраняют устаревший протокол аутентификации в операционной системе для поддержки старых компьютеров, которые не поддерживают новейшие и лучшие протоколы аутентификации. Эта устаревшая поддержка заставляет новейшие операционные системы, такие как Windows Server 2003, поддерживать все поддерживаемые Microsoft протоколы проверки подлинности: Lan Manager, NT Lan Manager (обе версии) и Kerberos.


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


Локальный менеджер


Lan Manger (LM) — один из старейших протоколов аутентификации, которые использовала Microsoft. Впервые он был представлен в Windows 3.11 и не очень безопасен. Функции LM не очень роскошны, и вы можете быстро увидеть, что они представляют много рисков для безопасности, просто прочитав описание каждого из них.



  • Хэш нечувствителен к регистру.
  • Набор символов ограничен 142 символами.
  • Хэш разбивается на фрагменты от 2 до 7 символов. Если пароль короче 14 символов, пароль будет дополнен нулями, чтобы получить пароль до 14 символов.
  • Результатом хеширования является 128-битное значение.
  • Хэш — это односторонняя функция.

NT-менеджер локальной сети


NT Lan Manager (NTLM) был предшественником LM и был представлен в Windows NT 3.1. Причина, по которой потребовался новый протокол аутентификации, заключалась в том, что в этой версии операционной системы появилась новая служба сетевых каталогов. Новая служба каталогов управлялась контроллером домена. NTLM требует, чтобы контроллер домена хранил хешированный пароль для учетных записей пользователей домена. Возможности NTLM идентичны LM, что показывает, что этот протокол так же слаб, как и LM, просто реализован немного по-другому.


NTLMv2


NTLMv2 не был выпущен с первым дебютом операционной системы. Он был выпущен в составе Service Pack (SP) 4 для Windows NT 4. Из-за плохой защиты паролем LM и NTLM Microsoft исправила многие проблемы, которыми обладали эти старые протоколы проверки подлинности. Особенности NTLMv2 включают следующее.



  • Пароли могут иметь длину до 128 символов.
  • Взаимная аутентификация между клиентом и сервером.
  • Предоставляет более длинные ключи для получения более надежного хэша пароля.

Керберос


Kerberos — это стандартизированный и одобренный протокол аутентификации. Kerberos находится в своей пятой версии, как определено в Запросе комментариев (RFC) 1510 Инженерной группы Интернета (IETF). Microsoft добавила некоторые незначительные функции в стандарт Kerberos, чтобы в полной мере использовать преимущества протокола в среде Windows. Ключевые функции, которые Kerberos предоставляет в домене Active Directory, включают следующее.



  • Kerberos обеспечивает процесс взаимной аутентификации с помощью системы билетов.
  • Процесс аутентификации в основном обрабатывается клиентом, что снижает нагрузку на серверы.
  • Контроллеры домена распределяют нагрузку по проверке подлинности, работая как центры распространения Kerberos (KDC).
  • Никакая часть пароля никогда не передается по сети.
  • Злоумышленники не могут перехватывать и воспроизводить пакеты из сети, поскольку пакеты чувствительны ко времени.

Какой протокол аутентификации поддерживает ваша ОС?


Вас может удивить, но не каждая операционная система Windows поддерживает самый безопасный протокол аутентификации. Это означает, что если вы используете более старые операционные системы, есть вероятность, что LM все еще поддерживается и используется в вашей сети. Это должно заставить вас чувствовать себя немного некомфортно и беспокоить общую безопасность вашей сети. Вот список каждой ОС и протоколов аутентификации, которые они поддерживают.


Windows 95, 98 и я


Windows 9x, в которую входят Windows 95, 98 и Me, по умолчанию не поддерживает NTLMv2 или Kerberos. По умолчанию эти операционные системы поддерживают только LM и/или NTLM. Поскольку в большинстве компаний часть пользователей все еще работает на Windows 9x, это должно заставить вас остановиться и обдумать сложившуюся ситуацию.


Если вы ничего не сделаете для решения проблемы, ваша сеть будет постоянно хранить и передавать очень слабый хэш пароля LM с компьютера на компьютер. Чтобы решить эту проблему, вы можете установить «Клиентские расширения Active Directory» на свои компьютеры с Windows 9x. Это немедленно позволит им поддерживать NTLMv2. Нет ничего, что могло бы заставить компьютер с Windows 9x поддерживать Kerberos. Чтобы получить «Клиентские расширения Active Directory», загрузите установочный файл с:


http://www.microsoft.com/windows2000/server/evaluation/news/bulletins/adextension.asp


Windows NT


Как мы уже видели, Windows NT поддерживает NTLM. Затем в SP4 для Windows NT 4.0 Microsoft представила поддержку NTLMv2. «Клиентские расширения Active Directory» также дадут компьютерам Windows NT поддержку NTLMv2, а также другие преимущества для связи с доменом Active Directory.


Windows 2000/ХР/2003


Windows 2000, XP и Server 2003 стандартно поставляются с поддержкой всех протоколов проверки подлинности, поддерживаемых Microsoft: LM, NTLM, NTLMv2 и Kerberos. Эти компьютеры будут использовать Kerberos при взаимодействии с Active Directory и членами Active Directory. Когда эти компьютеры находятся в рабочей группе, они будут использовать NTLMv2. LM и NTLM поддерживаются и используются при обмене данными с устаревшими операционными системами, которые поддерживают только эти старые слабые протоколы.


Обход слабых паролей и их хэшей


Если вы последние 10 лет жили под скалой, возможно, вы не слышали о распространенных инструментах, используемых для взлома хэша пароля Windows. Это LC5 (L0phtCrack) от @Stake (http://www.atstake.com/) и RainbowCrack (http://www.antsight.com/zsl/rainbowcrack/).


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


LC5 использует метод «грубой силы» для атаки на хэш пароля. Это требует вычислительной мощности и времени. Инструмент атакует хэш пароля, чтобы попытаться расшифровать хэш и определить исходный пароль. LC5 поддерживает хеш-таблицы, такие как RainbowCrack, но производитель не рекомендует хеш-таблицы для более чем 2500 учетных записей пользователей.


RainbowCrack работает только с хеш-таблицами, созданными до компьютера. Эти таблицы хранятся на больших жестких дисках и могут занимать ТБ места. Таблицы представляют собой фактический хэш каждой комбинации набора символов для пароля любой заданной длины. Поскольку хэш уже известен, инструменту нужно только сравнить хеш-таблицу с хэшем пароля из операционной системы. Это обеспечивает более быстрый метод взлома пароля, примерно в 10 раз быстрее, чем атака полным перебором.


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


LM/NTLM-защита


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



  1. По умолчанию хэши паролей LM и NTLM отправляются по сети во время аутентификации. Это происходит даже тогда, когда клиент Windows XP аутентифицируется на контроллере домена Windows Server 2003! Чтобы отключить это, настройте объект групповой политики (GPO), показанный на рис. 1. Не разрешайте передачу хэшей LM и NTLM по сети.


Изображение 26074
Рис. 1. Уровни аутентификации Lan Manager с использованием объекта групповой политики


Как только вы откроете эту политику для настройки, вам будут представлены шесть возможных параметров, как показано на рисунке 2.



Изображение 26075
Рисунок 2: Возможные настройки Lan Manager


Эти настройки управляют как клиентом (компьютером или сервером пользователя), так и контроллером домена. В следующем списке описано, как работает каждый параметр.




    • Отправка ответов LM и NTLM — клиенты используют аутентификацию LM и NTLM и никогда не используют сеансовую безопасность NTLMv2; контроллеры домена принимают аутентификацию LM, NTLM и NTLMv2.
    • Отправить LM и NTLM — использовать безопасность сеанса NTLMv2, если согласовано — клиенты используют аутентификацию LM и NTLM и используют безопасность сеанса NTLMv2, если сервер ее поддерживает; контроллеры домена принимают аутентификацию LM, NTLM и NTLMv2.
    • Отправлять только ответ NTLM — клиенты используют только проверку подлинности NTLM и используют сеансовую безопасность NTLMv2, если сервер ее поддерживает; контроллеры домена принимают аутентификацию LM, NTLM и NTLMv2.
    • Отправлять только ответ NTLMv2 — клиенты используют только проверку подлинности NTLMv2 и используют сеансовую безопасность NTLMv2, если сервер ее поддерживает; контроллеры домена принимают аутентификацию LM, NTLM и NTLMv2.
    • Отправить только ответ NTLMv2/отказаться от LM — клиенты используют только аутентификацию NTLMv2 и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее; контроллеры домена отказываются от LM (принимают только аутентификацию NTLM и NTLMv2).
    • Отправить только ответ NTLMv2/отказаться от LM и NTLM — клиенты используют только аутентификацию NTLMv2 и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее; контроллеры домена отказываются от LM и NTLM (принимают только аутентификацию NTLMv2).

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



  1. Другая конфигурация выполняется для предотвращения создания хэшей LM и NTLM. Хэши LM и NTLM генерируются всеми компьютерами по умолчанию для поддержки обратной совместимости, даже если в сети нет компьютеров, которым требуются хэши LM или NTLM. Это также параметр объекта групповой политики, как показано на рисунке 3.


Изображение 26076
Рисунок 3: Управление хранилищем хэшей LM с помощью GPO


Этот параметр не вступает в силу немедленно. Скорее, он не будет хранить хэш LM при изменении пароля.



  1. Если есть компьютеры, приложения или устройства, для которых по-прежнему требуется LM или NTLM, вы все равно можете обойти создание хэша, используя пароль, длина которого превышает 14 символов. Как только пароль становится 15-символьным, хэш LM и NTLM не сохраняется, поскольку он основан на 14-символьном пароле. Конечно, для тех пользователей и приложений, которые нуждаются в LM, им все равно придется соблюдать ограничение в 14 символов.

Защита NTLMv2


Невозможно отказаться от использования протокола аутентификации NTLMv2, поскольку он необходим для сред рабочих групп в операционных системах Windows 2000 и более поздних версий. Однако есть меры, которые вы можете предпринять, чтобы защитить злоумышленника от взлома этих хэшей.



  1. Чем длиннее пароль, тем лучше. Даже радужные таблицы терпят неудачу, когда пароль достигает 15 или более символов из-за объема памяти, необходимого для хранения предварительно вычисленных хеш-таблиц.
  2. Заставлять пользователей часто менять пароли. Это делается для учетных записей пользователей домена в политике домена по умолчанию, как показано на рисунке 4.


Изображение 26077
Рисунок 4: Политики учетных записей контролируют пароль для пользователей домена


Ниже приведен список основных параметров политики учетных записей и рекомендуемые параметры для защиты паролей и их хэшей.


«Максимальный срок действия пароля» — от 40 до 45 дней.
«Минимальный срок действия пароля» — от 1 до 2 дней.
«Использовать историю паролей» — от 12 до 24 уникальных паролей.
«Пароль должен соответствовать требованиям сложности» — включено



  1. Новый подход, который привлекает всеобщее внимание, заключается в использовании фраз-паролей вместо паролей. Совершенно очевидно, что такой пароль, как @3*()!b&, нелегко запомнить. Если вам каждый месяц приходится придумывать такой сложный пароль, вы обязаны его записать. Итак, вместо использования пароля используйте кодовую фразу, например:


Я живу в Аризоне, где средняя температура составляет 100 градусов.


Преимущества использования такой парольной фразы включают в себя:



  • Соответствует требованиям сложности пароля.
  • Его легко запомнить, гораздо проще, чем сложный пароль из 7 символов.
  • Эта парольная фраза не может быть взломана никаким существующим сегодня инструментом до того, как пароль будет изменен. Даже если срок действия пароля будет увеличен до 90 дней, LC5 и RainbowCrack не смогут взломать код за такое короткое время.

Резюме


Все должны использовать пароли для защиты сетевых ресурсов. Операционная система также должна защищать эти пароли, шифруя их с помощью хэша пароля. Некоторые хэши паролей очень ненадежны и могут привести к непосредственной уязвимости компьютера и сети. Другие хэши паролей, такие как NTLMv2, добавляют новые функции, которые помогают защитить хэш пароля, но если пароль недостаточно длинный, хэш пароля можно быстро расшифровать.


Сетевые администраторы, специалисты по безопасности и каждый пользователь должны предпринимать действия для защиты паролей и хэшей. Удлинение паролей может иметь большое значение для победы над этими инструментами для взлома. Кроме того, отказ от LM и NTLM, где это возможно, является отличным шагом к обеспечению безопасности сети. Наконец, использование фраз-паролей вместо паролей мгновенно нанесет вред существующим инструментам взлома, так что они никогда не смогут взломать производственный пароль.