Изображение


Содержание


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 УК РФ).