Программные средства для анализа реестра.
Выполнил работу: Бершауэр В.В. Группа БИТ-191.
Дисциплина: Инструментальное обеспечение компьютерно-технической экспертизы.
**Ход работы:**
Для работы операционной системы Windows должны использоваться различные сведения. Реестр представляет собой специальную базу данных. В нем имеется информация, касающаяся оборудования, программного обеспечения, а также многое другое. В процессе функционирования системы происходит постоянное обращение к этой информации. Она может изменяться или дополняться, в зависимости от конкретных действий. Подобные мероприятия происходят в автоматическом порядке и пользователю нет необходимости беспокоиться об их выполнении.
Реестр Windows включает в себя 5 ветвей. Каждая из них предусматривает хранение сведений конкретного типа. Данные разделы не разрешается изменять. Они не могут быть перенесены, переименованы или удалены. Описание каждой ветви:
HKEY_CLASSES_ROOT (HKCR). Здесь хранятся данные о многочисленных расширениях, что позволяет системе работать с файлами различного типа. Если каких-либо сведений нет, всегда можно внести дополнительные изменения для расширения возможностей.
HKEY_CURRENT_USER (HKCU). В указанной ветке находятся сведения об учетной записи. Сюда можно отнести различные настройки и элементы персонализации.
HKEY_LOCAL_MACHINE (HKLM). Здесь располагается все данные о подсоединённых устройствах и драйверах. Что особенно важно, тут находятся сведения, касающиеся загрузки ОС.
HKEY_USERS (HKU). Здесь представлены данные о полном списке пользователей для конкретного устройства.
HKEY_CURRENT_CONFIG (HKCC). Представлены сведения об оборудовании, которое применяет устройство в ходе запуска ОС. Как показывает практика, тут находится мало информации и почти вся она является копией из иных разделов.
В процессе работы с реестром Windows, интерес представляют HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Здесь находится большинство настроек, которые возникает необходимость изменять.
Для копирования файлов реестра, можно воспользоваться программой RegistryChangesView от NirSoft. **RegistryChangesView** — это инструмент для Windows, который позволяет сделать снимок реестра Windows.

Для получения файлов реестра, нужно нажать на кнопку "Create Registry Snapshot" и выбрать нужные ветки. А так же указазать директорию, куда будут помещены файлы.
## Часть 1. RegRipper.
Исполняемый файл инструмента был скачен с сайта https://github.com/keydet89/RegRipper3.0, установка не требуется.
Запуск инструмента осуществляется путём открытия файла rr.exe (графический интерфейс). Откроется рабочее окно программы:

Через обзор в поле «Hive File» следует указать путь к файлу куста реестра, а в поле «Report File» — путь к текстовому файлу отчета. По умолчанию отчет сохраняется в папке, где находится сама утилита. Далее нужно нажать кнопку «Rip!». RegRipper запускает процесс анализа с помощью входящих в ее состав Perl-скриптов и создает текстовый отчет, в котором каждый блок содержит данные, полученные в соответствии с конкретным сценарием. О завершении процедуры укажет сообщение «Done» в строке состояния:

Анализ реестра, при помощи данной утилиты, проводился как и ручным поиском по общему логу в формате .txt, так и с помощью плагинов, написанных разработчиком.
Синтаксис плагина следующий: [путь до исполняемого файла rip.exe] rip.exe -r [путь до файла реестра] -p [наименование утилиты]
**1.1. Информация о пользователях.**
Сведения об учетных записях пользователей, времени последнего входа в систему каждой из учетных записей, о пароле для идентификации, о методе хэширования пароля учетной записи пользователя - сохраняются в следующем ключе реестра:
*HKLM\Sam\Domains\Account\Users\[RID]\V*, здесь RID - является уникальным идентификатором пользователя, который можно узнать, обратившись по следующему пути: *HKLM\Sam\Domains\Account\Users\Names*.
Цифры в квадратных скобках параметра Username представляет собой RID. Для встроенной учетной записи администратора всегда равен 500, а гостевой учетной записи - всегда 501. SID – уникальный идентификатор, который присваивается пользователям. Параметр «Account Created» - дата создания пользователя, Last Login Date – последнее время входа в систему конкретным пользователем, Pwd Reset Date – последняя дата изменения пароля, Pwd Fail Date – дата последней попытки входа в систему, использовав неправильный пароль, UserName – Имя пользователя, User Comment – описание учётной записи, Sequrity Questions – ответы на контрольные вопросы.


В том же разделе по ключу HKLM\SAM\Domains\Builtin\Aliases можно обнаружить список групп в системе.

**1.2. Информация о сетевом стеке.**
Информация о сетевых интерфейсах, или сетевых интерфейсных платах, хранится в файлах кустов System и Software. Сведения о сетевых платах можно увидеть в данном ключе реестра: *Software\Microsoft\Windows NT\CurrentVersion\NetworkCards*.

В ветке *HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles* можно увидеть список профилей сетей, и, как показано на скриншоте, беспроводную сеть, если таковая есть:

В ветке *HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{b23ac701-f940-4da0-ab33-8a2278f78b95}*, где последнее - идентификатор адаптера, можно найти сетевую информацию конкретного адаптера:

Параметр "Lease" обозначает время аренды.
**1.3. Информация о программном обеспечении.**
Чтобы сформировать список установленных на компьютере программ нужно просмотреть все подразделы в нижеприведенных ветках реестра. В ветке HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall генерируется список установленного ПО, который пользователь видит в разделе «Программы и компоненты».

ПО, запускаемое с стартом самой системы, можно посмотреть при помощи плагина "run".

В выводе плагина виден автозапуск исполняемого файла, отвечающего за звук и программу SecurityHealthSystray.exe, последняя работает в фоновом режиме и обеспечивает безопасность windows.
**1.4. Информация об оборудовании.**
Большая часть конфигурационной информации для управления устройствами и драйверами находится в разделе **SYSTEM**.
Информация о драйверах и аппаратной конфигурации компьютера хранится в ключе реестра: *HKLM\SYSTEM\CurrentControlSet\*
В подразделе Enum содержится информация об устройствах, которые имеются в системе. Информация хранится в данной ветке реестра: HKEYLOCAL_MACHINE\System\ControlSet001\Enum\USBSTOR.
Запись о подключённом USB устройстве останется в данном разделе и после извлечении самого устройства.

**1.5. Общие сведения о системе.**
Имя компьютера (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName):

Время последнего завершения работы компьютера (HKLM\SYSTEM\ControlSet001\Control\Windows):

Информация о параметрах часового пояса (HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation):


## Часть 2. Дистрибутивы.
**2.1. Kali.**
С официального сайта был скачен образ диска виртуальной машины данного дистрибутива (https://www.kali.org/get-kali/#kali-platforms). После импорта и запуска, был установлен модуль RegRippy:

Список учетных записей в системе:

Определение пользователя, последнего вошедшего в систему:

Имя ПК:

Время последнего выключения системы:

Сведения о версии операционной системы:

Список программ, расположенных в автозагрузке:

Часовой пояс системы:

Список установленных программ:

**2.2. Caine 10.**
CAINE Linux — это итальянский дистрибутив Linux, управляемый Джованни «Нанни» Бассетти. Проект начался в 2008 году как среда для развития цифровой криминалистики и реагирования на инциденты с предустановленным рядом связанных инструментов. В данном дистрибутиве для анализа реестра имеется ранее рассмотренная утилита RegRipper. Работа с данной утилитой была рассмотрена ранее.

## Часть 3. Аналогичные утилиты.
**Инструмент Registry Explorer.**
Исполняемый файл инструмента был скачен с сайта https://ericzimmerman.github.io/#!index.md, установка не требуется.
Запуск инструмента осуществляется путём открытия файла RegistryExplorer.exe.
Рабочее окно программы:

Для загрузки какой-либо ветки реестра необходимо перейти по пунктам «File» - «Load hive», далее указать путь к файлам реестра, которые необходимо импортировать, после нажать кнопку «Открыть».
После загрузки куста, в левой части окна программы отобразятся результаты процесса, а в правой – сведения из реестра:

Для экспорта значений нужно нажать левой кнопкой мыши по параметру и указать место сохранения значений, а также формат записи.

**Инструмент Windows Registry Recovery.**
Исполняемый файл инструмента был скачен с сайта https://www.mitec.cz/wrr.html, установка не требуется.
Запуск инструмента осуществляется путём открытия файла WRR64.exe в случае, если система 64-х разрядная и WRR в случае 32-х разрядной. После запуска программы, необходимо указать путь к файлу реестра, перейдя по пунктам «File» -> «Open..». После загрузки файла появится окно, где в левой части интерфейса отобразятся модули программы. Программа позволяет экспортировать данные в таблицы Excel. Для этого необходимо открыть определенный модуль, далее перейти по пунктам «File» Export Data, затем выбрать название и формат файла. Экспорт данных в некоторых ситуациях может работать некорректно.
Рабочее окно программы:

Каждый модуль имеет своё назначение:
| Наименования модулей программы | Назначение |
| -------- | -------- |
| File Information | Приводятся сведения об основных свойствах файла и его контрольные суммы. |
Security Record Explorer | Отображается информация обо всех защищенных группах ключей системного реестра, а также о правах доступа к этой группе ключей. Этот раздел доступен только при просмотре файлов реестра систем на базе NT.
|SAM |Здесь можно обнаружить идентификатор безопасности (SID), а также часть системного пароля (SYSKEY). Этот раздел доступен только при просмотре файлов реестра систем на базе NT.
|Windows Instalation |Приведена информация: об операционной системе; Product Key; Product ID; версии системы и сервис-пака; о регистрационных данных пользователя; дате установки и пути к директории Windows
|Hardware | Отображается краткий обзор о процессоре, мониторе, видео- и звуковой картах, сетевых картах и т.д.
|Startup Applications | Перечисляются приложения, стартующие вместе с системой.
| Services and Drivers | Список установленных служб и драйверов ядра.
|Network Configuration | Приведена информация об установленных клиентах, сервисах, протоколах, а также о конфигурации TCP/IP.
| Windows Firewall Settings | Сведения о настройках для брандмауэра Windows.
**3.1. Информация о пользователе.**
Информация о пользователях в системе:

Информация о пользователях системы в Registry Explorer:

User Id представляет собой RID. Для встроенной учетной записи администратора всегда равен 500, а гостевой учетной записи всегда 501. Параметр «Created On» - дата создания пользователя, Last Login Time – последнее время входа в систему конкретным пользователем, Last Password Change – последняя дата изменения пароля, Last Incorrect Password – дата последней попытки входа в систему, использовав неправильный пароль, UserName – Имя пользователя, Groups – группы, в которых находится пользователь, ResetData – ответы на контрольные вопросы.
**3.2. Информация о сетевом стеке.**
Информацию о сетевом стеке можно найти во вкладке "Network Configuration":

Информация о сетевых интерфейсах, или сетевых интерфейсных платах в Registry Explorer:



Список профилей сетей в Registry Explorer

**3.3. Информация о программном обеспечении.**
Информацию об установленных программах можно найти во вкладке "Windows Installation":

Registry Explorer:

Примеры сведений об установленной программе, которые хранятся в параметрах строкового типа приведены ниже.
• DisplayName ‒ определяет название программы.
• InstallLocation ‒ путь к каталогу, в который установлена программа. UninstallString ‒ определяет команду, выполняемую при удалении программы.
• ModifyPath ‒ определяет команду, выполняемую при нажатии кнопки «Изменить».
• NoModify ‒ если значение равно 1, тогда кнопка «Изменить» для данной программы будет скрыта.
• NoRepair ‒ если значение данного параметра типа REG_DWORD будет равно 1, тогда возможность восстановления будет скрыта.
Если операционная система 64-разрядная, а приложение 32-битное, нужно обратиться к ветке HKLM\Software \Wow6432Node \Microsoft \Windows\ CurrentVersion \Uninstall.

Помимо этого, следует посмотреть все подразделы в ключе HKLM\Software\Classes\Installer\Products

А затем уточнить существует ли интересующий нас подраздел с таким же именем GUID в ветке HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\ UserData\SIDXXX\Products.

На данных скриншотах виден результат сравнения одного и того же имени GUID в ветке.
По ветке реестра HKLM\Software\RegisteredApplications в подразделе RegisteredApplications можно найти список зарегистрированных приложений:

**3.4. Информация об оборудовании.**
Информацию об оборудовании можно найти во вкладке "Hardware":

Информацию о модели процессора и об идентификаторе производителя можно найти по ветке реестра: HKLM\System\ControlSet\Control\Session Manager\Environment.
Здесь параметр PROCESSOR_IDENTIFIER, описывается следующим образом: если строка содержит значение AMD64, то на компьютере имеется процессор AMD64 Advanced Micro Devices (AMD), а если параметр содержит значение EM64T, на компьютере установлен процессор технологии расширенной памяти Intel 64T (EM64T).

**3.5. Общие сведения о системе.**
Информация об ОС Windows:

В следующей таблице представлено название параметра, его значение и пояснение:
| Обозначение | Значение | Пояснение |
| -------- | -------- | -------- |
| CurrentType | Multiprocessor Free | Текущий тип ОС |
| CurrentVersion | 6.3 | Текущая версия ОС
| DigitalProductID | A4-00-00.. | Цифровой идентификатор
| Edition ID | Professional | Подтип ОС
| InstallDate | 1675781877 | Дата установки ОС дата инсталляции дата установки операционной системы хранится в шестнадцатеричном и десятичном виде.
| PathName | C:\Windows |Абсолютный путь установки ОС.
| CurrentBuildNumber | 19045 | Номер сборки ОС
Имя компьютера:

Информацию о параметрах часового пояса по ветке HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Time Zones:

Информация об параметрах часового пояса по ветке HKLM\System\ControlSet\Control\TimeZoneInformation:

О модели компьютера и сведения об его производителе можно узнать, пройдя по пути HKLM\Software\Microsoft\Windows\CurrentVersion \OEMInformation.

Если ОС Windows не активирована легальным способом, то скорее всего, последний подраздел будет пуст.
