Dislocker: Manual para usar las unidades cifradas con BitLocker de Windows en un sistema Linux
Dislocker es una herramienta de Linux que es gratuita y que nos permite montar y acceder desde Linux a una unidad de disco o memoria flash USB que esté cifrada con BitLocker. Para comprender mejor los conceptos de este artículo es recomendable leer los anteriores artículos sobre BitLocker que hemos publicado en RedesZone.
En los siguientes artículos puedes aprender qué es BitLocker y cómo utilizarlo en sistemas Windows:
Ha sido desarrollada por Romain Coltel de la empresa Hervé Schauer Consultants y está disponible para su descarga en el siguiente enlace: Descargar herramienta. Los pasos a seguir para utilizarla son:
- Descargar el software.
- Compilar el software.
- Instalar el software.
- Buscar la partición que contiene el disco cifrado con BitLocker.
- Desbloquearlo con dislocker-fuse o dislocker-file.
- Montar la partición creada.
- Acceder al contenido de la partición.
Funcionamiento de Dislocker
Dislocker admite varias formas para desbloquear la unidad, entre ellas la contraseña de desbloqueo y la clave de recuperación de la unidad a la que queremos acceder. Dislocker tiene dos formas de acceder a la unidad cifrada con BitLocker:
- dislocker-fuse: esta es la forma de acceder por defecto, lo que hace dislocker es generar un fichero llamado “dislocker-file” que contiene una partición virtual NTFS de tipo FUSE. Esta partición se puede montar con el comando “mount” de Linux como una partición más y nos permite acceder al contenido del disco cifrado. El desbloqueo se hace de forma dinámica por lo que sólo descifra aquellos ficheros a los que queremos acceder y lo hace de forma rápida y efectiva. Esta utilidad accede al disco original cifrado y los cambios de lectura/escritura que hagamos se consolidan en el disco cifrado como si hubiéramos accedido desde Windows.
- dislocker-file: esta herramienta descifra el contenido de una unidad de disco cifrada y la coloca en un fichero plano con el nombre que le indiquemos en el comando de ejecución. Este fichero plano contendrá una partición NTFS con todo el contenido de la unidad cifrada. Al igual que en el caso anterior, esta partición se puede montar en Linux como una partición más. Es importante tener en cuenta que el proceso de descifrado tarda lo mismo que si lo hiciéramos con BitLocker y ocupará en disco el mismo espacio que la partición cifrada con BitLocker. Esta partición NTFS es una copia de la partición cifrada original y no está vinculada con ella, por lo que los cambios que hagamos en ella no se aplicarán en la partición original. Al contener todos los datos ya descifrados los accesos serán más rápidos que con el uso de dislocker-fuse.
Tenemos que tener en cuenta que no todas las distribuciones Linux reconocen particiones NTFS, por lo que independientemente de utilizar dislocker, tenemos que preparar nuestra distribución de Linux para que pueda acceder al contenido de una partición NTFS. El tipo de desbloqueo que utilicemos es independiente del tipo de partición dislocker-fuse o dislocker-file que utilicemos como destino.
Si reiniciamos nuestro ordenador desaparecerán todas las particiones virtuales que hayamos creado y será necesario volver a ejecutar dislocker para volver a montar y acceder a las unidades cifradas con BitLocker.
Cómo instalar Dislocker en nuestro equipo
En primer lugar descargamos la utilidad desde su ubicación con el comando wget:
wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker-0.6.1.tar.gz
Descomprimimos el fichero tar:
tar -xvf dislocker-0.6.1.tar.gz
Este comando descomprime los ficheros incluidos en el fichero comprimido creando la siguiente estructura en nuestro sistema de ficheros de Linux:
Desde la consola de comandos de Linux entramos en el directorio de dislocker-0.6.1. Dentro del directorio dislocker-0.6.1 encontramos varios ficheros que debemos leer antes de continuar:
- El fichero README.md que contiene información sobre el funcionamiento de la herramienta.
- El fichero LICENSE.txt con indicaciones sobre condiciones de uso y distribución.
- El fichero CHANGELOG.md con indicaciones sobre las sucesivas versiones de dislocker.
- El fichero “INSTALL.md” con instrucciones importantes sobre la instalación.
Vamos a seguir los pasos indicados en el fichero INSTALL.md para realizar la instalación de la herramienta dislocker en nuestro ordenador. Para poder compilar y ejecutar adecuadamente dislocker necesitamos tener instalado en nuestro sistema las siguientes utilidades:
- Compiler, gcc o clang
- cmake (version 2.6 como mínimo)
- make (o gmake para FreeBSD)
- FUSE
- PolarSSL/mbedTLS
Cada distribución de Linux necesita un comando distinto para su instalación, tenemos que saber a cuál de los siguientes tipos de distribución pertenece nuestro Linux. En dicho fichero encontramos los siguientes comandos para instalar el software indicado en el párrafo anterior en función de nuestra distribución de Linux.
Para Debian:
sudo aptitude install gcc cmake make libfuse-dev libpolarssl-dev ruby-dev
Para Fedora:
dnf install gcc cmake make fuse-devel mbedtls-devel ruby-devel rubypick
O también podemos ejecutar lo siguiente para que instale todo automáticamente:
dnf install dislocker fuse-dislocker
Para RHEL (incluido CentOS):
yum install gcc cmake make fuse-devel mbedtls-devel ruby-devel /usr/bin/ruby
O también podemos ejecutar lo siguiente para que instale todo automáticamente:
yum install dislocker fuse-dislocker
Para FreeBSD:
pkg install cmake gmake fusefs-libs polarssl
Una vez finalizada la instalación de las utilidades anteriores nos situamos en la carpeta dislocket-0.6.1 y empezamos a ejecutar los comandos para compilar e instalar dislocker:
No olvidar el punto, separado por un espacio del comando cmake:
cmake .
make
Si al ejecutar este comando nos aparecen errores de compilación se debe a unos warnings, podemos evitarlos desactivando los warnings durante la ejecución de cmake, ejecute el siguiente comando en lugar de cmake . (cmake -D WARN_FLAGS:STRING=”-Wall -Wextra” .) No olvidar el punto del final.
Volvemos a ejecutar make y si no hay problemas continuamos con la instalación de dislocker. Siguiendo las instrucciones del fichero “INSTALL.md”, ejecutamos:
make install
Con esto hemos finalizado la instalación de dislocker, podemos ver la ayuda sobre dislocker escribiendo el comando
dislocker --h
También podemos ejecutar el comando man dislocker para ver la ayuda sobre dicho comando.
Determinar cuál es la partición cifrada con BitLocker.
Antes de utilizar Dislocker tenemos que determinar desde Linux cuál es la partición que contiene el disco cifrado con BitLocker, para ello utilizamos el comando:
sudo fdisk –l
Este comando nos muestra todas las particiones que encuentra Linux en los discos conectados a nuestro ordenador. En mi caso la partición es la “/dev/hda3”.
Acceder utilizando la contraseña de desbloqueo y una partición dislocker-fuse.
En primer lugar vamos a crear dos directorios; uno de ellos albergará el fichero resultado de la ejecución de Dislocker y el otro será sobre el que montaremos nuestra partición NTFS.
Los podemos crear colgando de /media o /mnt.
mkdir /mnt/disco1
mkdir /mnt/dis2
dislocker-fuse es el comando por defecto de dislocker por lo que no es necesario indicarlo; si queremos usar el modo FUSE podemos ejecutar el comando dislocker o dislocker-fuse.
Ejecutamos el siguiente comando:
dislocker-fuse -v -V /dev/hda3 -u123456.abC -- /mnt/disco1
Este comando desbloquea el contenido de la partición “/dev/hda3” con la contraseña de desbloqueo “123456.abC” y genera un fichero llamado “dislocker-file” que contiene una partición virtual FUSE de tipo NTFS y lo deja en el directorio “/mnt/disco1”.
Si al ejecutar el comando nos da este error: “fuse: device not found, try ‘modprobe fuse’ first”, ejecutamos el comando “modprobe fuse” para cargar el módulo de fuse y volvemos a ejecutar el comando de dislocker.
Comprobamos que se ha creado el fichero con el comando:
ls /mnt/disco1
Montamos el dispositivo con el comando mount:
mount -o loop,ro /mnt/disco1/dislocker-file /mnt/dis2
En la siguiente imagen podemos ver el contenido del disco NTFS de BitLocker montado en Linux.
Desde este momento podemos acceder al contenido de dicha unidad del mismo modo que lo haríamos desde Windows pero desde Linux.
Acceder utilizando la clave de recuperación y una partición dislocker-fuse
En este caso vamos a desbloquear la unidad utilizando la clave de recuperación que contiene un fichero que se creó al activar BitLocker sobre dicha unidad: Clave de recuperación de BitLocker 0555236F-D828-4038-A990-DF3F90DA81A62.TXT. Tenemos que eliminar el fichero “dislocker-file” o crearnos otros dos directorios sobre los que ejecutar dislocker y montar el dispositivo:
mkdir /mnt/disco2
mkdir /mnt/dis22
Dentro de este fichero encontramos la clave de recuperación de 48 caracteres, la copiamos y podemos incluirla en el comando o hacer que Dislocker nos la pida durante la ejecución.
dislocker -v -V /dev/hda3 -p164109-580635-109406-537933-420387-087450-051227-207449 -- /mnt/disco2
El siguiente comando nos pide la clave de recuperación por pantalla durante su ejecución para proceder a la creación de fichero dislocker-file.
dislocker -v -V /dev/hda3 -p -- /mnt/disco2
Comprobamos que se ha creado el fichero con el comando:
ls /mnt/disco2
Montamos el dispositivo con el comando mount:
mount -o loop,ro /mnt/disco2/dislocker-file /mnt/dis22
Acceder utilizando la contraseña de desbloqueo y una partición dislocker-file
En este caso vamos a ver cómo acceder a una unidad cifrada con BitLocker usando la contraseña de desbloqueo y generando de salida un fichero plano conteniendo todos los datos de la partición cifrada al que llamaremos “particion.ntfs”:
dislocker-file –v -V /dev/hda3 -u123456.abC -- particion.ntfs
Este comando tardará mucho más tiempo en función del tamaño de la unidad cifrada y dejará el contenido en el fichero “particion.ntfs” indicado, el cual podremos montar y acceder como en los ejemplos anteriores.
Explorar otras posibilidades
Podemos explorar otras posibilidades de Dislocker accediendo a su página man o ejecutando dislocker -h para ver otros parámetros que admite.
La instalación de este programa genera otros ejecutables que podemos utilizar para obtener información sobre la unidad cifrada BitLocker, como por ejemplo “dislocker-metadata” y “dislocker-find” para buscar una partición cifrada entre las particiones de nuestros discos.
Os recomendamos acceder al proyecto en el GitHub oficial, asimismo también podéis acceder a la página MAN de esta herramienta para conocer todos los comandos disponibles que tenemos.
Via: www.redeszone.net