Event ID 4776: Проверка подлинности NTLM (NTLM Authentication)
Архитектура NTLM и симптомы сбоя
Событие 4776 логируется в журнале Security на контроллере домена, когда происходит проверка подлинности по устаревшему протоколу NTLM (NT LAN Manager). В современных сетях должен использоваться протокол Kerberos. Массовое появление 4776 (особенно с кодами отказа) указывает либо на Brute-force атаку, либо на работу устаревшего программного обеспечения (Legacy). NTLM уязвим к перехвату хэшей (Pass-the-Hash) и ретрансляции (NTLM Relay).
Таблица кодов ошибок (Error Codes)
Самое важное поле в событии — это код ошибки (Error Code):
| Код ошибки (HEX) | Что означает |
|---|---|
0x0 | Успешный вход (Success). |
0xC000006A | STATUS_WRONG_PASSWORD. Пользователь существует, но пароль неверен. |
0xC0000064 | STATUS_NO_SUCH_USER. Пользователь не найден. Явный признак перебора имен (Enumeration). |
0xC0000234 | STATUS_ACCOUNT_LOCKED_OUT. Учетная запись заблокирована (см. событие 4740). |
Пошаговое дерево решений (Мониторинг NTLM)
Сценарий 1: Выявление источника атаки (Workstation)
Поле Workstation (Рабочая станция) в событии 4776 содержит имя ПК или IP-адрес, с которого пришел запрос. Это ключевой маркер для поиска источника брутфорса.
Скрипт поиска отказов NTLM за сутки:$Events = Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4776; StartTime=(Get-Date).AddDays(-1)}
$Events | Where-Object {$_.Properties[3].Value -ne '0x0'} | Select-Object TimeCreated, @{N='User';E={$_.Properties[1].Value}}, @{N='Workstation';E={$_.Properties[2].Value}}, @{N='ErrorCode';E={$_.Properties[3].Value}} | Format-Table -AutoSizeСценарий 2: Защита от NTLM Relay
Если устройство передает NTLM-хэши без подписи (SMB Signing), хакер может перехватить их и авторизоваться на другом сервере. Включите обязательную подпись SMB и LDAP: Конфигурация компьютера -> Параметры безопасности -> Локальные политики -> Сервер сети Microsoft: использовать цифровую подпись (всегда) = Включено.
Сценарий 3: Поэтапный отказ от NTLM
Чтобы найти легитимные сервисы, зависящие от NTLM, включите режим аудита (Audit Mode) NTLM через GPO: Сетевая безопасность: Ограничить NTLM: аудит NTLM-трафика в этом домене = Включить все (Enable all). Соберите логи событий 8004 (NTLM Auditing) и переведите найденные приложения на Kerberos (SPN).
Типовые ошибки администраторов
- Полный запрет NTLM без аудита: Если вы сразу выставите политику 'Deny All' для NTLM, вы гарантированно сломаете работу старых сканеров, принтеров (Scan-to-SMB) и недоменных SQL-серверов. Отключение требует месяцев мониторинга.
NTLM легко перехватывается атаками Responder. Передайте Active Directory нам на обслуживание: мы проведем аудит, выявим зависимые сервисы и плавно переведем инфраструктуру на безопасный Kerberos без простоя бизнеса.
Частые вопросы (FAQ)
Почему 4776 генерируется при подключении по IP-адресу?
При обращении к серверу по IP-адресу (например, \\192.168.1.10) протокол Kerberos не может сформировать SPN-запрос и автоматически откатывается до NTLM. Всегда используйте полные доменные имена (FQDN)!
Что означает имя рабочей станции 'MSTSC' в 4776?
Это означает, что подключение инициировано клиентом удаленного рабочего стола (RDP), который не смог использовать Kerberos (обычно из-за обращения по IP-адресу или работы вне домена).
Чем 4776 отличается от 4624 (Logon)?
4776 логирует факт проверки ПАРОЛЯ на контроллере домена (Authentication). Событие 4624 логирует факт создания СЕССИИ на целевом сервере (Authorization).
Как заблокировать атаки NTLM из интернета?
Событие 4776 с 'внешними' IP в поле Workstation означает, что ваш сервер (например, Exchange OWA или RD Web) опубликован в интернет без Pre-Authentication (WAF/RDG). Закройте порты на файрволе.
Генерирует ли NTLMv2 событие 4776?
Да. И NTLMv1, и NTLMv2 (более защищенная версия) генерируют одно и то же событие 4776. Отличить их можно только глубоким анализом сетевого трафика (Wireshark) или логами аудита NTLM (события 8000+).