Где искать и что должно быть включено
События Logon ищут на узле, к которому обращались, а не всегда только на контроллере домена. Нужны действующая настройка аудита неуспешных входов и сохранённый журнал. Для контроллера домена могут потребоваться дополнительные события аутентификации; они не тождественны 4625. См. Audit Logon.
Документ Microsoft указывает минимальные ОС Vista/Server 2008; это историческая граница формата, не рекомендация использовать эти ОС. Для чтения Security нужны права доступа к журналу. Состав полей сверяйте по версии XML и сборке Windows.
Не путать Security 4625 с таким же числом у другого поставщика. Sysmon требует установки и конфигурации и пишет в собственный канал; его события рассматриваются отдельно.
Пример и поля
Сокращённая схема, не экспорт Windows и не реальный инцидент:
Computer=lab-app-01
Provider=Microsoft-Windows-Security-Auditing Channel=Security EventID=4625 Version=0
TargetUserName=demo.user TargetDomainName=LAB
LogonType=3 Status=0xC000006D SubStatus=0xC000006A
IpAddress=192.0.2.25 IpPort=51515
| Сырые поля | Как читать |
|---|---|
| TargetUserName / TargetDomainName | Кому пытались выполнить вход; не инициатор административного действия |
| SubjectUserSid / SubjectLogonId | Контекст компонента, сообщившего о сбое; не автоматически автор запроса |
| LogonType | Способ входа; 3 — сетевой. Это не универсальная отметка VPN |
| Status / SubStatus | Причина в пространстве кодов Windows; читать вместе, значения могут различаться |
| IpAddress / WorkstationName | Возможные сетевые признаки; иногда отсутствуют или не дают конечного клиента |
| ProcessId / ProcessName | Обрабатывающий процесс на регистрирующем узле; PID сопоставлять по времени |
В показанной паре кодов общий отказ связан с некорректной аутентификационной информацией, детализация указывает на неверный пароль. Это иллюстрация, не обязательная комбинация для каждого 4625. Описание полей и кодов — Microsoft 4625.
Поиск
Команда чтения за последние 24 часа, до 50 записей. Выполнение и доступ к Security log требуют подходящих прав; отказ доступа не равен отсутствию событий.
Get-WinEvent -FilterHashtable @{
LogName='Security'
ProviderName='Microsoft-Windows-Security-Auditing'
Id=4625
StartTime=(Get-Date).AddHours(-24)
} -MaxEvents 50 | Select-Object TimeCreated, Id, MachineName, Message
Синтаксис FilterHashtable и назначение команды — Get-WinEvent. Для автоматизации читать именованные EventData из XML, не разбирать локализованный Message регулярным выражением и не полагаться на позиции Properties[n] без проверки схемы.
Что проверить дальше
- Целевой узел, период и timezone. Запрос
Get-Dateиспользует локальное время среды выполнения; при сведении с UTC сохранить явное преобразование. - Коды результата и тип входа; проверить, соответствует ли источник ожидаемому сервису.
- Если сбои периодические — проверить сохранённые credentials службы/задачи и недавнюю смену пароля. Это гипотеза.
- Если сбои массовые — сопоставить пользователей, источники и успешные входы в том же контексте, а не назначать метку атаки одному ID.
- Если записи нет — проверить аудит, нужный узел, права, ротацию и доставку в коллектор. Отсутствие записи не доказывает отсутствия попытки.
Обычные причины включают ошибку пользователя и неактуальные credentials приложения. Решение о подозрительности требует частоты, контекста и других источников. Subject и Target особенно важно различать при переходе к созданию пользователя.
Связь со словарём: Журнал событий Windows, Sysmon. Для сопоставления успешного входа есть материал 4624; профиль фактических настроек аудита нужно сверить с конкретной средой.