Restablecimiento de la contraseña LUKS desde la CLI con la clave de recuperación

2

Tengo un dd de una computadora que tiene una partición encriptada con LUKS. No tengo la contraseña, pero sí tengo una clave de recuperación que me permitiría cambiar la contraseña a través de una interfaz GUI cuando se inicia el equipo. Desafortunadamente, ya no tengo acceso directo al equipo de origen para restablecer la contraseña.

Lo que deseo hacer es restablecer la contraseña con la clave de recuperación para poder acceder a los datos. Obviamente, puedo descargar la copia de dd en un disco duro y arrancar el sistema, pero ¿hay una manera de restablecer la contraseña LUKS con la clave de recuperación a través de una CLI? Estoy pensando que el escenario ideal es montar el DD y luego restablecer la contraseña.

Gracias

    
pregunta thefragileomen 22.05.2017 - 12:03
fuente

1 respuesta

1

Para la partición que está cifrada con LUKS, deberá obtener el desplazamiento de la partición, así como el tamaño del sector lógico del dispositivo. Usar sfdisk junto con una expresión regular es útil para esto. Suponiendo que el número de partición con LUKS es la partición 2, y el archivo de imagen es backup.img :

# set the partition number for LUKS and the image file
partdev=./backup.img
partnum=2

# get offset of partition, sector size, and the next free loop device
partoff=$(sfdisk -d $partdev | grep -oP "$partnum : start= .*\K[0-9]*"
secsize=$(stat -c %B $partdev)
loopdev=$(losetup -f)

# using these values, create a loop device, decrypt, and mount LUKS
losetup $loopdev -o $((partoff * secsize)) $partdev
cryptsetup luksOpen $loopdev backup_crypt
mount /dev/mapper/backup_crypt /mnt

Ahora tiene el sistema de archivos descifrado disponible en /mnt . Haz lo que quieras con eso. Cuando haya terminado, debe desmontar, cerrar el dispositivo LUKS y eliminar el dispositivo de bucle:

umount /mnt
cryptsetup luksClose backup_crypt
losetup -d $loopdev
    
respondido por el forest 01.12.2017 - 05:36
fuente

Lea otras preguntas en las etiquetas