Реестр Windows

Центральная база данных конфигурации Windows — критически важный компонент для понимания кибербезопасности

🗂️ Интерактивная структура реестра

Исследуйте иерархию реестра в интерактивном режиме. Кликайте на разделы для раскрытия, используйте поиск для быстрого нахождения ключей.

▶ 📁 КОРЕНЬ РЕЕСТРА
▶ 📦 HKEY_CLASSES_ROOT (HKCR)
.txt → txtfile
.exe → exefile
▶ 📄 txtfile
📂 shell\
🖼️ DefaultIcon
🔧 CLSID\ — COM-объекты
▶ 👤 HKEY_CURRENT_USER (HKCU)
▶ 📦 Software\
▶ 🏢 Microsoft\
▶ 🪟 Windows\
▶ 📌 CurrentVersion\
🚀 Run — Автозагрузка
1️⃣ RunOnce
📁 Explorer\
🌐 Internet Settings
🎛️ Control Panel\
🔊 AppEvents\
⚙️ Environment
▶ 💻 HKEY_LOCAL_MACHINE (HKLM)
▶ ⚙️ SYSTEM\
▶ 📋 CurrentControlSet\
🔴 Services\ — Службы (критично!)
🎮 Control\
🔌 Hardware Profiles\
💾 MountPoints\
▶ 📦 SOFTWARE\
▶ 🏢 Microsoft\
▶ 🪟 Windows\
▶ 📌 CurrentVersion\
🚀 Run — Автозагрузка (все пользователи)
🗑️ Uninstall\
📜 Policies\
🛡️ Windows Defender\
🔒 SECURITY\ — Политики безопасности
🔑 SAM\ — Учетные записи (критично!)
🖥️ HARDWARE\
▶ 👥 HKEY_USERS (HKU)
🆕 .DEFAULT
🆔 S-1-5-21-... — SID пользователя
📎 .Classes
▶ 🔧 HKEY_CURRENT_CONFIG (HKCC)
⚙️ System\
📦 Software\

📊 Условные обозначения

HKCR — Классы
HKCU — Пользователь
HKLM — Система
HKU — Все пользователи
HKCC — Конфигурация
📂 Раздел
📄 Параметр

Что такое реестр Windows?

Реестр Windows — это иерархическая база данных, хранящая настройки и параметры операционной системы Windows, установленных программ, оборудования и пользовательских предпочтений.

💡 Важно знать

Реестр появился в Windows 3.1 и стал фундаментальным компонентом всех последующих версий Windows. Понимание его структуры критически важно для специалистов по кибербезопасности.

Для чего используется реестр?

Область применения Описание
Конфигурация системы Хранение параметров загрузки, драйверов, служб
Настройки программ Параметры установленных приложений
Пользовательские настройки Персонализация, переменные среды, история
Аппаратное обеспечение Информация о устройствах и драйверах
Безопасность Политики, права доступа, учетные данные

Типы данных реестра

REG_SZ

Строка Unicode с текстовыми данными

"C:\Windows\System32"

REG_DWORD

32-битное число (0 или 1 для булевых значений)

0x00000001 (1)

REG_QWORD

64-битное число для больших значений

0x0000000000000001

REG_BINARY

Двоичные данные (ключи, хеши)

0A 3F B2 C4 00 FF

REG_MULTI_SZ

Многострочный текст (массив строк)

PATH1\0PATH2\0PATH3

REG_EXPAND_SZ

Строка с переменными среды

%SystemRoot%\system32

Физическое расположение файлов реестра

Файлы реестра (hive files) хранятся на диске в папке C:\Windows\System32\config\. Каждый корневой ключ (кроме HKCU) — это отдельный файл:

Корневой ключ Файл на диске Полный путь Описание
HKLM\SYSTEM SYSTEM C:\Windows\System32\config\SYSTEM Параметры загрузки, драйверы, контрольные точки
HKLM\SOFTWARE SOFTWARE C:\Windows\System32\config\SOFTWARE Настройки ПО для всех пользователей
HKLM\SAM SAM C:\Windows\System32\config\SAM База учётных записей (Security Account Manager)
HKLM\SECURITY SECURITY C:\Windows\System32\config\SECURITY Политики безопасности, хеши паролей
HKCC SYSTEM C:\Windows\System32\config\SYSTEM Текущая аппаратная конфигурация (ссылка на SYSTEM)
HKCU NTUSER.DAT C:\Users\<用户名>\NTUSER.DAT Персональные настройки каждого пользователя
HKCR — Виртуальный (HKLM\SOFTWARE\Classes + HKCU\Software\Classes) Ассоциации файлов (объединение двух ключей)
⚠️ Резервные копии

Windows хранит резервные копии hive-файлов в папке C:\Windows\System32\config\RegBack\ (начиная с Windows 10 1803 отключено по умолчанию). Также копии можно найти в Точках восстановления и Резервном копировании Windows.

Команды для работы с реестром

# Открыть редактор реестра
regedit.exe

# Консольное управление
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
reg add "HKCU\Software\MyApp" /v Setting /t REG_SZ /d "value"
reg delete "HKCU\Software\MyApp" /v Setting /f

# Экспорт/импорт (.reg файлы)
reg export HKLM\SOFTWARE\MyApp C:\backup\app.reg
reg import C:\backup\app.reg

# Сохранение hive-файла (форензика)
reg save HKLM\SAM C:\temp\sam.hive
reg save HKLM\SYSTEM C:\temp\system.hive

# PowerShell
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Set-ItemProperty "HKCU:\Software\MyApp" -Name "Setting" -Value "value"

Реестр и безопасность

⚠️ Критическая важность для безопасности

Реестр содержит конфиденциальную информацию: хеши паролей, ключи шифрования, токены аутентификации, историю подключений и настройки безопасности. Компрометация реестра = полный контроль над системой.

Критические разделы реестра для безопасности

🔑 HKLM\SYSTEM\CurrentControlSet\Services

Содержит конфигурацию всех служб Windows. Злоумышленники могут:

  • Добавить вредоносную службу для персистентности
  • Отключить антивирус или брандмауэр
  • Изменить параметры существующих служб

🔑 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Ключи автозагрузки. Позволяет программам запускаться при старте системы. Частая цель для малвари.

🔑 HKLM\SAM

Security Accounts Manager — хранит хеши паролей локальных пользователей. Доступ только у SYSTEM.

🔑 HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Настройки прокси, кэш, история браузера. Может использоваться для перехвата трафика.

🛡️ Лучшие практики защиты реестра

  • Минимальные привилегии: Ограничьте доступ к реестру через ACL
  • Мониторинг: Используйте Audit Policy для отслеживания изменений
  • Резервное копирование: Регулярно создавайте точки восстановления
  • Целостность: Применяйте Windows File Protection и SFC
  • Шифрование: Включите BitLocker для защиты файлов реестра на диске

Векторы атак через реестр

1. Персистентность (Persistence)

Злоумышленники используют реестр для обеспечения постоянного доступа к системе:

# Добавление в автозагрузку через Run key
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Malware /t REG_SZ /d "C:\malware.exe"

# Добавление через RunOnce (выполнится один раз)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v Update /t REG_SZ /d "C:\update.exe"

# Использование ключей Winlogon
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /t REG_SZ /d "C:\Windows\system32\userinit.exe,C:\malware.exe"

2. Обход UAC (User Account Control)

Манипуляции с реестром для повышения привилегий:

# Отключение UAC через реестр
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f

3. Отключение защитных механизмов

# Отключение Защитника Windows
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f

# Отключение брандмауэра
reg add "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v EnableFirewall /t REG_DWORD /d 0 /f

# Отключение SmartScreen
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 0 /f

4. Кража учетных данных

Доступ к SAM и SECURITY hive для извлечения хешей паролей:

# Копирование SAM (требует SYSTEM)
reg save HKLM\SAM C:\temp\sam.hive
reg save HKLM\SYSTEM C:\temp\system.hive

# Использование Mimikatz для извлечения паролей
mimikatz # lsadump::sam
mimikatz # lsadump::secrets

5. DLL Hijacking через реестр

# Изменение путей поиска DLL
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v SafeDllSearchMode /t REG_DWORD /d 0 /f
🔍 Обнаружение атак

Используйте Sysmon, Windows Event Log (особенно события 4657 — изменение реестра) и SIEM-системы для мониторинга подозрительной активности реестра.

Защита и мониторинг реестра

Включение аудита реестра

# Включение аудита через групповую политику
gpedit.msc
# Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита
# Включить: "Аудит доступа к глобальным объектам системы"

# Аудит через командную строку
auditpol /set /subcategory:"Registry" /success:enable /failure:enable

Ключевые события безопасности реестра

ID события Описание
4657 Изменение значения реестра
4658 Закрытие дескриптора объекта реестра
4660 Удаление объекта
4670 Изменение разрешений объекта
5039 Изменение ключа реестра (резервное копирование)

Инструменты для работы с реестром

🔧 Легитимные инструменты

  • regedit.exe — графический редактор реестра
  • reg.exe — консольная утилита для работы с реестром
  • PowerShell — cmdlets: Get-ItemProperty, Set-ItemProperty, New-Item, Remove-Item
  • Process Monitor — мониторинг доступа к реестру в реальном времени
  • Sysmon — расширенное логирование событий реестра

PowerShell для мониторинга

# Просмотр изменений в автозагрузке
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

# Мониторинг изменений реестра через WMI
Register-WmiEvent -Query "SELECT * FROM RegistryTreeChangeEvent WHERE RootKey='HKEY_LOCAL_MACHINE' AND KeyPath='SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'" -Action { Write-Host "Registry changed!" }

# Экспорт ключа для анализа
Export-RegistryKey -Path "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -File "C:\temp\run_keys.reg"
📋 Контрольный список защиты
  • ✅ Включить аудит изменений реестра
  • ✅ Ограничить доступ к критическим ключам через ACL
  • ✅ Регулярно проверять ключи автозагрузки
  • ✅ Использовать Sysmon для детального логирования
  • ✅ Настроить алерты на подозрительные изменения
  • ✅ Хранить резервные копии реестра
  • ✅ Применять принцип минимальных привилегий