Где хранится реестр: Файл реестра Windows или где находится реестр Windows

Структура реестра Windows XP. Типы данных. Хранение реестра


WINDXP.COM.RU Настройка и оптимизация операционных систем

На смену ini-файлам, имеющим ряд концептуальных ограничений, еще в Windows 3.1
было введено понятие реестра — регистрационной базы данных, хранящей различные
настройки ОС и приложений. Изначально реестр был предназначен только для
хранения сведений об объектах OLE (Object Linking and Embedding — связь и
внедрение объектов) и сопоставлений приложений расширениям имен файлов, однако
позже его структура и границы использования расширились. Реестры разных версий
Windows имеют различия; это нужно помнить при импорте reg-файлов. В Windows 2000
и XP в архитектуру реестра были введены важные новшества, улучшающие
функциональность данного компонента ОС.

Реестр хранится в бинарном (двоичном)
виде, поэтому для ручной работы с ним необходима специальная программа —
редактор реестра. В XP это Regedit.exe, в других версиях NT ими являются
Regedit.exe и Regedt32.exe, имеющий дополнительные возможности работы с реестром
(Regedt32.exe есть и в XP, но на самом деле он всего лишь вызывает Regedit.exe).
Есть и другие программы, в том числе и консольные (Reg.exe). Ручным
модифицированием параметров реестра мы займемся чуть позже, а сейчас рассмотрим
основные группы сведений, хранящихся в этой базе данных.

  • Программы установки. Любая грамотно написанная программа
    под Windows должна иметь свой инсталлятор-установщик. Это может быть встроенный
    в ОС Microsoft Installer либо любой другой. В любом случае инсталлятор использует
    реестр для хранения своих настроек, позволяя правильно устанавливать и удалять
    приложения, не трогая совместно используемые файлы.
  • Распознаватель. При каждом запуске компьютера программа
    NTDETECT. COM и ядро Windows распознает оборудование и сохраняет эту информацию
    в реестре.
  • Ядро ОС. Хранит много сведений в реестре о своей конфигурации,
    в том числе и данные о порядке загрузки драйверов устройств.
  • Диспетчер PnP (Plug and Play). Абсолютно необходимая вещь
    для большинства пользователей, которая избавляет их от мук по установке
    нового оборудования (не всегда, правда:)). Неудивительно, что он хранит
    свою информацию в реестре.
  • Драйверы устройств. Хранят здесь свои параметры.
  • Административные средства. Например, такие, как Панель
    управления, MMC (Micro-soft Management Console) и др.
  • Пользовательские профили. Это целая группа параметров,
    уникальная для каждого пользователя: настройки графической оболочки, сетевых
    соединений, программ и многое другое.
  • Аппаратные профили. Позволяют создавать несколько конфигураций
    с различным оборудованием.
  • Общие настройки программ. Почему общие? Потому, что у
    каждого пользователя есть профиль, где хранятся его настройки для соответствующей
    программы.

Вот мы и разобрались с предназначением реестра. Теперь обратим свое внимание на логическую структуру реестра. Для лучшего понимания материала рекомендуется запустить Regedit.exe, только ничего пока не трогайте:).

Структура реестра

Первая аналогия, которая приходит в голову при взгляде на реестр в Regedit.exe,
— как похоже на файловую систему! И точно, налицо древовидная структура. Папкам
здесь соответствуют ключи (keys) или разделы (ветви), а файлам — параметры
(values). Разделы могут содержать как вложенные разделы (sub keys), так и
параметры. На верхнем уровне этой иерархии находятся корневые разделы (root
keys). Они перечислены в таблице 1

Таблица 1. Корневые разделы

Тип данныхОписание
REG_BINARYДвоичные данные. Большинство сведений об аппаратных компонентах
хранится в виде двоичных данных и выводится в редакторе реестра
в шестнадцатеричном формате
REG_DWORDДанные, представленные целым числом (4 байта). Многие параметры
служб и драйверов устройств имеют этот тип и отображаются в двоичном,
шестнадцатеричном или десятичном форматах
REG_EXPAND_SZСтрока Unicode переменной длины. Этот тип данных включает переменные,
обрабатываемые программой или службой
REG_MULTI_SZМногострочный текст Unicode. Этот тип, как правило, имеют списки
и другие записи в формате, удобном для чтения. Записи разделяются
пробелами, запятыми или другими символами
REG_SZТекстовая Unicode строка фиксированной длины
REG_DWORD_LITTLE_ENDIAN32-разрядное число в формате «остроконечников» — младший байт
хранится первым в памяти. Эквивалент REG_DWORD
REG_DWORD_BIG_ENDIAN32-разрядное число в формате «тупоконечников» — старший байт
хранится первым в памяти
REG_LINKСимволическая ссылка Unicode. Только для внутреннего использования
(некоторые корневые разделы являются такой ссылкой на другие подразделы)
REG_NONEПараметр не имеет определенного типа данных
REG_QWORD64-разрядное число
REG_QWORD_LITTLE_ENDIAN64-разрядное число в формате «остроконечников». Эквивалент REG_QWORD
REG_RESOURCE_LISTСписок аппаратных ресурсов. Используется только в разделе HKLM\HARDWARE
REG_FULL_RESOURCE_DESCRIPTORДескриптор (описатель) аппаратного ресурса. Применяется только
в HKLM\HARDWARE.
REG_RESOURCE_REQUIREMENTS_LISTСписок необходимых аппаратных ресурсов. Используется только
в HKLM\HARDWARE.

Типы данных

Все параметры реестра имеют фиксированный тип. В таблице 2 я приводится полный
список используемых типов. Не все из них используются в разных версиях NT —
REG_QWORD явно предназначен для 64-битной версии XP. Следует учесть, что ряд
типов используется только системой в некоторых разделах, и создать свой параметр
такого типа с помощью редактора реестра не получится.

Таблица 2. Типы параметров

Тип данныхОписание
REG_BINARY Двоичные данные. Большинство сведений об аппаратных
компонентах хранится в виде двоичных данных и выводится в редакторе
реестра в шестнадцатеричном формате
REG_DWORD Данные, представленные целым числом (4 байта). Многие
параметры служб и драйверов устройств имеют этот тип и отображаются
в двоичном, шестнадцатеричном или десятичном форматах
REG_EXPAND_SZ Строка Unicode переменной длины. Этот тип данных
включает переменные, обрабатываемые программой или службой
REG_MULTI_SZ Многострочный текст Unicode. Этот тип, как правило,
имеют списки и другие записи в формате, удобном для чтения. Записи
разделяются пробелами, запятыми или другими символами
REG_SZ Текстовая Unicode строка фиксированной длины
REG_DWORD_LITTLE_ENDIAN 32-разрядное число в формате «остроконечников» —
младший байт хранится первым в памяти. Эквивалент REG_DWORD
REG_DWORD_BIG_ENDIAN 32-разрядное число в формате «тупоконечников» —
старший байт хранится первым в памяти
REG_LINK Символическая ссылка Unicode. Только для внутреннего
использования (некоторые корневые разделы являются такой ссылкой
на другие подразделы)
REG_NONE Параметр не имеет определенного типа данных
REG_QWORD 64-разрядное число
REG_QWORD_LITTLE_ENDIAN 64-разрядное число в формате «остроконечников».
Эквивалент REG_QWORD
REG_RESOURCE_LIST Список аппаратных ресурсов. Используется только
в разделе HKLM\HARDWARE
REG_FULL_RESOURCE_DESCRIPTOR Дескриптор (описатель) аппаратного ресурса. Применяется
только в HKLM\HARDWARE.
REG_RESOURCE_REQUIREMENTS_LIST Список необходимых аппаратных ресурсов. Используется
только в HKLM\HARDWARE.

Хранение реестра

Элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на
составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске
в виде файлов. Некоторые ульи, такие, как HKLM\HARDWARE, не сохраняются в
файлах, а создаются при каждой загрузке, то есть являются изменяемыми (vola-tile).
При запуске системы реестр собирается из ульев в единую древовидную структуру с
корневыми разделами. Перечислим ульи реестра и их местоположение на диске (для
NT старше версии 4.0) в таблице 3

Таблица 3. Ульи реестра

УлейРасположение
HKLM\SYSTEM %SystemRoot%\system32\config\system
HKLM\SAM %SystemRoot%\system32\config\SAM
HKLM\SECURITY %SystemRoot%\system32\config\SECURITY
HKLM\SOFTWARE %SystemRoot%\system32\config\software
HKLM\HARDWARE Изменяемый улей
HKLM\SYSTEM\Clone Изменяемый улей
HKU\<SID_пользователя> %USERPROFILE%\ntuser.dat
HKU\<SID_пользователя>_Classes %USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\UsrClass. dat
HKU\.DEFAULT %SystemRoot%\system32\config\default

Кроме этих файлов, есть ряд вспомогательных, со следующими расширениями:

  • ALT — резервная копия улья HKLM\SYSTEM (отсутствует в XP).
  • LOG — журнал транзакций, в котором регистрируются все изменения реестра.
  • SAV — копии ульев в том виде, в котором они были после завершения текстовой
    фазы установки.

Дополнительные сведения

Реестр является настоящей базой данных, поэтому в нем используется технология
восстановления, похожая на оную в NTFS. Уже упомянутые LOG-файлы содержат журнал
транзакций, который хранит все изменения. Благодаря этому реализуется
атомарность реестра — то есть в данный момент времени в реестре могут быть либо
старые значения, либо новые, даже после сбоя. Как видим, в отличие от NTFS,
здесь обеспечивается сохранность не только структуры реестра, но и данных. К
тому же, реестр поддерживает такие фишки NTFS, как управление избирательным
доступом и аудит событий — система безопасности пронизывает всю NT снизу
доверху. Да, эти функции доступны только из Regedt32.exe или Regedit.exe для XP.
А еще весь реестр или его отдельные части можно экспортировать в текстовые
reg-файлы (Unicode для Windows 2000 и старше), редактировать их в блокноте, а
затем экспортировать обратно. Во многих редакторах реестра можно подключать
любые доступные ульи реестра, в том числе и на удаленных машинах (при
соответствующих полномочиях). Есть возможность делать резервные копии с помощью
программы NTBackup. И многое другое. Ну, а на сегодня наш маленький ликбез
окончен



Похожие публикации

  • Восстановление реестра. Практическое руководство






Разделы

Дополнительно

Быстро

Разработка


Как сбросить реестр Windows 10 по умолчанию или восстановить из резервной копии

Содержание:

  • Что такое реестр в Windows 10
  • Когда может понадобиться восстановление реестра в Windows 10
  • Как создать собственную резервную копию реестра в Windows 10
  • Автоматическое восстановление реестра при помощи планировщика заданий в Windows 10
  • Ручное восстановление реестра Windows 10 через командную строку
  • Как сбросить реестр в Windows 10 по умолчанию

Системные настройки регулярно корректируются и меняются. Все поправки отмечаются в реестре ОС. Из-за действий пользователя или программ в записях могут возникнуть ошибки, приводящие к замедлениям работы, частым перезагрузкам или «экранам смерти». Сбои не являются необратимыми, Windows способна устранить неисправности. Если реестр не поддается починке, его можно восстановить. На разные случаи предусмотрено несколько вариантов, и при грамотности и терпеливости пользователя система снова заработает в полную силу.

Что такое реестр в Windows 10

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

Все правки ОС собираются в специальном месте

Обратите внимание! Для сравнения: как пользователю проще выполнять что-либо через общий пульт управления, хранящий все возможные команды в одном месте, так и компьютерная система быстрее работает при едином каталоге установок — сохраняет, преобразовывает, удаляет информацию на одном пространстве, тратя на все меньше времени.

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

Изначально реестр был призван ускорить работу Windows и решить проблему долгого подбора настроек среди нескольких массивов данных.

Когда может понадобиться восстановление реестра в Windows 10

Сигналами о значительных неполадках системной базы настроек становятся такие явления, как:

  • слишком долгий запуск ОС;
  • частые синие экраны с пометками на разделы реестра;
  • обнаруживается много вирусов, но их нейтрализация не помогает устранению неполадок;
  • постоянная некорректная работа определенных программ;
  • медленная работа компьютера в целом.

Как открыть редактор реестра в Windows 10

Также нормальной работе реестра могут препятствовать неудачное обновление и невозможность его откатить.

Важно! Если обычные программы по чистке временных файлов не смогли помочь и ситуация становится все хуже, стоит задуматься о восстановлении реестра.

Как создать собственную резервную копию реестра в Windows 10

Восстановление через командную строку Windows 10

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

Обратите внимание! Система фиксирует такие отметки для отката самостоятельно, но пользователя в этом действии не ограничивает. Все действия рекомендуется совершать через запуск от имени администратора.

Редактор реестра

Алгоритм для создания копии проводится через редактор реестра:

  1. Через поиск в панели управления найти программу по названию или имени файла (regedit) и открыть её.
  2. Выделить нужный раздел (или его часть).
  3. Нажать на «Файл» слева сверху и выбрать «Экспорт».
  4. Отметить папку и место для файла-копии и дать имя.
  5. Завершить процесс через «Сохранить».

Важно! Скопировать весь реестр разом программа не всегда позволяет. При таком варианте стоит сделать копию каждого раздела по отдельности.

Через редактор пользователю при необходимости также предстоит выполнить восстановление:

  1. Открыть программу через поиск в меню «Пуск».
  2. Нажать на меню «Файл» и перейти по команде «Импорт».
  3. В поиске файла реестра указать путь к папке, выбрать саму копию и открыть ее.
  4. Согласиться с предупреждениями об изменении (если они появятся).

Возможен иной порядок:

  1. Открыть папку с копией.
  2. Нажать правой кнопкой мыши по файлу-записи и запросить «Слияние».

Обратите внимание! Такой вариант — доступное решение того, как восстановить реестр Windows 10 до состояния, позволяющего вести исправную работу. Если это не помогло, поможет импорт другого раздела или поиск проблемы вне реестра.

Автоматическое восстановление реестра при помощи планировщика заданий в Windows 10

Восстановление виндовс 7 через командную строку

В ОС Windows 10 развиты алгоритмы по самовосстановлению настроек и параметров. На реестр это также распространилось: каждые 10 дней планировщиком заданий сохраняется копия базы данных.

Важно! К файлам нужно обращаться только при уверенности, что на дату их формирования с реестром все было в порядке и при достаточном знании работы системы.

Хранится копия в системной папке RegBack. Путь к ней лежит через диск с файлами ОС: Windows\system32\config.

Папка с резервными файлами

Файлов восстановления 5:

  • DEFAULT отвечает за установку по умолчанию пользовательских настроек;
  • SAM сбрасывает хэш паролей;
  • SECURITY откатывает параметры безопасности;
  • SOFTWARE приводит в безопасное состояние настройки ПО;
  • SYSTEM восстанавливает общие установки системы.

При критичных нарушениях ОС самостоятельно применит их с целью вернуть реестр к оптимальному состоянию. Самостоятельно выполнить действия пользователь не сможет, только через командную консоль.

В поздних версиях раздел RegBack пустой, и сохранение в таких ОС отключено. Пользователям доступно включение этой задачи через командную строку и ручной ввод команды «md %WinDir%\system32\config\MyRegBack & schtasks /create /ru system /sc weekly /st (часы:минуты:секунды) /tn „MyRegIdleBackup“ /tr „cmd /c del /f /q %WinDir%\system32\config\MyRegBack & cd /d %WinDir%\system32\config\MyRegBack & reg save HKLM\SAM SAM & reg save HKLM\SECURITY SECURITY & reg save HKLM\SOFTWARE SOFTWARE & reg save HKLM\SYSTEM SYSTEM & reg save HKU\.DEFAULT DEFAULT“».

Обратите внимание! Впоследствии рядом с папкой RegBack появится MyRegBack, и резервные файлы направятся туда. Это поможет решить вопрос, как восстановить реестр Windows 10 по умолчанию с изначально отключенным сохранением копий.

Ручное восстановление реестра Windows 10 через командную строку

Более сложный вариант, если не помогают резервные копии, или Виндовс не запускается. Для внесения правок через ввод команд предстоит перейти в Windows RE — среду восстановления — RE. Попасть туда, как и в БИОС, предстоит при запуске. В режиме работы ОС переход выполняется через команды:

  1. Пройти путь: «Пуск» — «Параметры» (шестеренка) — «Обновление и безопасность». В списке слева выбрать раздел «Восстановление».
  2. В «Особых вариантах загрузки» запросить «Перезагрузку сейчас».
  3. После перезапуска приступить к «Поиску и устранению неисправностей».
  4. Выбрать «Дополнительные параметры» и открыть командную строку.
  5. После очередного перезапуска выбрать профиль пользователя с правами администратора.

Раздел восстановления в панели параметров

Обратите внимание! Для открытия окна параметров применимо сочетание «Windows + I». Самый короткий метод — вместо переходов сразу в меню «Пуск» зажать «Shift» и щелкнуть на «Перезагрузку», после чего выполнить действия пункта 3.

В случае ошибки при запуске ОС сама предложит перейти в среду восстановления. Если нет, придется перезагрузить ПК с установщиком Виндовс на съемном носителе и сделать запрос самостоятельно.

Новый этап — операции в консоли управления. Для начала нужно разыскать диск с файлами системы:

  1. Ввести команду «diskpart», а затем «list volume».
  2. В списке разделов диска найти букву раздела и нужные пометки, записать или запомнить их.
  3. Написать «exit» и закрыть перечень.

К сведению! Для дополнительной гарантии содержимое раздела просматривается через сочетание «dir (буква раздела): (список папок)». Если он системный, в составе директорий будет папка Windows.

Для продолжения восстановления нужен ввод очередной команды в одну строку «xcopy (буква):\windows\system32\config\regback\ (буква):\windows\system32\config\».

Если резервная копия в папке MyRegBack, вместо «regback» надо вписать ее название.

Восстановление в командной строке

Важно! Если сервис запросит подтверждение, ввести «y» или «а».

Последний шаг — выход. Нужно закрыть командную строку, выйти из механизма восстановления и снова перезагрузить компьютер. Затем проверить успешность процесса и исправление неисправностей.

Как сбросить реестр в Windows 10 по умолчанию

Сам по себе возврат в изначальное состояние системой невозможен, только откат к точке сохранения. При необходимости ОС Windows 10 восстановление реестра выполнит самостоятельно. И его установка до исходного состояния возможна. Проводится она через замену файлов, все файлы реестра нужно заменить аналогичными со стороннего носителя с программой-установщиком Windows или диском Recovery. Результат — чистый Windows Registry, множественные ошибки и «синий экран».

Важно! Все изменения и наработки ОС будут стерты, к большинству разделов и файлов не окажется путей. Применять его стоит при крайнем случае.

Оптимальный сброс реестра до состояния по умолчанию — переустановка всей системы.

Сброс реестра стоит производить только в крайнем случае

Восстановление реестра — крайняя мера. Перед ним нужно опробовать более простые методы — дефрагментацию, очистку от лишних параметров через утилиты в свободном доступе. При этом нет программ, способных исправить все ошибки разом. В лучшем случае идет повтор действий системы при восстановлении, в худшем — приложение-пустышка или вирус.

Манипуляции в командной строке и системных папках требуют времени, подготовки и внимания. Для безопасности достаточно сохранять резервные копии перед серьезными действиями (обновлением, установкой приложений). Этот механизм проще и доступнее.

Автор:


Сергей Алдонин

Как обнаружить и вывести учетные данные из реестра Windows —

Существует несколько методов пост-эксплуатации, которые злоумышленник может использовать для сбора информации и компрометации активов. Одним из таких методов является сброс учетных данных ОС, и некоторые важные области, представляющие интерес, — это реестр Windows и память процесса LSASS. Получив дополнительные учетные данные, злоумышленник может попытаться перемещаться в среде, используя эти учетные данные для компрометации дополнительных систем или служб.

Извлечение информации об учетной записи из реестра Windows

Одним из мест, представляющих особый интерес для злоумышленника, является реестр Windows. Реестр Windows представляет собой набор баз данных, в которых хранятся низкоуровневые параметры конфигурации и параметры приложений. Куст реестра — это раздел реестра, содержащий разделы реестра, подразделы и значения реестра. Диспетчер учетных записей безопасности (SAM) — это особый куст реестра, в котором хранятся учетные данные и информация об учетных записях для локальных пользователей. Пароли пользователей хранятся в хешированном формате в кусте реестра SAM в виде хэша LM или NT, в зависимости от настроек групповой политики. Хэш LM — это устаревший алгоритм хеширования, разработанный в 1987 и включен по умолчанию для обратной совместимости в версиях Windows до Windows Vista/Windows Server 2008. Однако Microsoft рекомендует отключать хранение всех хэшей LM, где это возможно, поскольку хэши LM теперь считаются криптографически небезопасными. Злоумышленник может взломать все ключевое пространство за относительно короткое время. Если хэши были захвачены злоумышленником, хэш может быть легко взломан с использованием радужных таблиц или атаки методом подбора пароля в течение от нескольких минут до нескольких часов.

Реестр SAM можно найти по адресу %SystemRoot%\System32\config\SAM . Начиная с Windows 2000 и более поздних версий, куст SAM также по умолчанию шифруется с помощью SysKey в попытке Microsoft затруднить доступ к хэшам. Однако SysKey можно извлечь из куста реестра SYSTEM, который может находиться по адресу %SystemRoot%\System32\config\SYSTEM . Если злоумышленник сможет извлечь или скопировать эти два файла, он сможет успешно получить хэши LM/NT всех локальных учетных записей в системе.

Файл SAM заблокирован от чтения/копирования при включенной системе. Однако есть еще несколько способов, которыми злоумышленник может получить SAM, если у злоумышленника есть права локального администратора. Злоумышленник может использовать secretsdumpy.py из Impacket, искать резервные копии файлов SAM в C:\Windows\Repair\SAM или использовать другие инструменты, такие как CrackMapExec. CrackMapExec извлекает секреты SAM и LSA, используя функции из secretsdump.py. Кроме того, недавно была обнаружена уязвимость CVE 2021-369.34, обозначенный как HiveNightmare, который позволял пользователям без прав администратора потенциально читать файл SAM по адресу C:\Windows\System32\config\SAM . Более подробную информацию об этой конкретной уязвимости можно найти здесь.

Чтобы получить копию кустов реестра SYSTEM и SAM, мы можем сохранить их с помощью reg.exe из привилегированной оболочки с помощью следующих команд:

reg.exe сохранить hklm\sam C:\temp\sam.savereg.exe сохранить hklm\system C:\temp\system.save 

SAM можно расшифровать с помощью secretsdump. py от Impacket:

Следует отметить, что большинство современных версий Windows по умолчанию не хранят пароли в формате LM, а строка aad3b435b51404eeaad3b435b51404ee , называемая нулевым хэшем LM, означает, что она пуста.

После того, как мы извлекли хэш пароля администратора, мы можем попытаться выполнить Pass-the-Hash с полученным хэшем, чтобы скомпрометировать дополнительные системы. Часто мы обнаруживаем, что пароли локальных администраторов повторно используются между системами в среде. Одним из решений, которое мы обычно рекомендуем нашим клиентам для борьбы с этим, является внедрение Microsoft Local Administrator Password Solution (LAPS). LAPS действует как менеджер паролей и генерирует уникальные пароли локального администратора для каждой системы. Пароли также можно регулярно менять. Другие программы, такие как CyberArk и Thycotic Secret Server, также являются потенциальными решениями для управления доступом локального администратора.

Другая область, в которой хранятся учетные данные, — это секреты LSA, расположенные по адресу HKEY_LOCAL_MACHINE\Security\Policy\Secrets . Секреты LSA используются локальным органом безопасности (LSA) в качестве хранилища, и часто здесь может храниться такая информация, как учетные записи службы автоматического входа или учетные данные VPN. Учетные данные для учетных записей служб могут храниться в виде открытого текста, поскольку для запуска учетной записи службы в качестве этой службы необходимо прочитать фактический пароль. Часто во время взаимодействия мы можем найти незашифрованные пароли для учетных записей служб, сохраненные в секретах LSA, и эти учетные записи служб часто имеют высокие привилегии, что позволяет нам перемещаться в боковом направлении, чтобы скомпрометировать дополнительные системы.

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

reg.exe save hklm\security C:\temp\security.savereg.exe save hklm\system C:\temp\system.save 

Секреты LSA хранятся в реестре безопасности, и нам по-прежнему нужен системный ключ из системного куста чтобы мы могли расшифровать содержимое секретов LSA. Затем мы можем извлечь секреты LSA с помощью secretsdump из Impacket с помощью команды:

.
python3 secretsdump.py -security security.save -system system.save ЛОКАЛЬНЫЙ 

Обнаружение

Есть несколько методов, которые мы можем использовать для отслеживания несанкционированного доступа к реестру. Читатель должен иметь в виду, что описанные ниже методы обнаружения могут быть шумными, а некоторые ключи реестра могут уже отслеживаться решением EDR, в зависимости от решения.

Чтобы обнаружить подозрительные попытки доступа к реестру, мы должны включить аудит реестра, чтобы генерировались журналы событий безопасности Windows. Чтобы включить аудит реестра для системы, мы должны перейти к настройкам «Локальная политика безопасности» и включить «Аудит доступа к объектам» как для успешных, так и для неудачных событий в «Политике аудита» в разделе «Локальные политики». Полный путь к настройке: Параметры безопасности\Локальные политики\Политика аудита\Аудит доступа к объекту .

Этот параметр также можно установить в домене с помощью редактора управления групповыми политиками с контроллера домена, перейдя в Конфигурация компьютера\Политики\Параметры Windows\Параметры безопасности\Локальные политики\Политика аудита\Аудит доступа к объекту .

После включения аудита доступа к объектам нам необходимо создать политики аудита для определенных разделов реестра, которые мы хотим отслеживать. Мы хотим ограничить аудит реестра только интересующими нас ключами и подразделами, потому что эти политики будут генерировать много шума, который со временем может стать трудно фильтровать. Чтобы создать политику аудита для реестра SAM и его подразделов, нам нужно использовать редактор реестра и перейти к HKEY_LOCAL_MACHINE/SAM . Вы можете изменить разрешения аудита этого куста, щелкнув правой кнопкой мыши SAM -> Разрешения -> Дополнительно -> Аудит. В диалоговом окне настроек мы можем указать следующие разрешения аудита:

  • Query Value — проверяет любые попытки запросить значение ключа реестра
  • Enumerate Subkeys — проверяет любые попытки идентифицировать подразделы ключа реестра
  • Read Control – проверяет любые попытки открыть ACL по ключу

Это будет создавать запись в журнале событий всякий раз, когда запрашивается значение реестра или его подразделов. Наконец, мы хотим убедиться, что для Принципала установлено значение Все, чтобы проверялись все пользователи.

Разрешения реестра также можно применить через GPO с помощью редактора управления групповыми политиками и просмотра Computer Configuration\Policies\Windows Settings\Security Settings\Registry . Затем мы можем щелкнуть правой кнопкой мыши Добавить ключ, выбрать соответствующий ключ и добавить разрешения аудита для этого конкретного ключа.

После применения этих настроек мы можем попытаться снова сохранить куст реестра SAM с помощью reg.exe, как обсуждалось ранее в сообщении блога. Изучив журналы событий безопасности в средстве просмотра событий, мы видим, что при попытке сохранить ключ реестра SAM с помощью reg.exe было создано событие с идентификатором 4656.

Однако эти параметры, вероятно, по-прежнему будут генерировать много журналов, поскольку эти разделы реестра часто запрашиваются законными системными процессами. Чтобы облегчить разбор событий, существует несколько предварительно написанных сигм Sigma, которые мы можем использовать. Sigma — это универсальный формат подписи с открытым исходным кодом, который можно использовать для преобразования в подписи SIEM, понятные каждому SIEM. Эту подпись можно использовать для обнаружения дескрипторов, запрошенных в кусте реестра SAM. Эту подпись можно использовать для обнаружения использования reg.exe для запроса или копирования куста реестра SAM.

Аналогичные настройки также следует использовать для мониторинга кустов реестра SYSTEM и SECURITY, поскольку куст SYSTEM необходим для извлечения SysKey для расшифровки секретов SAM и LSA, а куст реестра SECURITY содержит секреты LSA.

Еще одна рекомендация, которую мы часто даем нашим клиентам, — включить аудит создания процессов. Это создаст журнал событий безопасности Windows с идентификатором 4688, в котором будет документирована каждая программа, выполняемая компьютером, процесс, запустивший этот процесс, и имя, от имени которого этот процесс выполнялся. Аудит создания процессов может быть очень шумным, но он жизненно важен, чтобы помочь следователям и ликвидаторам понять цепочку событий и процессы, которые были созданы в случае инцидента. Чтобы включить аудит создания процессов, нам нужно перейти к пункту 9.0009 Параметры безопасности\Конфигурация расширенной политики аудита\Политики аудита системы — Локальная группа\Подробное отслеживание\Создание процесса аудита в параметрах локальной политики безопасности. Должен быть включен аудит успешных и неудачных событий. Этот параметр также можно включить с помощью объектов групповой политики в Параметры Windows\Параметры безопасности\Конфигурация расширенной политики аудита\Политики аудита\Подробное отслеживание\Создание процесса аудита .

После попытки сохранить копию куста реестра SAM мы видим, что в журналах безопасности Windows создается событие 4688. Событие было событием повышения уровня токена типа 2 (%%1937), что указывает на то, что процесс PowerShell был запущен с правами администратора.

Хотя само по себе это может не свидетельствовать о злонамеренной деятельности, аналитику безопасности может потребоваться более глубокое расследование, если оно было совершено ненормальным пользователем или если такое поведение не является ожидаемым.

В этом блоге рассматриваются некоторые распространенные и базовые методы создания дампа учетных данных ОС, которые злоумышленник может использовать для извлечения учетных данных из реестра Windows с правами локального администратора. Благодаря достаточному аудиту реестра и мониторингу процессов защитники могут быстро обнаруживать вредоносные действия и реагировать на них, а также сдерживать инцидент до его распространения.

Ссылки

https://attack.mitre.org/techniques/T1003/001/
https://www.praetorian.com/blog/microsofts-local-administrator-password-solution-laps/
https:/ /medium.com/threatpunter/detecting-attempts-to-steal-passwords-from-the-registry-7512674487f8
https://helpcenter.netwrix.com/NA/Configure_IT_Infrastructure/File_Servers/EMC_VNX_VNXe/EMC_Audit_Object_Access.html
https:/ /logrhythm.com/blog/how-to-enable-process-creation-events-to-track-malware-and-threat-actor-activity/
https://www.sentinelone.com/blog/windows-security-essentials-preventing-4-common-methods-of-credentials-exfilter/
https://moyix. blogspot.com/2008/02/decrypting- lsa-secrets.html
https://isc.sans.edu/forums/diary/Pillaging+Passwords+from+Service+Accounts/24886/
https://docs.microsoft.com/en-us/windows/security /threat-protection/auditing/audit-registry
https://www.andrew.cmu.edu/user/tgoyal1/Credential_Stealing_NATO.pdf
https://logrhythm.com/blog/how-to-enable-process-creation -events-to-track-malware-and-threat-actor-activity/
https://nakedsecurity.sophos.com/2021/07/21/windows-hivenightmare-bug-could-leak-passwords-heres-what-to-do/

Безопасность приложений

в

Инструменты и методы

Внутри реестра Windows | Algeo Calculator

Реестр Windows является центральным хранилищем настроек в Windows, а также популярной целью взлома для включения/отключения малоизвестных функций. Но как это работает? Где он хранит все данные? Какие опции доступны в нем? В этом посте я планирую пройтись по внутренностям реестра.

Обзор

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

«Папки» в реестре называются ключами . Это отличается от других хранилищ ключей и значений, таких как Redis, где ключ относится к идентификатору значения. Фактические пары ключ-значение внутри этих папок называются парами имя-данные. Например, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion — это ключ, а имя ProgramFilesDir под этим ключом содержит путь к папке «Program Files». У этого странного именования есть исторические причины: в исходной версии реестра (в Windows 3.1) ключи могли хранить только одно значение. Эта схема именования была сохранена для обратной совместимости. Это также причина, по которой каждый ключ имеет значение «по умолчанию».

Типы данных

Одним из преимуществ реестра по сравнению с простыми ini-файлами является то, что он может хранить типизированные данные и, возможно, двоичные данные. Некоторые из наиболее важных типов данных:

ID Символическое имя Описание
0 REG_NONE Нет типа
1 РЕГ_СЗ Струна
2 REG_EXPAND_SZ Расширяемая строка: может содержать подставляемые переменные среды
3 REG_BINRAY Двоичные данные
4 REG_DWORD 32-битное целое число (двойное слово)
6 REG_LINK Символическая ссылка на другой раздел реестра
7 REG_MULTI_SZ Массив строк, строки разделены символом NUL
11 REG_QWORD 64-битное целое число (счетверенное слово)

Доступны и другие типы, полный список доступен здесь.

Кусты

Реестр хранится не как один файл на диске, а как несколько файлов, каждый из которых представляет одно поддерево полного реестра. Например, HKEY_CURRENT_USER хранится в %user_home%\ntuser.dat . Эти файлы называются кустами. Однако кусты и корневые ключи не имеют однозначного соответствия. Прочтите следующий раздел о том, как на самом деле хранится каждый корневой ключ.

Вы можете перечислить доступные ульи в самом реестре: они хранятся под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist . В нем перечислены все ульи с местами, где они установлены.

Файлы куста используют двоичный формат данных. Основным элементом файла является ячейка. Ячейка может быть ключом, значением (с именем и данными), списком ключей или списком значений. Затем ключевая ячейка указывает на ячейку со списком ключей для представления своих подразделов и на ячейку со списком значений для представления значений под ключом.

Windows также ведет журналы транзакций для каждого куста. Они имеют то же имя, что и куст, с дополнительным суффиксом .log1 или .log2. Эти файлы гарантируют, что в случае сбоя компьютера во время редактирования реестра никакие данные не будут потеряны. Почему два лог-файла? Если система остановится во время записи .log1, новые данные будут добавлены в .log2. Это служит двойным механизмом защиты от сбоев.

Корневые ключи

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

HKEY_LOCAL_MACHINE

В этом ключе хранятся настройки уровня компьютера, которые не относятся ни к одному пользователю. Подключи SAM, SECURITY, SOFTWARE и SYSTEM хранятся в папке %windir%\system32\config , каждый в отдельном файле. Ключ HARDWARE не хранится на диске: он генерируется при запуске и полностью хранится в памяти. Ключ BCD00000000 — это виртуальное сопоставление базы данных BCD (данные конфигурации загрузки, где загрузчик хранит информацию о доступных операционных системах).

Приложения должны помещать свои настройки в подраздел SOFTWARE под ключом с именем Vendor\ApplicationName .

HKEY_USERS

Пользовательские настройки. Пользователи отсылаются по идентификаторам безопасности (SID), это длинная строка, похожая на S-15-20-…. Обычно загружается только текущий пользователь, а также некоторые дополнительные виртуальные пользователи, используемые для обмена файлами в локальной сети и SharePoint. У каждого пользователя есть два подраздела: один назван в честь SID пользователя, а другой — с добавленным к нему _CLASSES . Последний содержит информацию о зарегистрированных приложениях, типах файлов и идентификаторах классов OLE.

Читайте также: