Event ID 4661: Запрошен дескриптор объекта (SAM / Active Directory)
Архитектура дескрипторов (Handles) и аудит объектов
Событие 4661 логируется в журнале Security, когда пользователь или процесс запрашивает дескриптор (Handle) для доступа к системному объекту (например, базе SAM, объектам Active Directory или RPC-интерфейсам). Дескриптор — это программный "пропуск", который ядро Windows выдает процессу для работы с защищенным объектом. В отличие от 4663 (аудит файлов), 4661 специализируется на внутренних объектах ОС.
Типы объектов (Object Type)
| Тип объекта в логе | Критичность для ИБ |
|---|---|
| SAM_SERVER | Критическая! Попытка обращения к диспетчеру учетных записей. Прямой признак попытки сдампить хэши локальных паролей (Mimikatz). |
| SAM_DOMAIN / SAM_USER | Высокая. Чтение свойств конкретных учеток. |
| DS_OBJECT | Средняя. Запрос доступа к объектам Active Directory. (Часто пересекается с событием 4662). |
Пошаговое дерево решений (Поиск атак на SAM)
Сценарий 1: Обнаружение дампа паролей (SAM Dump / DCSync)
Самая опасная угроза — когда хакер пытается скопировать хэши NTLM из памяти сервера (LSA) или реестра (SAM). Утилиты вроде Mimikatz, pwdump или скрипты Invoke-NinjaCopy запрашивают дескриптор с масками доступа, характерными для полного чтения.
Скрипт поиска обращений к SAM (PowerShell):# Ищем запросы к базе SAM от несистемных учетных записей
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4661; StartTime=(Get-Date).AddDays(-1)} |
Where-Object {$_.Properties[5].Value -eq 'SAM_SERVER' -and $_.Properties[1].Value -notmatch 'SYSTEM|\$'} |
Select-Object TimeCreated,
@{N='User';E={$_.Properties[1].Value}},
@{N='Process';E={$_.Properties[11].Value}},
@{N='AccessMask';E={$_.Properties[8].Value}} | Format-Table -AutoSizeЕсли вы видите маску доступа 0x2000000 (MAXIMUM_ALLOWED) к объекту SAM_SERVER от имени обычного пользователя (даже локального админа) — сервер скомпрометирован.
Сценарий 2: Защита базы SAM и LSASS
Чтобы событие 4661 не превратилось в успешную кражу (Event 4662), необходимо защитить память.
- Включите Credential Guard в Windows Defender.
- В реестре активируйте защиту LSA (RunAsPPL):
HKLM\SYSTEM\CurrentControlSet\Control\Lsa->RunAsPPL = 1 (DWORD). - Настройте Sysmon (Event ID 10) для мониторинга прямого доступа к памяти процесса lsass.exe.
Типовые ошибки администраторов
- Отключение SAM аудита: Аудит объектов SAM отключен в Windows по умолчанию. Вы обязаны включить его через GPO: Advanced Audit Policy Configuration -> Object Access -> Audit SAM (Success and Failure). Без этого события 4661 не будет.
Дампинг LSASS и базы SAM — это первый шаг при атаках Ransomware. Возьмем вашу ИТ-инфраструктуру на системное обслуживание: настроим хардкорные политики аудита (Advanced Audit), развернем EDR-агенты, включим Credential Guard и защитим Tier-0 ресурсы.
Частые вопросы (FAQ)
Почему 4661 спамит от имени процесса svchost.exe?
Легитимные службы Windows (Netlogon, RPC) постоянно запрашивают дескрипторы к базе SAM для проверки локальных учеток. Исключайте из мониторинга события, где SubjectUser равен 'SYSTEM', а процесс — системный.
В чем отличие 4661 от 4662?
4661 (Handle Requested) фиксирует сам факт ЗАПРОСА 'пропуска' к объекту. 4662 (Operation Performed) фиксирует фактическое ИСПОЛЬЗОВАНИЕ этого пропуска для изменения объекта. Для базы SAM используется 4661, для базы AD — 4662.
Что означает Access Mask 0x20019 в событии 4661?
Это маска 'SAM_USER_CHANGE_PASSWORD | SAM_USER_SET_PASSWORD'. Означает, что процесс запросил права на смену или установку пароля учетной записи.
Генерируется ли 4661 при копировании файла ntds.dit?
Копирование физического файла базы AD генерирует событие 4663 (FileSystem) или 4674 (Privilege Use - SeBackupPrivilege). 4661 работает с логическими объектами ОС в памяти.
Как по процессу в 4661 понять, что это Mimikatz?
Часто в поле ProcessName указан 'mimikatz.exe'. Но хакеры переименовывают файлы. Смотрите на Access Mask: если запрашивается избыточный доступ (0x2000000 - MAXIMUM_ALLOWED) к SAM_SERVER, это подозрительно для любого процесса.