Всем давно известно, что парольная политика в части длины и сложности задаваемых паролей учетных записей пользоватлей не гаранитирует создание серьезных затруднений злоумышленника для их подбора.
Нередко пользователи задают пароль по форме “Наименование организации + год” или “Наименование организации + год+месяц” или “Инициалы+специальный символ+год”, в итоге получаем Gazprom2020, Lukoil052020, или RAD-2019.
С целью запрета использования таких паролей, предлагаю рассмотреть Lithnet Password Protection for Active Directory (LPP) и настроить его с нуля.
Возможности решения предлагают использование базы хэшей скомпрометированных паролей haveibeenpwned.com.
Мы рассмотрим также создание собственного словаря. Мы будет устанавливать агент на контроллер домена Active Directory.
Однако возможна установка на локальном сервере или рабочей станции.
Разница лишь в том, что вам нужно будет протестировать его с помощью локальных учетных записей, а не учетных записей из домена.
I. Требования по установке
- Продукт работает только с x64 версиями Windows
- Для установке на контроллере домена необходимо членство учетной записи в группе не ниже Domain Admins.
- Скачиваем базу паролей NTLM из списка haveibeenpwned.com pwned password и поместить его на сервер для последующего импорта. (Мы, как говорилось, также будем использовать свой словарь)
- Скачиваем последнюю версию LPP с сайта github.
- Создаем пользователя для тестирования, он должен быть пользователем домена. Мы создали пользователя itsecforu. Для локального сервера или рабочей станции – локального пользователя соответственно.
Хранилище LPP имеет файл базы данных хэшей паролей в двоичном формате, чтобы максимизировать скорость, сохраняя при этом пространство.
Каждый контроллер домена должен иметь доступ хранилищу хэшей, чтобы сравнить входящие изменения паролей со списками скомпрометированных паролей.
Для теста мы просто положим в папку на контроллере домена.
II. Установка
1.На выбранном сервере DC AD установим агент LPP. При установке выбираем все компоненты, как мы видим установщик содержит модуль PowerShell и шаблон групповой политики (ADMX)
Выберем путь для хранения базы скомпрометированных паролей или паролей по словарю.
Мы выберем локальный дефолтный путь .
Если добавлять базу хэшей HIBP pwned ,то убедитесь, что диск, на котором будет лежать хранилище, имеет достаточно места .
Вам потребуется по крайней мере 6 ГБ дискогового пространства для хранения конвертируемого сроваря хэшей.
3. После установки перезагружаем сервер
4. Далее создаем текстовый файл passwords.txt содержащий пароли, который мы хотим исключить из использования пользователями в домене. Мы добавим один лишь пароль Itsecforu.ru и положим его в папку C:\ProtectedPass.
Далее открываем PowerShell запускаем скрипт:
Import-Module LithnetPasswordProtection Open-Store 'C:\Program Files\Lithnet\Active Directory Password Protection\Store' Import-CompromisedPasswords -Filename "C:\ProtectedPass\passwords.txt"
Import-Module LithnetPasswordProtection Open-Store 'C:\Program Files\Lithnet\Active Directory Password Protection\Store' Import-CompromisedPasswordHashes -Filename C:\temp\pwned-passwords-ntlm-ordered-by-hash-v4.txt
Скрипт будет читать текстовый файл и конвертировать хэши в гораздо меньший двоичный формат. Таким образом, в то время как скачанный текстоый файл с хэшами составляет около 20GB в размере,то окончательный размер базы хэшей составит около 6GB. Этот процесс обычно занимает около 40 минут.
III. Настройка групповой политики


Форсируем применение групповой политики в командной строке выполнив gpudpate /force


