Dislocker

Материал из ALT Linux Wiki
Dislocker
Разработчик(и) Romain Coltel
Первый выпуск ~2013
Лицензия GNU GPL v2
Сайт github.com/Aorimn/dislocker


DisLocker – инструмент для чтения разделов, зашифрованных в BitLocker. Dislocker используется для чтения томов, зашифрованных в системных версиях Windows от Vista до 10, и зашифрованных разделов BitLocker-To-Go.

BitLocker-To-Go предназначен для работы со съемными носителями.

BitLocker — технология, которая используется для шифрования разделов диска в операционной системе Windows.

При расшифровке раздела требуется указать каталог, куда будет сохранен dislocker-file. Этот файл является виртуальным разделом NTFS, поэтому его можно смонтировать как любой раздел, а затем читать или записывать в него файлы. Запись в виртуальный файл NTFS приведет к изменению содержимого базового раздела BitLocker.


Совет: Рекомендуемый режим работы FUSE

Сборка из исходников

   $ git clone https://github.com/Aorimn/dislocker
   # apt-get install gcc cmake make libfuse-devel libmbedtls-devel libruby-devel
   $ cd dislocker
   $ cmake .
   $ make

Установка

   # cd /home/user/dislocker
   # make install

Использование

После установки dislocker для работы с зашифрованными разделами доступны следующие утилиты:

  • dislocker-bek – для анализа файла .bek и печати информации о нем;
  • dislocker-metadata – для печати информации о томе, зашифрованном BitLocker;
  • dislocker-find – скрипт на Ruby, который находит зашифрованный раздел BitLocker среди подключенных дисков;
  • dislocker-file – для расшифровки раздела BitLocker в файл, отформатированный как раздел NTFS, который можно смонтировать;
  • dislocker-fuse – параметр, который используется при вызове команды dislocker, он динамически расшифровывает раздел BitLocker с помощью FUSE.

Dislocker поддерживает работу в двух режимах:

  • FILE;
  • FUSE.

В режиме FILE

В режиме FILE весь раздел BitLocker расшифровывается в файл. Этот процесс может занять значительное время, зависящее от размера раздела.

Для расшифровывания раздела необходимо выполнить команду вида:

   dislocker -V /dev/sda3 -u -- /media/<имя_файла>

где:

  • /dev/sda3 — зашифрованный раздел Bitlocker;
  • /media — директория, в которую будет записан файл;
  • <имя_файла> — произвольное имя расшифрованного файла.

Далее будет запрошен пароль, с помощью которого был зашифрован раздел. Необходимо его ввести и нажать Enter.

Для монтирования расшифрованного раздела необходимо создать отдельную директорию:

   mkdir /media/<директория>

И выполнить команду монтирования:

   mount -o loop /media/<имя_файла> /media/<директория>

где:

  • /media/<имя_файла> — путь к расшифрованному файлу;
  • /media/<директория> — директория монтирования.

В режиме FUSE

Второй режим предполагает использование FUSE — драйвера файловой системы, который позволяет пользователям без особых привилегий создавать их собственные файловые системы. В режиме FUSE расшифровывание происходит «на лету». Расшифровывается только тот блок, к которому в данный момент обращается система.

Для расшифровывания необходимо создать отдельную директорию:

   mkdir /media/dislocker

Для запуска процесса расшифровывания раздела используется команда:

   dislocker -V /dev/sda3 -u -- /media/dislocker

где:

  • /dev/sda3 — зашифрованный раздел Bitlocker;
  • /media/dislocker — директория для расшифровывания раздела. Указывать имя файла, как в режиме FILE, не нужно!

Далее будет запрошен пароль, с помощью которого был зашифрован раздел. Необходимо его ввести и нажать Enter.

Для монтирования расшифрованного раздела необходимо создать отдельную директорию:

   mkdir /media/mount

И выполнить команду монтирования:

   mount -o loop /media/dislocker/dislocker-file /media/mount

где:

  • /media/dislocker/dislocker-file — файл, который был расшифрован;
  • /media/mount — директория монтирования.

Пример

Находим зашифрованный раздел с помощью dislocker-find

   # dislocker-find
   /dev/sdb

Зашифрованный раздел с помощью fdisk -l выглядит таким образом:

   Диск /dev/sdb: 960 MiB, 1006632960 байт, 1966080 секторов
   Disk model:                 
   Единицы: секторов по 1 * 512 = 512 байт
   Размер сектора (логический/физический): 512 байт / 512 байт
   Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
   Тип метки диска: dos
   Идентификатор диска: 0x02101000
   
   Устр-во    Загрузочный     начало      Конец    Секторы Размер Идентификатор     Тип
   /dev/sdb1              1342177280 1342182455       5176   2,5M            37     неизвестный
   /dev/sdb2                       0 2021161079 2021161080 963,8G            76     неизвестный
   /dev/sdb3              4294932600 8589899894 4294967295     2T            78     неизвестный
   /dev/sdb4              4294967295 5035196669  740229375   353G            ff     BBT

Расшифровываем устройство в режиме FUSE:

   # dislocker -V /dev/sdb -u -- /media/dislocker
   Enter the user password:

И выполняем команду монтирования:

   # mount -o loop /media/dislocker/dislocker-file /media/mount/

Если необходимо расшифровать только для чтения, используйте ключ -r:

   # dislocker -r -V /dev/sdb2 -u <пароль> -- /media/dislocker

Для корректного завершения работы с носителем размонтируйте поочередно:

   umount /media/mount
   umount /media/dislocker

Детекция Bitlocker носителей

[ https://learn.microsoft.com/en-us/archive/blogs/si_team/detecting-bitlocker Detecting-Bitlocker]

Источники