
Содержание
1. Что такое Windows Registry Forensics
2. Основы архитектуры Реестра Windows
3. Ключи для поиска автозагрузки и закрепления (Persistence)
4. Ключи для отслеживания запуска программ (Execution)
5. Ключи для анализа подключенных устройств и USB
6. Ключи для анализа сетевых подключений и RDP
7. Ключи пользовательской активности и файловой истории
8. Ключи служб, задач и системных настроек
9. Продвинутые техники и Anti-Forensics
10. Инструменты для работы с Реестром
11. Безопасность и этика изъятия данных
12. Практические примеры использования
13. Часто задаваемые вопросы
14. Заключение
Что такое Windows Registry Forensics
Windows Registry Forensics — это раздел компьютерной криминалистики (Digital Forensics), посвященный анализу реестра Windows для восстановления истории действий пользователя, выявления вредоносного ПО и расследования инцидентов информационной безопасности. Реестр — это центральная иерархическая база данных, которая хранит настройки ОС, профилей пользователей и установленных приложений.
Почему Реестр критически важен для DFIR
Анализ реестра позволяет следователю:
- Обнаружить факты запуска вредоносных программ (даже если сами файлы были удалены).
- Выявить механизмы закрепления (persistence) хакеров в системе.
- Определить факт подключения внешних носителей (USB) и копирования данных.
- Восстановить таймлайн (хронологию) действий злоумышленника.
- Найти следы сетевых подключений и RDP-сессий.
История вопроса
Реестр был впервые представлен в Windows 95 и Windows NT, заменив собой разрозненные INI-файлы. С тех пор он стал главным «черным ящиком» операционной системы. Для криминалистов он представляет такую же ценность, как логи для сетевых аналитиков, потому что Windows автоматически записывает в него метаданные практически о любом значимом действии.Основы архитектуры Реестра Windows
Основные кусты (Hives) и их файлы
| Куст (Hive) | Файл на диске | Описание и forensic-ценность |
|---|---|---|
| `HKLM\SAM` | `C:\Windows\System32\config\SAM` | Хранит данные локальных пользователей, хэши паролей, время последнего входа. |
| `HKLM\SECURITY` | `C:\Windows\System32\config\SECURITY` | Политики безопасности, секреты LSA (могут содержать ключи в открытом виде). |
| `HKLM\SOFTWARE` | `C:\Windows\System32\config\SOFTWARE` | Настройки ОС, установленного софта, история обновлений, ключи автозагрузки. |
| `HKLM\SYSTEM` | `C:\Windows\System32\config\SYSTEM` | Настройки оборудования, служб, драйверов, информация о USB и сети. |
| `HKU\NTUSER.DAT` | `C:\Users\<User>\NTUSER.DAT` | Пользовательские настройки, история запуска (UserAssist), недавние документы. |
Базовые инструменты доступа
- regedit.exe — графический редактор (только для live-системы, меняет временные метки!).- reg query — консольная утилита для экспорта ключей.
- Offline parsing — загрузка кустов в специализированный софт без изменения оригинальных файлов.
Ключи для поиска автозагрузки и закрепления (Persistence)
Стандартные Run-ключи
1. `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run` (Автозагрузка для всех пользователей)2. `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce` (Однократный запуск)
3. `HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run` (Автозагрузка для текущего юзера)
4. `HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce` (Однократный запуск для юзера)
5. `HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run` (Для 32-битных приложений на x64)
Системное закрепление (Winlogon и Services)
6. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell` (Должен быть только `explorer.exe`)7. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit` (Проверка на приписанные бэкдоры)
8. `HKLM\SYSTEM\CurrentControlSet\Services\\ImagePath` (Пути к исполняемым файлам служб)
9. `HKLM\SYSTEM\CurrentControlSet\Services\\Start` (Тип запуска: 2=Auto, 3=Manual)
10. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree` (Планировщик задач)
Ключи для отслеживания запуска программ (Execution)
Артефакты выполнения (Execution Artifacts)
11. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist` (История запуска GUI-приложений, зашифровано ROT13)12. `HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache` (ShimCache: факт запуска и путь к файлу)
13. `HKLM\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings` (BAM/DAM: время последнего выполнения для служб)
14. `HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache` (Пути к исполняемым файлам и их описания)
15. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store` (CAS: факт запуска и путь)
История команд и PowerShell
16. `HKCU\Software\Microsoft\Command Processor\Authoring` (История команд cmd.exe)17. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU` (История окна «Выполнить» Win+R)
18. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths` (Пути, введенные в адресную строку Explorer)
19. `HKCU\Software\Microsoft\Windows\PowerShell\PSReadLine` (История команд PowerShell, если включен PSReadLine)
20. `HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell` (Политики выполнения скриптов)
Ключи для анализа подключенных устройств и USB
Идентификация устройств
21. `HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR` (Список всех подключавшихся USB-накопителей, Vendor, Product, Rev)22. `HKLM\SYSTEM\CurrentControlSet\Enum\USB` (Список USB-устройств, включая VID и PID)
23. `HKLM\SYSTEM\MountedDevices` (Привязка дисков к буквам, сигнатуры томов USB)
24. `HKLM\SYSTEM\CurrentControlSet\Enum\USB\VID_...&PID_...` (Время первого и последнего подключения устройства)
Точки монтирования и доступ к файлам
25. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2` (Факт открытия корневой директории USB/сети)26. `HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}` (История подключений объемных устройств)
27. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.exe` (Недавно запущенные файлы, в т.ч. с внешних носителей)
28. `HKLM\SOFTWARE\Microsoft\Windows Portable Devices\Devices` (Подключенные MTP-устройства, смартфоны)
Ключи для анализа сетевых подключений и RDP
Сетевые профили и подключения
29. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged` (Имена Wi-Fi сетей и MAC-адреса точек доступа)30. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed` (Сетевые профили домена)
31. `HKCU\Software\Microsoft\Terminal Server Client\Servers` (История RDP-подключений к удаленным серверам)
32. `HKCU\Software\Microsoft\Terminal Server Client\Default` (Список IP-адресов из окна подключения RDP)
Сетевые настройки и проксирование
33. `HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules` (Правила брандмауэра)34. `HKLM\SYSTEM\CurrentControlSet\Services\PortProxy\netsh\parameters` (Настройки перенаправления портов, часто используется хакерами)
35. `HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections` (Настройки прокси-серверов)
36. `HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces` (Настройки IP-адресов, DHCP, DNS для всех адаптеров)
Ключи пользовательской активности и файловой истории
Работа с документами и файлами
37. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` (Список всех недавно открытых файлов всех типов)38. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.pdf` (Недавно открытые PDF-файлы)
39. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery` (Поисковые запросы, введенные в меню Пуск)
40. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU` (История сохранения/открытия файлов в диалоговых окнах)
41. `HKCU\Software\Microsoft\Office\16.0\Excel\Security\Trusted Documents` (Документы, для которых включены макросы)
Буфер обмена и скриншоты
42. `HKCU\Software\Microsoft\Clipboard` (Содержимое буфера обмена, если включено облачное)43. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced` (Настройки скрытых файлов, расширений, Cortana)
44. `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState` (Настройки проводника, путь последней папки)
Ключи служб, задач и системных настроек
Системная информация и время
45. `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion` (Версия ОС, Build, время установки - `InstallDate`)46. `HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName` (Имя компьютера, полезно при анализе сети)
47. `HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation` (Часовой пояс, `ActiveTimeBias` для точного расчета времени)
48. `HKLM\SYSTEM\CurrentControlSet\Control\CrashControl` (Настройки дампов памяти при BSOD, путь к файлу Memory.dmp)
Защита и аудит
49. `HKLM\SYSTEM\CurrentControlSet\Control\Lsa` (Настройки аутентификации, LAPS, отключен ли NTLM)50. `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System` (Настройки UAC, `EnableLUA`)
51. `HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU` (Настройки автоматического обновления)
52. `HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest` (Если UseLogonCredential=1, пароли в RAM, уязвимость к Mimikatz)
Продвинутые техники и Anti-Forensics
Анализ удаленных ключей и транзакций
Реестр не просто удаляет данные, он помечает пространство как свободное.- Unallocated Space в кустах: С помощью инструментов (например, Registry Explorer) можно найти «призрачные» ключи, которые были удалены злоумышленником.
- Transaction Logs (LOG1, LOG2): Файлы журналов транзакций лежат рядом с кустами. Они содержат незафиксированные или откатанные изменения, что позволяет восстановить удаленные значения.
Обход Anti-Forensics
Злоумышленники пытаются очистить следы:1. Очистка UserAssist/Bam: Делается через `reg delete` или утилиты типа CCleaner. *Решение:* Искать артефакты в файлах журнала (EVTX) или в ShimCache, который очищается гораздо реже.
2. Timestomping (Подмена времени): Изменение LastWriteTime ключа реестра. *Решение:* Сравнивать время модификации ключа с временем создания файлов, на которые он ссылается.
3. Использование "Living off the Land" (LotL): Хакеры используют легитимные ключи (например, добавляя свой DLL в `Winlogon\Notify`). *Решение:* Сравнение текущих значений с базовыми эталонными снимками (Baseline).
Инструменты для работы с Реестром
Десктопные и CLI инструменты (Must Have)
- Registry Explorer (Eric Zimmerman) — лучший инструмент для оффлайн-парсинга, поиска по ключам и работы с удаленными записями.- RegRipper (Harlan Carvey) — CLI/Perl скрипт, который извлекает артефакты из кустов и выводит их в читаемом виде (плагины).
- AutoRuns (Sysinternals) — идеален для live-системы, показывает все точки автозагрузки в удобном GUI.
- KAPE (Kroll Artifact Parser and Extractor) — автоматизирует сбор и парсинг реестра (использует Target/Module файлы).
- RECmd (Eric Zimmerman) — консольный аналог Registry Explorer для массового парсинга и создания кастомных batch-файлов.
Онлайн и облачные решения
- Magnet AXIOM / X-Ways Forensics — коммерческие комбайны, имеющие мощные встроенные парсеры реестра.- Autopsy — бесплатный комбайн с базовыми модулями парсинга артефактов реестра (UserAssist, USB).
Безопасность и этика изъятия данных
Законные применения
- Corporate Incident Response — расследование инцидентов внутри корпоративной сети.- Law Enforcement — сбор цифровых улики по решению суда.
- Malware Analysis — анализ поведения вредоносного ПО в изолированной среде.
- IT Auditing — проверка соответствия конфигураций стандартам безопасности (CIS Benchmarks).
Запрещенные действия и риски
- Изменение оригинала: Открытие куста в `regedit` на живой системе меняет ключ `LastWrite` и может затереть улики.- Нарушение Chain of Custody: Изъятие файлов без хэширования (MD5/SHA256) делает улики недействительными в суде.
- Вмешательство в чужие системы: Анализ реестра на системах, не принадлежащих вам, без письменного согласия.
Лучшие практики (White-Hat Guidelines)
- Всегда работайте с копией куста реестра, а не с оригиналом.- Используйте write-blockers (аппаратные или программные) при снятии образа диска.
- Фиксируйте хэш-суммы до и после анализа.
- Для live-систем используйте специализированные скрипты (например, KAPE или IR-_triage), которые минимизируют footprint.
Практические примеры использования
Сценарий 1: Поиск Patient Zero при Ransomware-атаке
Задача: Понять, как именно малварь попала в систему и закрепилась.Действия:
1. Проверяем `AppCompatCache` (ShimCache) и `Bam` для поиска времени запуска исполняемого файла-шифровальщика.
2. Анализируем `Winlogon\Userinit` и `Run` ключи на предмет добавления новых путей.
3. Смотрим `UserAssist`, чтобы узнать, не запускал ли пользователь фишинговый документ вручную.
Сценарий 2: Расследование утечки данных через USB
Задача: Доказать, что сотрудник копировал файлы на флешку.Действия:
1. Идем в `USBSTOR` и `MountedDevices`, чтобы найти факт подключения конкретного устройства (по Serial Number).
2. Проверяем `MountPoints2`, чтобы подтвердить, что пользователь открывал корневую директорию флешки.
3. Анализируем `RecentDocs` и `ShellBags` (в NTUSER.DAT), чтобы найти факт открытия конкретных конфиденциальных папок.
Сценарий 3: Обнаружение скрытого RDP-доступа (Lateral Movement)
Задача: Найти следы перемещения хакера по сети.Действия:
1. Изучаем `Terminal Server Client\Servers` в NTUSER.DAT администратора, чтобы найти IP-адреса, к которым подключались.
2. Проверяем `NetworkList\Signatures\Unmanaged` для понимания, к каким Wi-Fi сетям подключался ноутбук.
3. Анализируем `PortProxy`, чтобы не пропустить скрытое перенаправление портов для обхода firewall.
Часто задаваемые вопросы
Основы и парсинг
Почему нельзя просто открыть regedit на зараженной машине?Потому что при открытии ключа Windows обновляет метку времени `LastWrite`. Это исказит таймлайн и может уничтожить доказательства в суде. Всегда копируйте файлы кустов или используйте оффлайн-парсеры.
Где лежат файлы кустов реестра?
В `C:\Windows\System32\config\` (для HKLM) и в корне профиля пользователя `C:\Users\\NTUSER.DAT` (для HKCU). Также есть файлы `UsrClass.dat` в `AppData\Local\Microsoft\Windows`.
Как прочитать UserAssist, если он зашифрован?
UserAssist использует простое шифрование ROT13. Вам не нужно расшифровывать его вручную. Инструменты вроде Registry Explorer или плагины RegRipper делают это автоматически и показывают читаемые пути и счетчики запусков.
Технические нюансы
Почему ShimCache (AppCompatCache) важнее, чем UserAssist?UserAssist записывает только запуск GUI-приложений. ShimCache записывает факт существования и запуска *любого* PE-файла (включая консольные утилиты и сервисы), даже если он не был успешно выполнен. Это делает его критичным для поиска малвари.
Как найти удаленные ключи реестра?
Когда ключ удаляется, его данные не стираются с диска мгновенно, а помечаются как свободное место. С помощью Registry Explorer можно включить опцию "Show deleted data" и просматривать "unallocated" пространство внутри файла куста.
Что делать, если хакер очистил реестр через CCleaner?
CCleaner чистит только известные ему ключи (историю, кэш). Он не трогает ShimCache, BAM, журналы транзакций (LOG1/LOG2) и события Windows (EVTX). Всегда используйте комплексный подход.
Заключение
Реестр Windows — это не просто база настроек, а детальная летопись жизни операционной системы. Для DFIR-специалиста, пентестера и аналитика SOC умение читать реестр отделяет поверхностный осмотр от глубокого расследования. Эта шпаргалка покрывает более 50 критически важных ключей, которые закрывают 90% рутинных задач при Incident Response.
Ключевые takeaways:
- Всегда работайте оффлайн: Никогда не анализируйте оригинальные кусты живой системы в regedit.- Комбинируйте артефакты: Один ключ (например, USBSTOR) показывает факт подключения, но только связка с MountPoints2 и RecentDocs доказывает кражу данных.
- Помните про LOG-файлы: Транзакционные журналы реестра — ваш главный инструмент против Anti-Forensics.
- Автоматизируйте рутину: Используйте KAPE и RegRipper для быстрого сбора и парсинга, а Registry Explorer — для глубокого ручного анализа.
Рекомендации по использованию:
1. Создайте свой собственный «эталонный» дамп реестра чистой Windows 10/11 для сравнения.2. Изучите структуру бинарного формата кустов (Hive format), чтобы понимать, как софт восстанавливает удаленное.
3. Тренируйтесь на виртуальных машинах: infect -> analyze -> clean -> repeat.
4. Ведите собственную базу находок — реестр огромен, и новые артефакты появляются с каждым обновлением Windows.
Помните, что реестр никогда не врет, но он требует правильного перевода. Используйте эти знания для восстановления справедливости и защиты инфраструктуры.
⚠️ Дисклеймер: Статья носит исключительно информационно-образовательный характер. Все описанные методы и инструменты предназначены для расследования инцидентов на собственных системах, в корпоративной среде при наличии разрешения, или в рамках law enforcement деятельности. Несанкционированный доступ к компьютерной информации и сбор данных без согласия владельца преследуются по закону (в РФ — ст. 272, 273, 274 УК РФ).