winregfs

Описание winregfs

winregfs — файловая система FUSE реестра Windows.

Хотя существует множество отличных инструментов для работы с файловыми системами NTFS, а также для изменения и удаления паролей от учётных записей пользователей, возможности работы с реестром всегда сильно не хватало. В превосходный пакет chntpw включён примитивный редактор реестра "reged", который в значительной степени оказался весьма полезным, но он страдает от очень ограниченного интерфейса и полного отсутствия скриптов, что представляет собой серьёзное препятствие для всех, кто желает сделать с реестром что-то большее, чем стереть пароль или изменить флаг «Start» системной службы.

Из-за серьёзных ограничений "reged" единственным практическим способом сделать что-нибудь, ориентированное на реестр, с помощью сценария оболочки было экспортировать ВЕСЬ УЛЕЙ в файл .reg, парсить его, а затем целиком импортировать.

Так родилась файловая система FUSE реестра Windows "winregfs". Chntpw (https://kali.tools/?p=5904) имеет отличную библиотеку для работы с файлами кустов реестра Windows NT, распространяемую под LGPL. winregfs, по сути, является связующим звеном между ntreg.c и FUSE, переводя ключи и значения реестра Windows в обычные каталоги и файлы.

Возможности включают:

  • Полная поддержка записи (размер значения ограничен 8192 байтами)
  • Нечувствительность к регистру при сопоставлении имён ключей и значений
  • Автоматическое экранирование через косую черту (обход ограничения пути в Linux)
  • Соответствие «подстановочного знака» имени при чтении, т.е. "cat foo/bar" соответствует "foo/bar.sz"
  • Удобное редактирование DWORD в шестнадцатеричном тексте ASCII, а не в исходных данных

Также включён инструмент под названием «fsck.winregfs», который будет выполнять базовую проверку целостности куста реестра. Он рекурсивно отслеживает все возможные ключи и значения, проверяя наличие ошибок в смещениях, чтении данных и типах значений. Чтобы использовать его, введите «fsck.winregfs [ИМЯ_КУСТА]», и по завершении сканирования будет создан подробный список статистики и количество ошибок. Статус выхода можно проверить (например, в сценарии) на предмет успешности или неудачи проверки.

Некоторые ключи и имена значений в реестре Windows, такие как типы MIME, содержат символы прямой косой черты; winregfs подставляет "_SLASH_" там, где в именах появляется косая черта.

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

Домашняя страница: https://github.com/jbruchon/winregfs

Автор: Jody Bruchon

Лицензия: GPLv2

Справка по winregfs

Пакет winregfs включает две утилиты: mount.winregfs и fsck.winregfs.

Использование mount.winregfs:

mount.winregfs [ОПЦИИ_FUSE[,...]] ФАЙЛ_УЛЬЯ ТОЧКА_МОНТИРОВАНИЯ

Информация об опциях монтирования FUSE.

Использование fsck.winregfs:

fsck.winregfs [-v] ФАЙЛ_УЛЬЯ

Руководство по mount.winregfs

ИМЯ

winregfs — файловая система FUSE реестра Windows

СИНОПСИС

mount.winregfs [ОПЦИИ_FUSE[,...]] ФАЙЛ_УЛЬЯ ТОЧКА_МОНТИРОВАНИЯ

ОПИСАНИЕ

winregfs — это драйвер файловой системы на основе FUSE, который обеспечивает доступ к файлам кустов реестра Windows как к обычным файловым системам. После монтирования, редактирование файла куста реестра можно выполнить с помощью обычных скриптов оболочки и инструментов командной строки.

Значения реестра отображаются в виде файлов с расширением файла, соответствующим типу данных значения. Обычно они названы в честь типов REG_*, которые можно увидеть в редакторе реестра Windows. Например, dw — это DWORD, sz — строка, esz — расширяющаяся строка, bin — необработанное двоичное значение, а msz — многострочная строка. В редких случаях могут появляться типы, отличные от «стандартных».

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

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

ИЗВЕСТНЫЕ ПРОБЛЕМЫ

winregfs в настоящее время не поддерживает запись значений данных размером более 8192 байтов (8 КиБ). Если такая запись происходит, данные будут усечены и будет возвращена ошибка.

Данные Unicode в настоящее время не поддерживаются, отчасти из-за отсутствия поддержки в библиотеке ntreg.

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

winregfs загружает весь файл куста в один большой кусок памяти. Это побочный эффект использования низкоуровневой библиотеки реестра из программы chntpw. При загрузке куста происходит тихая задержка, и если файл достаточно велик, существует вероятность сбоя из-за невозможности выделить достаточно непрерывной памяти. Изменить это поведение — очень сложная задача из-за того, как библиотека ntreg работает с данными.

Руководство по fsck.winregfs

ИМЯ

fsck.winregfs — проверка файла реестра Windows

СИНОПСИС

fsck.winregfs [-v] ФАЙЛ_УЛЬЯ

ОПИСАНИЕ

fsck.winregfs сканирует файл куста реестра Windows на наличие проблем, которые указывают на то, что куст был повреждён аппаратными или программными проблемами. Если указана опция -v, программа выведет подробную информацию о найденных проблемах.

ОГРАНИЧЕНИЯ

fsck.winregfs работает путём рекурсивного чтения структур данных ключей и значений в кусте реестра. В настоящее время он не считывает фактические данные, хранящиеся в значении, и из-за характера интерфейсов библиотеки ntreg проверки в настоящее время ограничиваются сообщением о наличии ошибок; подробности возникших ошибок не приводятся в окончательном выводе.

Примеры запуска winregfs

Чтобы использовать winregfs, создайте каталог для монтирования и укажите его на интересующий куст реестра:

mkdir /tmp/reg
mount.winregfs /mnt/disk_d/Share/config/SOFTWARE /tmp/reg

Теперь вы можете увидеть всё, что есть в этом улье, в директории "/tmp/reg":

ls /tmp/reg

Пример вывода:

7-Zip                    DTS           MozillaPlugins           RTLSetup
 ABBYY                    Fortemedia    Nahimic                  Setup
 AdoptOpenJDK            'GIMP 2.10'    Nuance                   SonicFocus
'AGEIA Technologies'      Google       'NVIDIA Corporation'      SoundResearch
 ASUS                     Intel         ODBC                    'SRS Labs'
 AutoHotkey               IPS           OEM                      SyncIntegrationClients
 Classes                  Khronos       OpenSSH                 'The Document Foundation'
 Clients                  Knowles       Oracle                   TigerVNC
 CVSM                     LibreOffice   Partner                  TightVNC
 Cygwin                   Macromedia    Piriform                'Tracker Software'
 DefaultUserEnvironment   Microsoft     Policies                 Windows
 Dolby                    Mozilla       Realtek                  WOW6432Node
 dotnet                   mozilla.org   RegisteredApplications  'Yamaha APO'

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

ls -l /tmp/reg/Microsoft/Windows/CurrentVersion/Run

Пример вывода:

итого 0
-rw-rw-rw- 1 root root 44 янв  1  1970 SecurityHealth.esz
-rw-rw-rw- 1 root root 35 янв  1  1970 VBoxTray.esz

Вы хотите увидеть, что содержат эти значения.

for X in /tmp/reg/Microsoft/Windows/CurrentVersion/Run/*; do echo -en "$X\n "; cat "$X"; echo; done

Пример вывода:

/tmp/reg/Microsoft/Windows/CurrentVersion/Run/SecurityHealth.esz
   %windir%\system32\SecurityHealthSystray.exe

/tmp/reg/Microsoft/Windows/CurrentVersion/Run/VBoxTray.esz
   %SystemRoot%\system32\VBoxTray.exe

Было ли что-нибудь перехвачено (hijacked) в "оболочке" Windows, запускающей explorer.exe?

cat /tmp/reg/Microsoft/Windows\ NT/CurrentVersion/Winlogon/Shell.sz

Пример вывода:

explorer.exe

Как насчёт значения userinit.exe?

cat /tmp/reg/Microsoft/Windows\ NT/CurrentVersion/Winlogon/Userinit.sz

Пример вывода:

C:\Windows\system32\userinit.exe,

Проверка, установлены ли некоторые системные политики (обратите внимание, что значения REG_DWORD теперь работают как дружественные шестнадцатеричные текстовые файлы вместо необработанных данных):

cat /tmp/reg/Policies/Microsoft/Windows/System/Allow-LogonScript-NetbiosDisabled.dw

Пример вывода:

00000001

Просканировать файл с кустом реестра /mnt/disk_d/Share/config/SYSTEM на наличие ошибок:

fsck.winregfs /mnt/disk_d/Share/config/SYSTEM

Пример вывода:

Keys: 77332   Values: 147139   Max key depth: 16

Value type warnings:   422

Hive /mnt/disk_d/Share/config/SYSTEM has 422 total warnings

Просканировать файл с кустом реестра /mnt/disk_d/Share/config/SOFTWARE на наличие ошибок и вывести информацию о каждом ключе, содержащим ошибки:

fsck.winregfs -v /mnt/disk_d/Share/config/SOFTWARE

Пример вывода:

Verbose mode enabled
Value type 0x40000 is an unknown type: \Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Word\Text Converters\Import
Value type 0x40000 is an unknown type: \Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00006109F10022400100000000F01FEC\Usage
Value type 0x40000 is an unknown type: \Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00006109F10070400100000000F01FEC\Usage
Value type 0x40000 is an unknown type: \Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00006109F10090400100000000F01FEC\Usage
Value type 0x40000 is an unknown type: \Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00006109F10091400100000000F01FEC\Usage
Keys: 340906   Values: 553677   Max key depth: 22

Value type warnings:   5

Hive /mnt/disk_d/Share/config/SOFTWARE has 5 total warnings

Установка winregfs

Установка в Kali Linux

sudo apt install winregfs

Установка в BlackArch

Программа предустановлена в BlackArch.

sudo pacman -S winregfs

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты winregfs

Инструкции по winregfs

Близкие программы:

  • RegRippy (100%)
  • RegRipper (100%)
  • Registry Explorer (100%)
  • creddump (100%)
  • regipy (100%)
  • TestDisk (RANDOM - 55.7%)
  • Рекомендуется Вам:

    Comments are Closed