Возможные причины блокировки пользователя в Active Directory
Данная ситуация существует в компаниях, где настроена политика блокировки учетной записи при вводе определенного количества не правильных паролей, это правильно с точки зрения кибербезопасности так как помогает защититься от брутфорса.
Из основных причин блокировки можно выделить:
- - Постоянный маппинг дисков со старыми учетными данными
- - Мобильные устройства, использующие корпоративные сервисы
- - Учетные записи служб, использующие кэшированные пароли, которые были изменены в ходе технического обслуживания
- - Запланированные задачи с устаревшими паролями
- - Программы, использующие сохраненные пароли, которые были изменены
- - Отключенные сеансы сервера терминалов
- - Проблемы с репликацией Active Directory
- - Неправильно настроенные параметры политики домена
- - Вредоносная активность, например, атака перебора паролей.
Где настраивается политика блокировки учетных записей
Открываем редактор групповой политики, создаем новую политику, называем ее например Account Lockout Policy и щелкаем на нее правой кнопкой мыши и выбираем «Изменить».
- Ставим время до сброса счетчика блокировки на 30 минут
- Пороговое значение блокировки – 5 ошибок входа в систему
- Продолжительность блокировки учетной записи – 30 минут.
Закрываем, применяем политику на домен и на целевой машине запускаем gpupdate /force
Как выяснить причину блокировки учетной записи
Теперь, когда политика включена нам нужно определять из-за чего может все лочиться, и с какого компьютера или устройств, это происходит. Чтобы ответить на этот вопрос нужно настроить специальную политику аудита, призванную следить за соответствующими событиями, по которым вы сможете найти причину блокировок. По умолчанию данный вид аудита не настроен.
Снова открываем редактор групповой политики, создаем политику Audit Policy открываем ее и переходим по такому пути.
Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Политика аудита
Нам нужно включить аудит входа в систему, именно данная политика генерирует события 4771 и 4624. Настраиваем ее на «Успех и отказ».
Так же нужно задать политику аудита событий входа в систему на «Успех и отказ», а так же «Аудит управления учетными записями», чтобы видеть события 4740.
Принудительно обновляем политику и запускаем gpupdate /force на целевой машине
Какие события отслеживать в журнале безопасность
При некорректном вводе данных генерируется событие 4740, на всех контроллерах домена если он не один. С кодами отказов Kerberos:
- 6 – имя пользователя не существует
- 12 – Ограничение времени входа в систему
- 18 – Учетная запись деактивирована, заблокирована или истек срок ее действия
- 23 – Истек срок действия пароля пользователя
- 24 – Предварительная аутентификация не удалась(неверный пароль)
- 32 – Истек срок действия тикета
- 37 – Время компьютера давно не синхронизировалось с доменным
и кодами ошибок NTLM
Код ошибки (десятичная система) — Код ошибки (16-ричная система) — Описание
- 3221225572 — С0000064 — Такого имени пользователя не существует
- 3221225578 — С000006А — Верное имя пользователя, но неверный пароль
- 3221226036 — С0000234 — Учетная запись пользователя заблокирована
- 3221225586 — С0000072 — Учетная запись деактивирована
- 3221225583 — С000006Е — Пользователь пытается войти в систему вне обозначенного периода времени
- 3221225584 — С0000070 — Ограничение рабочей станции
- 3221225875 — С0000193 — Истек срок действия учетной записи
- 3221225585 — 0000071 — Истек срок действия пароля
- 3221226020 — С0000224 — Пользователь должен поменять пароль при следующем входе в систему
Как расследовать причину блокировки
Открываем журнал событий и идем в журнал безопасность (Security)» именно в нем собираются EventID которые могут помочь определить причину блокировки. Там очень много событий, так что отфильтруем их с помощью «Filter Current Log (Фильтр текущего журнала)», она позволит нам выбрать только те события, которые нам нужны. В поле Logged указываем за какой срок нужны данные, в поле Event ID указываем 4740 и нажимаем «Ок»
В отфильтрованных записях с помощью поиска (Find) находим имя интересующей нас учетной записи. В итоге должны отфильтроваться события по указанному логину с кодом 4740 в котором можно найти причину блокировки, например в поле Caller Computer Name будет указано имя компьютера с которого идут феилд логоны и который этим вызывает блокировку. Затем нужно перейти на этот компьютер и смотреть евент логи там, чтобы определить почему данная машина пытается залогиниться под некорректными кредами.
В событиях 4740 можно встреть еще такие причины блокировки как имя сервера, где происходит блокирование Exchange сервер организации – это значит, что проблема в Outlook, почтовом мобильном клиенте или его календарем. Чтобы расследовать данную блокировку нужно смотреть логи IIS на Exchange сервере. Так же можно использовать команду Get-ActiveSyncDeviceStatistics в PowerShell, чтобы увидеть проблемные мобильные устройства.
Microsoft ALTools
У компании Microsoft есть собственный инструмент для помощи в устранения проблем с блокировкой учетных записей - Microsoft Account Lockout and Management Tool (AlTools.exe). Download Account Lockout Status (LockoutStatus.exe) from Official Microsoft Download Center.
Этот инструмент отображает информацию о заблокированной учетной записи с ее состоянием пользователя и временем блокировки на каждом контроллере домена и позволяет разблокировать ее, щелкнув правой кнопкой мыши на соответствующей записи.
Запустите LockoutStatus.exe > File > Select target > Введите имя учетной записи и домен > OK
Он покажет все статусы связанные с блокировкой по данному аккаунту.
Инструмент EventCombMT
EventCombMT Tool собирает определенные события с нескольких различных серверов в одно центральное место.
Запустите EventCombMT.exe > Щелкните правой кнопкой мыши на поле Select to search > Выберите Get DCs in Domain > Отметьте контроллеры домена для поиска. - Нажмите меню Searches (Поиск) > Built In Searches (Встроенный поиск) > Account Lockouts (Блокировка учетных записей).
Другие причины блокировок пользовательских учетных записей
Если проблема локаута кроется в сервисах Google Workspaces (Gmail, Gdrive…) то в логах будет отображаться, что феилд логоны идут с компьютера WORKSTATION. Так же подробную информацию о блокировке можно посмотреть в событии 4771. Там можно найти Керберос коды, которые были описаны выше и IP адрес устройства с которого идут фейлд логоны.
Если в полях Caller Computer Name ивента 4770 и Client Address 4771 пусто – это значит что вас скорее всего брутфорсят!
Чтобы определить источник фейлд логонов в этом случае необходимо включить netlogon и смотреть его логи.
NETLOGON Netlogon - это процесс Windows Server, который аутентифицирует пользователей и другие службы в домене. Включите ведение журнала Netlogon: Пуск > Выполнить > введите:
nltest /dbflag:2080ffff > OK
После перезапуска службы Netlogon соответствующая активность может быть записана в %windir%/debug/netlogon.log.
Можно так же разобрать журналы Netlogon с помощью скрипта:
type netlogon.log |find /i "0xC000006A" > failedpw.txt type netlogon.log |find /i "0xC0000234" > lockedusr.txt
Внимание! Не забудьте отключить Netlogon после того, как вы зафиксировали события, так как производительность системы может быть немного снижена из-за процесса дебаггинга. Отключите ведение журнала Netlogon:
Пуск > Выполнить > введите:
nltest /dbflag:0 > OK
В логах можно найти айпишники тех компьютеров, с которых идут скрытые фейлд логоны, это могут быть терминальные сервера или RDP на которые ведется атака по перебору паролей.
Возвращаемся к журналу событий безопасности. Еще может быть полезным событие с кодом 4776, тут тоже можно найти с какой рабочей станции была попытка ввода учетных данных.
Если айпи вам неизвестен можно посмотреть его mac на на DHCP сервере или же на сетевом оборудовании, далее с помощью специальных сервисов, которые легко можно найти в интернете можно определить, что за производитель у данного mac-адреса. Это полезно, когда феилд логоны идут с какого-то смартфона или планшета.
Еще полезным будет изучение события 4625, там вы можете обнаружить процесс, из-за которого происходит блокировка учетных записей. Используйте Process Hacker или Process Monitor для просмотра учетных данных активных процессов.
Проблемой блокировки может быть планировщик задач Windows - возможно, есть задача, настроенная на запуск с использованием учетной записи, пароль к которой поменялся.
На локальной машине могут быть сохраненные учетные данные, найти которые можно так:
Пуск> Выполнить > rundll32 keymgr.dll, KRShowKeyMgr > OK.
Или Netplwiz:
Пуск> Выполнить > введите: netplwiz > OK Перейдите на вкладку Дополнительно, а затем нажмите Управление паролями.
Блокировку может вызывать сессия сервера терминалов с устаревшими учетными данными. Для отключения RDP сессии выполните следующие команды в командной строке (Win+R > "cmd"), заменив "server_ip", "name" и "password" на необходимые учетные данные:
net use \server_ip /USER:name password
Это позволит вам войти на удаленный сервер без использования RDP.
query session /server:name
Замените "name" на имя сервера. Здесь вы получите идентификатор сессии.
reset session id /server:server_ip
Это завершает активную сессию на удаленном сервере.
Блокировку учетки может вызывать репликация AD, когда обновление пароля не было реплицировано на все контроллеры домена. Для принудительной репликации выполните следующую команду на вашем DC:
repadmin /syncall /AdeP