Event ID 4648: Вход с использованием явных учетных данных (Explicit Credentials)
Архитектура события и симптомы (Explicit Credentials)
Событие 4648 логируется в журнале Security, когда процесс или пользователь пытается войти в систему (или подключиться к сетевому ресурсу), явно указывая альтернативные учетные данные (логин и пароль), отличающиеся от тех, под которыми он сейчас работает. Это фундаментальный лог для аудита привилегированных операций.
Таблица сценариев возникновения 4648
| Источник (Процесс) | Что это значит для ИБ |
|---|---|
| RunAs.exe | Администратор локально запустил программу (например, dsa.msc) от имени Domain Admin. |
| Task Scheduler (svchost.exe) | Запланированная задача (например, бэкап) стартовала от имени сервисной учетной записи. |
| Network Share (explorer.exe) | Пользователь попытался открыть сетевую папку (SMB) и ввел другой пароль во всплывающем окне. |
| Malware / Mimikatz | Хакер инжектит хэши или токены в память для сетевого продвижения (Lateral Movement). |
Пошаговое дерево решений (SIEM Аудит)
Сценарий 1: Отслеживание административного доступа (RunAs)
Для контроля за ИТ-отделом важно понимать, кто и когда повышает свои привилегии. Событие 4648 содержит два ключевых блока: Subject (Кто запустил) и Target Account (Чьи данные были подставлены).
Скрипт поиска использования RunAs:$Events = Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4648; StartTime=(Get-Date).AddDays(-1)}
$Events | Select-Object TimeCreated, @{N='SubjectUser';E={$_.Properties[1].Value}}, @{N='TargetUser';E={$_.Properties[5].Value}}, @{N='Process';E={$_.Properties[12].Value}} | Format-Table -AutoSizeСценарий 2: Выявление вредоносной активности (Pass-the-Hash)
Если хакер использует утилиту Mimikatz (команда sekurlsa::pth) для атаки Pass-the-Hash, в журнале Security генерируется специфическая пара событий: 4624 (с Logon Type 9) и сразу за ним 4648. При этом в событии 4648 в поле Process Name может быть указан странный процесс, а целевой сервер (Target Server) будет localhost.
Сценарий 3: Решение проблемы заблокированных учеток (Account Lockout)
Если сервисная учетная запись постоянно блокируется (событие 4740), событие 4648 поможет найти процесс, который хранит старый пароль. Проверьте поле Process Name. Если там svchost.exe, ищите старый пароль в 'Планировщике заданий'. Если там dllhost.exe — в компонентах COM+.
Типовые ошибки администраторов
- Путаница 4648 и 4624: 4648 фиксирует только ПОПЫТКУ использования данных (сам факт вызова API). Оно не гарантирует, что вход был успешным. Всегда сверяйте 4648 с последующим 4624 (Success) или 4625 (Failure).
Отсутствие контроля 'явных учетных данных' ведет к кражам коммерческой тайны инсайдерами. Возьмем инфраструктуру на аутсорсинг: внедрим систему контроля привилегий (PAM), запретим кэширование паролей в LSASS и настроим прозрачный SIEM-аудит.
Частые вопросы (FAQ)
Почему 4648 массово генерируется контроллерами домена?
Системные процессы AD (например, репликация KCC или служба времени) регулярно обращаются друг к другу, явно передавая учетные данные машинного аккаунта (DC01$). Это штатный системный шум.
Указывает ли 4648, какой пароль был введен?
Нет. Операционная система Windows никогда не сохраняет пароли в открытом виде в журнал событий безопасности. Вы увидите только логин (Target Account).
Чем 4648 отличается от Logon Type 5 (Service)?
Logon Type 5 (в событии 4624) фиксирует старт фоновой службы. 4648 генерируется, если эта фоновая служба в процессе своей работы решила подключиться к ДРУГОМУ серверу, явно указав логин/пароль.
Генерируется ли 4648 при подключении по RDP?
Да, если вы запускаете mstsc.exe и в окне ввода пароля вводите данные учетной записи, отличной от той, под которой вы сидите за своим физическим компьютером.
Как отключить аудит 4648?
Событие относится к категории 'Аудит входа в систему' (Audit Logon). Отключать его категорически не рекомендуется, так как вы потеряете 80% видимости ИБ. Лучше фильтровать спам на стороне коллектора логов (WEF/Winlogbeat).