Программные средства для анализа реестра. Выполнил работу: Бершауэр В.В. Группа БИТ-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. ![](https://hackmd.io/_uploads/SyU3gsvL2.png) Для получения файлов реестра, нужно нажать на кнопку "Create Registry Snapshot" и выбрать нужные ветки. А так же указазать директорию, куда будут помещены файлы. ## Часть 1. RegRipper. Исполняемый файл инструмента был скачен с сайта https://github.com/keydet89/RegRipper3.0, установка не требуется. Запуск инструмента осуществляется путём открытия файла rr.exe (графический интерфейс). Откроется рабочее окно программы: ![](https://hackmd.io/_uploads/ryGw_-8I2.png) Через обзор в поле «Hive File» следует указать путь к файлу куста реестра, а в поле «Report File» — путь к текстовому файлу отчета. По умолчанию отчет сохраняется в папке, где находится сама утилита. Далее нужно нажать кнопку «Rip!». RegRipper запускает процесс анализа с помощью входящих в ее состав Perl-скриптов и создает текстовый отчет, в котором каждый блок содержит данные, полученные в соответствии с конкретным сценарием. О завершении процедуры укажет сообщение «Done» в строке состояния: ![](https://hackmd.io/_uploads/SkDy9WL8n.png) Анализ реестра, при помощи данной утилиты, проводился как и ручным поиском по общему логу в формате .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 – ответы на контрольные вопросы. ![](https://hackmd.io/_uploads/BkpvVzULn.png) ![](https://hackmd.io/_uploads/HyF2EzLL2.png) В том же разделе по ключу HKLM\SAM\Domains\Builtin\Aliases можно обнаружить список групп в системе. ![](https://hackmd.io/_uploads/HySP8GII2.png) **1.2. Информация о сетевом стеке.** Информация о сетевых интерфейсах, или сетевых интерфейсных платах, хранится в файлах кустов System и Software. Сведения о сетевых платах можно увидеть в данном ключе реестра: *Software\Microsoft\Windows NT\CurrentVersion\NetworkCards*. ![](https://hackmd.io/_uploads/BJ1OFfLL2.png) В ветке *HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles* можно увидеть список профилей сетей, и, как показано на скриншоте, беспроводную сеть, если таковая есть: ![](https://hackmd.io/_uploads/ry4B3fUUn.png) В ветке *HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{b23ac701-f940-4da0-ab33-8a2278f78b95}*, где последнее - идентификатор адаптера, можно найти сетевую информацию конкретного адаптера: ![](https://hackmd.io/_uploads/ry5fWQL83.png) Параметр "Lease" обозначает время аренды. **1.3. Информация о программном обеспечении.** Чтобы сформировать список установленных на компьютере программ нужно просмотреть все подразделы в нижеприведенных ветках реестра. В ветке HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall генерируется список установленного ПО, который пользователь видит в разделе «Программы и компоненты». ![](https://hackmd.io/_uploads/HJXOXm8I2.png) ПО, запускаемое с стартом самой системы, можно посмотреть при помощи плагина "run". ![](https://hackmd.io/_uploads/B1_gumLI2.png) В выводе плагина виден автозапуск исполняемого файла, отвечающего за звук и программу SecurityHealthSystray.exe, последняя работает в фоновом режиме и обеспечивает безопасность windows. **1.4. Информация об оборудовании.** Большая часть конфигурационной информации для управления устройствами и драйверами находится в разделе **SYSTEM**. Информация о драйверах и аппаратной конфигурации компьютера хранится в ключе реестра: *HKLM\SYSTEM\CurrentControlSet\* В подразделе Enum содержится информация об устройствах, которые имеются в системе. Информация хранится в данной ветке реестра: HKEYLOCAL_MACHINE\System\ControlSet001\Enum\USBSTOR. Запись о подключённом USB устройстве останется в данном разделе и после извлечении самого устройства. ![](https://hackmd.io/_uploads/rkxNjXLL2.png) **1.5. Общие сведения о системе.** Имя компьютера (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName): ![](https://hackmd.io/_uploads/rkWpsm8U3.png) Время последнего завершения работы компьютера (HKLM\SYSTEM\ControlSet001\Control\Windows): ![](https://hackmd.io/_uploads/SJuRoXII2.png) Информация о параметрах часового пояса (HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation): ![](https://hackmd.io/_uploads/Syk727LI3.png) ![](https://hackmd.io/_uploads/ry7JacDIh.png) ## Часть 2. Дистрибутивы. **2.1. Kali.** С официального сайта был скачен образ диска виртуальной машины данного дистрибутива (https://www.kali.org/get-kali/#kali-platforms). После импорта и запуска, был установлен модуль RegRippy: ![](https://hackmd.io/_uploads/BJiZ2HUU3.png) Список учетных записей в системе: ![](https://hackmd.io/_uploads/rJD4WcDU3.png) Определение пользователя, последнего вошедшего в систему: ![](https://hackmd.io/_uploads/rk5ObcPU3.png) Имя ПК: ![](https://hackmd.io/_uploads/S1csGqvI3.png) Время последнего выключения системы: ![](https://hackmd.io/_uploads/ryvAM5w8h.png) Сведения о версии операционной системы: ![](https://hackmd.io/_uploads/Hkjxmqv8n.png) Список программ, расположенных в автозагрузке: ![](https://hackmd.io/_uploads/SkRC-9vLn.png) Часовой пояс системы: ![](https://hackmd.io/_uploads/B1xyVf5v8n.png) Список установленных программ: ![](https://hackmd.io/_uploads/S1TYfqDIn.png) **2.2. Caine 10.** CAINE Linux — это итальянский дистрибутив Linux, управляемый Джованни «Нанни» Бассетти. Проект начался в 2008 году как среда для развития цифровой криминалистики и реагирования на инциденты с предустановленным рядом связанных инструментов. В данном дистрибутиве для анализа реестра имеется ранее рассмотренная утилита RegRipper. Работа с данной утилитой была рассмотрена ранее. ![](https://hackmd.io/_uploads/rkNZp5DI2.png) ## Часть 3. Аналогичные утилиты. **Инструмент Registry Explorer.** Исполняемый файл инструмента был скачен с сайта https://ericzimmerman.github.io/#!index.md, установка не требуется. Запуск инструмента осуществляется путём открытия файла RegistryExplorer.exe. Рабочее окно программы: ![](https://hackmd.io/_uploads/HkB00m8U3.png) Для загрузки какой-либо ветки реестра необходимо перейти по пунктам «File» - «Load hive», далее указать путь к файлам реестра, которые необходимо импортировать, после нажать кнопку «Открыть». После загрузки куста, в левой части окна программы отобразятся результаты процесса, а в правой – сведения из реестра: ![](https://hackmd.io/_uploads/S1vkJN8U3.png) Для экспорта значений нужно нажать левой кнопкой мыши по параметру и указать место сохранения значений, а также формат записи. ![](https://hackmd.io/_uploads/S1Igk4U8n.png) **Инструмент Windows Registry Recovery.** Исполняемый файл инструмента был скачен с сайта https://www.mitec.cz/wrr.html, установка не требуется. Запуск инструмента осуществляется путём открытия файла WRR64.exe в случае, если система 64-х разрядная и WRR в случае 32-х разрядной. После запуска программы, необходимо указать путь к файлу реестра, перейдя по пунктам «File» -> «Open..». После загрузки файла появится окно, где в левой части интерфейса отобразятся модули программы. Программа позволяет экспортировать данные в таблицы Excel. Для этого необходимо открыть определенный модуль, далее перейти по пунктам «File»  Export Data, затем выбрать название и формат файла. Экспорт данных в некоторых ситуациях может работать некорректно. Рабочее окно программы: ![](https://hackmd.io/_uploads/SkiDJEUI3.png) Каждый модуль имеет своё назначение: | Наименования модулей программы | Назначение | | -------- | -------- | | 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. Информация о пользователе.** Информация о пользователях в системе: ![](https://hackmd.io/_uploads/r1MXIEII3.png) Информация о пользователях системы в Registry Explorer: ![](https://hackmd.io/_uploads/rkZuANUIn.png) User Id представляет собой RID. Для встроенной учетной записи администратора всегда равен 500, а гостевой учетной записи  всегда 501. Параметр «Created On» - дата создания пользователя, Last Login Time – последнее время входа в систему конкретным пользователем, Last Password Change – последняя дата изменения пароля, Last Incorrect Password – дата последней попытки входа в систему, использовав неправильный пароль, UserName – Имя пользователя, Groups – группы, в которых находится пользователь, ResetData – ответы на контрольные вопросы. **3.2. Информация о сетевом стеке.** Информацию о сетевом стеке можно найти во вкладке "Network Configuration": ![](https://hackmd.io/_uploads/B1DzD4U82.png) Информация о сетевых интерфейсах, или сетевых интерфейсных платах в Registry Explorer: ![](https://hackmd.io/_uploads/SkogJBLIh.png) ![](https://hackmd.io/_uploads/B1zbyBI8n.png) ![](https://hackmd.io/_uploads/B1ObkHULh.png) Список профилей сетей в Registry Explorer ![](https://hackmd.io/_uploads/HJqIySUUh.png) **3.3. Информация о программном обеспечении.** Информацию об установленных программах можно найти во вкладке "Windows Installation": ![](https://hackmd.io/_uploads/BJgguEII2.png) Registry Explorer: ![](https://hackmd.io/_uploads/Syv_oEU8n.png) Примеры сведений об установленной программе, которые хранятся в параметрах строкового типа приведены ниже. • DisplayName ‒ определяет название программы. • InstallLocation ‒ путь к каталогу, в который установлена программа. UninstallString ‒ определяет команду, выполняемую при удалении программы. • ModifyPath ‒ определяет команду, выполняемую при нажатии кнопки «Изменить». • NoModify ‒ если значение равно 1, тогда кнопка «Изменить» для данной программы будет скрыта. • NoRepair ‒ если значение данного параметра типа REG_DWORD будет равно 1, тогда возможность восстановления будет скрыта. Если операционная система 64-разрядная, а приложение 32-битное, нужно обратиться к ветке HKLM\Software \Wow6432Node \Microsoft \Windows\ CurrentVersion \Uninstall. ![](https://hackmd.io/_uploads/H199s48Uh.png) Помимо этого, следует посмотреть все подразделы в ключе HKLM\Software\Classes\Installer\Products ![](https://hackmd.io/_uploads/H1UAjEILh.png) А затем уточнить существует ли интересующий нас подраздел с таким же именем GUID в ветке HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\ UserData\SIDXXX\Products. ![](https://hackmd.io/_uploads/r1lyhNLU2.png) На данных скриншотах виден результат сравнения одного и того же имени GUID в ветке. По ветке реестра HKLM\Software\RegisteredApplications в подразделе RegisteredApplications можно найти список зарегистрированных приложений: ![](https://hackmd.io/_uploads/B11Z3VUUh.png) **3.4. Информация об оборудовании.** Информацию об оборудовании можно найти во вкладке "Hardware": ![](https://hackmd.io/_uploads/rk8MuEI8h.png) Информацию о модели процессора и об идентификаторе производителя можно найти по ветке реестра: HKLM\System\ControlSet\Control\Session Manager\Environment. Здесь параметр PROCESSOR_IDENTIFIER, описывается следующим образом: если строка содержит значение AMD64, то на компьютере имеется процессор AMD64 Advanced Micro Devices (AMD), а если параметр содержит значение EM64T, на компьютере установлен процессор технологии расширенной памяти Intel 64T (EM64T). ![](https://hackmd.io/_uploads/SJOUnVUUh.png) **3.5. Общие сведения о системе.** Информация об ОС Windows: ![](https://hackmd.io/_uploads/SJol5NLLn.png) В следующей таблице представлено название параметра, его значение и пояснение: | Обозначение | Значение | Пояснение | | -------- | -------- | -------- | | CurrentType | Multiprocessor Free | Текущий тип ОС | | CurrentVersion | 6.3 | Текущая версия ОС | DigitalProductID | A4-00-00.. | Цифровой идентификатор | Edition ID | Professional | Подтип ОС | InstallDate | 1675781877 | Дата установки ОС дата инсталляции дата установки операционной системы хранится в шестнадцатеричном и десятичном виде. | PathName | C:\Windows |Абсолютный путь установки ОС. | CurrentBuildNumber | 19045 | Номер сборки ОС Имя компьютера: ![](https://hackmd.io/_uploads/BkK65EUUh.png) Информацию о параметрах часового пояса по ветке HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Time Zones: ![](https://hackmd.io/_uploads/SywyoE8Uh.png) Информация об параметрах часового пояса по ветке HKLM\System\ControlSet\Control\TimeZoneInformation: ![](https://hackmd.io/_uploads/Syy-oN8U2.png) О модели компьютера и сведения об его производителе можно узнать, пройдя по пути HKLM\Software\Microsoft\Windows\CurrentVersion \OEMInformation. ![](https://hackmd.io/_uploads/r1LGoE882.png) Если ОС Windows не активирована легальным способом, то скорее всего, последний подраздел будет пуст. ![](https://hackmd.io/_uploads/SJxP_NL82.png)