Pass-The-Hash: защитите свои компьютеры с Windows! (Часть 3)
- Pass-The-Hash: защитите свои компьютеры с Windows! (Часть 2)
Введение
Теперь, когда мы находимся в третьем выпуске этой темы и серии статей, я уверен, что вам немного не терпится узнать все, что вы можете, о Pass the Hash (PTH) и методах уменьшения последствий этой атаки. В первой статье мы обсудили обзор PTH, описав методы, помогающие защитить ваши компьютеры Windows от этой атаки. Во второй статье мы обсудили некоторые параметры GPO, которые можно настроить для уменьшения общего воздействия PTH. Как уже неоднократно упоминалось, не существует панацеи для устранения риска ПТГ, однако принятие мер предосторожности для снижения риска может иметь большое значение. Поскольку PTH сначала должен получить права локального администратора на компьютере, именно с этого мы начали со статьи 2 и настройки политик GPO, чтобы уменьшить эту возможность для атаки. Теперь мы переходим в этой статье к обсуждению того, как удалить LANManager, который является очень старым протоколом аутентификации, который легко взломать и атаковать.
Является ли LANManager действительно важным фактором?
Я часто получаю этот ответ на свои комментарии об удалении LANManager (LM) из домена Windows Active Directory. Теперь, когда мы находимся в 2014 году и у нас есть новейшие операционные системы, такие как Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2, действительно ли это все еще является фактором? Краткий ответ - да!
Если мы сделаем шаг назад во времени и посмотрим, когда LM впервые был представлен, нам придется пройти довольно долгий путь назад. LM был впервые представлен в 1990 году (ну, во всяком случае, для того, что мы знаем как LanManager). Верно, LM был представлен почти 25 лет назад. Это была эра Windows для рабочих групп, версии Windows 3.11. Теперь, когда у нас есть и настольная/рабочая станция, и серверная ОС, почему Microsoft все еще поддерживает протокол аутентификации, который был разработан для операционной системы так давно?
Причина в устаревших приложениях. Не устаревшие операционные системы, а устаревшие приложения. Я почти уверен, что очень немногие компании используют операционную систему, которая по-прежнему требует использования LanManager. Однако существует множество приложений, поддерживающих только LanManager. Ваш вопрос может заключаться в том, как приложению нужен протокол аутентификации? Это отличный вопрос.
Ответ заключается в том, что приложение будет иметь учетную запись службы, которая должна пройти проверку подлинности в Active Directory, чтобы выполнять функции приложения. Это делается с помощью приложений резервного копирования, баз данных, клиент-серверных приложений и многих других типов приложений. Поскольку учетная запись службы (которая представляет собой не что иное, как обычный пользователь с повышенными привилегиями и правами) должна проходить аутентификацию с использованием LanManager, контроллеры домена для домена должны поддерживать LanManager.
Исключите использование LANManager
Теперь подождите! Я просто сказал, что есть шанс, что у вас есть приложение или много приложений, которым нужен LanManager? Ну, сначала вам нужно это узнать. Лучший способ сделать это — просто настроить ведение журнала/аудит входа в систему на ваших контроллерах домена. Затем просмотрите журналы событий LM. Если у вас нет приложений за период от 30 до 60 дней, велика вероятность, что у вас нет приложений, использующих LM.
Если это так, вы можете отказаться от использования LM вашими контроллерами домена. Это параметр групповой политики, который обновляет реестр. Чтобы найти этот параметр в объекте групповой политики, вы должны следовать этому пути в объекте групповой политики при его редактировании:
Конфигурация компьютераПолитикиПараметры WindowsПараметры безопасностиЛокальные политикиПараметры безопасности
В нижней части списка, который отображается справа от пути к этому объекту групповой политики, вы найдете параметр с пометкой: Сетевая безопасность: уровень аутентификации LAN Manager. Когда вы установите флажок «Определить этот параметр политики», вы сможете щелкнуть раскрывающийся список, показанный на рисунке 1.
Рисунок 1: Параметры сетевой безопасности: настройка GPO уровня аутентификации LAN Manager.
По умолчанию для ваших контроллеров домена используется четвертая опция с надписью «Отправлять только ответ NTLMv2». Хотя в этом параметре только упоминается, что он будет использовать NTLMv2, это не так. Когда этот параметр установлен, контроллер домена по-прежнему будет аутентифицировать запросы аутентификации LM. Чтобы защитить свой домен и среду наиболее безопасным способом, вы должны установить этот параметр для своих контроллеров домена на «Отправлять только ответ NTLMv2: отказаться от LM и NTLM».
Не хранить хэш LANManager
Вам нужно не только убедиться, что ваши контроллеры домена не аутентифицируют запросы LM, но и что они никоим образом не поддерживают LM. Может показаться, что указанная выше настройка устранит любое использование LM, но это не так. Есть еще один способ, которым ваш контроллер домена может взаимодействовать с LM, который почти хуже, чем описанный выше вопрос.
Когда пользователь домена устанавливает пароль для своей учетной записи, пароль должен быть каким-то образом зарегистрирован в базе данных Active Directory. Когда это происходит, также может быть запись для протокола аутентификации LM для повышения производительности. Это называется хэшем LM и хранится в базе данных Active Directory вместе с учетной записью пользователя. Ну, если только вы не следите за тем, чтобы он не хранился!
Чтобы найти этот параметр, вы пойдете по тому же пути, что и параметр выше:
Конфигурация компьютераПолитикиПараметры WindowsПараметры безопасностиЛокальные политикиПараметры безопасности
Затем вы найдете параметр с надписью: Сетевая безопасность: не сохранять хэш-значение LAN Manager при следующей смене пароля. По умолчанию для этого параметра установлено значение «Включено» для ваших контроллеров домена, начиная с Windows Server 2003. Однако я видел случаи, когда для параметра по-прежнему установлено значение «Отключено» из-за путей обновления с доменов и контроллеров домена Windows 2000 Active Directory.
Если для этого параметра установлено значение «Включено», хэш пароля LM не будет генерироваться и храниться вместе с учетной записью пользователя в Active Directory. Это идеальный вариант, и в этом нет необходимости, даже если вы используете LM, поскольку хэш LM будет генерироваться на лету для аутентификации LM контроллером домена.
Резюме
LanManager все еще существует и может быть входом для атаки PTH. На самом деле, наличие хэша LM — это именно то, что ищут атаки PTH. Исключив любое использование или отслеживание LM, вы можете свести на нет успех PTH, получив что-либо, касающееся LM. К сожалению, Microsoft настраивает ваш домен и контроллеры домена для поддержки LM «из коробки» во время установки. Вам необходимо предпринять необходимые шаги, чтобы гарантировать, что LM не используется в качестве протокола аутентификации вашими контроллерами домена, а также убедиться, что хэши LM не хранятся вместе с учетными записями пользователей в Active Directory. Если вы примете эти дополнительные меры предосторожности, а также настройки, упомянутые в части I и части II этой серии, вы проделаете долгий путь, чтобы защитить свои компьютеры Windows и всю сеть от атаки PTH. Я бы не позволил вашей сети и домену Active Directory оставаться уязвимыми для атаки PTH, поскольку она очень мощная, навязчивая и ее трудно предотвратить. Бездействие просто напрашивается на неприятности!
- Pass-The-Hash: защитите свои компьютеры с Windows! (Часть 2)