1. Архитектура безопасности Windows: LSASS, SAM, реестр и логи событий
Архитектура безопасности Windows: LSASS, SAM, реестр и логи событий
Безопасность операционной системы Windows — это не абстрактное понятие, а совокупность конкретных процессов, файлов и записей в реестре. Чтобы защищать инфраструктуру или проводить тестирование на проникновение, необходимо понимать, где именно система хранит секреты, как она проверяет пользователей и какие следы оставляет после этих действий.
В этой статье мы разберем четыре фундаментальных компонента: процесс LSASS, базу SAM, критические ветки реестра и систему журналирования событий.
1. LSASS: Хранилище секретов в оперативной памяти
LSASS (Local Security Authority Subsystem Service) — это процесс lsass.exe, который является «сердцем» аутентификации в Windows. Когда вы вводите пароль при входе в систему, именно LSASS проверяет его правильность, создает токены доступа и обеспечивает работу принципа единого входа (SSO — Single Sign-On).
Почему LSASS критичен?
Чтобы пользователю не приходилось вводить пароль каждый раз при доступе к сетевой папке или принтеру, LSASS хранит необходимые учетные данные в оперативной памяти. В зависимости от версии Windows и настроек, в памяти процесса могут находиться:* NT-хеши паролей (используются для протокола NTLM). * Kerberos тикеты (TGT и TGS). * LM-хеши (в очень старых системах). * Пароли в открытом виде (если активен WDigest или CredSSP).
Вектор атаки: Credential Dumping
Поскольку секреты лежат в памяти, процессlsass.exe становится главной целью злоумышленников после получения прав локального администратора. Самый известный инструмент для извлечения этих данных — Mimikatz.Атака обычно выглядит так:
lsass.exe.Согласно habr.com, существуют разные методы создания дампа памяти LSASS, от использования диспетчера задач до утилиты Procdump или вызова comsvcs.dll. Современные антивирусы (EDR) активно следят за попытками доступа к памяти этого процесса.
Защита LSASS
Microsoft внедрила механизмы защиты, такие как RunAsPPL (Protected Process Light) и Credential Guard (использует виртуализацию для изоляции секретов). Однако в базовых конфигурациях старых систем эти функции могут быть отключены.2. SAM: Локальная база учетных записей
Если компьютер не подключен к домену или если мы говорим о локальных администраторах, то их учетные данные хранятся в базе SAM (Security Accounts Manager).
* Расположение на диске: C:\Windows\System32\config\SAM
* Расположение в реестре: HKLM\SAM
Файл SAM заблокирован для чтения, пока операционная система работает. Вы не можете просто скопировать его проводником. Внутри SAM хранятся имена пользователей и их NT-хеши (хеш пароля). Сами пароли в открытом виде там не лежат.
Извлечение данных из SAM
Злоумышленники используют обходные пути для получения содержимого этой базы:reg.exe позволяет выгрузить ветки реестра в файлы.Пример команд для сохранения веток реестра для последующего офлайн-взлома:
Имея эти файлы, атакующий может извлечь хеши локальных пользователей с помощью инструментов вроде secretsdump.py из пакета Impacket. По данным habr.com, существуют и более новые методы извлечения данных из реестра напрямую из памяти, минуя создание файлов на диске, что усложняет детектирование.
3. Реестр: Ключевые параметры безопасности
Реестр Windows — это не просто настройки интерфейса, это панель управления безопасностью. Основная ветка, отвечающая за параметры LSA (Local Security Authority):
HKLM\SYSTEM\CurrentControlSet\Control\Lsa
Критически важные ключи:
* Security Packages: Список загружаемых пакетов аутентификации (например, kerberos, msv1_0). Внедрение сюда сторонней DLL позволяет злоумышленнику перехватывать пароли при входе.
* RunAsPPL: Если значение установлено в 1, это включает защиту процесса LSASS от чтения памяти неподписанными процессами.
* LimitBlankPasswordUse: Ограничивает использование пустых паролей только консольным входом (удаленно зайти с пустым паролем не получится).
* CrashOnAuditFail: Если этот параметр включен и журнал безопасности переполнен, система принудительно выключится (BSOD), чтобы не допустить действий, которые не могут быть залогированы.
4. Логи событий: Следы активности
В Windows «черным ящиком» является журнал событий, в частности журнал Security (Security.evtx). Анализ логов — единственный способ постфактум узнать, что происходило в системе.
Согласно learn.microsoft.com, расширенные политики аудита позволяют детально настроить, какие именно события будут записываться, чтобы избежать зашумления журнала.
Ключевые Event ID для безопасности
Ниже приведена таблица самых важных событий, которые должен отслеживать любой администратор безопасности или SOC-аналитик.
| Event ID | Описание | На что обратить внимание | | :--- | :--- | :--- | | 4624 | Успешный вход в систему | Поле Logon Type. Тип 2 — локальный вход (клавиатура), Тип 3 — сетевой вход (SMB, доступ к папке), Тип 10 — RDP. | | 4625 | Неудачный вход | Указывает на ошибку пароля или блокировку. Серия таких событий — признак брутфорса. | | 4720 | Создан пользователь | Критично, если создается не в рабочее время или не администратором. | | 4740 | Учетная запись заблокирована | Часто следует за серией событий 4625. Признак активной атаки по словарю. | | 4672 | Вход с правами администратора | Выдается при входе пользователя, входящего в группу локальных администраторов. |
События Kerberos (на контроллере домена)
Для диагностики проблем и атак на протокол Kerberos (например, Kerberoasting) важны следующие события:
* 4768: Запрос тикета TGT (Ticket Granting Ticket). Начало аутентификации. * 4769: Запрос тикета TGS (Ticket Granting Service). Доступ к конкретному сервису. * 4771: Ошибка предварительной аутентификации Kerberos. Аналог 4625 для Kerberos (часто означает неверный пароль).
> События системных журналов в формате EventLog уже имеют некоторую начальную нормализацию и содержат следующие поля: Дата, Категория, Уровень, ID безопасности Windows. > > habr.com
Итоги
HKLM