LUKS parche arma nuclear KaliLinux

kali-hdd-shatter-1

Ha habido una buena cantidad de discusión en torno a la reciente introducción LUKS parche arma nuclear hemos añadido al paquete cryptsetup en Kali Linux. Queríamos aprovechar esta oportunidad para explicar mejor esta función, así como demostrar algunos enfoques útiles que se vale la pena llegar a conocer.

LUKS Nuke en un Nutshell

Como se explica más bien Por Michael Lee en su artículo ZDNet , cuando se crea un contenedor de LUKS cifrado, se genera una clave maestra al azar. Una frase de contraseña se utiliza para cifrar la clave maestra a su vez. Este proceso significa que la frase de contraseña no se acopla directamente a los datos. Es decir, si dos conjuntos de datos idénticos se cifran y la misma clave utilizada, las llaves maestras siguen siendo único para cada conjunto y no pueden ser cambiados.Lo que esto también significa, sin embargo, es que, independientemente de la clave utilizada, si se pierde la llave maestra, la recuperación de datos es imposible. Este proceso se presta convenientemente a ser utilizado como un arma nuclear limpiando deliberadamente las teclas.

Ejemplo  Uso de LUKS Nuke

Nuestro objetivo principal para la introducción de esta característica en Kali Linux es simplificar el proceso de viajar de forma segura con la información confidencial del cliente. Mientras que “LUKS Nuking” la unidad dará como resultado un disco completamente inaccesible, que es posible hacer copias de seguridad de sus keyslots antemano y restaurarlos después de los hechos. Lo que esto nos permite hacer es “ladrillo” nuestros portátiles sensibles antes de cualquier viaje, nos separamos de las claves de restauración (que ciframos), y luego en “restaurar” a las máquinas una vez de vuelta en un lugar seguro. De esta manera, si nuestro hardware se pierde o acceder de otro modo a medio camino a través de nuestros viajes, nadie es capaz de restaurar los datos en él, incluyendo a nosotros mismos.

Hay otras formas de eliminar sus keyslots, sin embargo, la ventaja de la opción Nuke es que es rápido, fácil y no requiere hacer login plenamente a su instalación Kali. Si usted mantiene una copia de seguridad de su cabecera, puede Nuke los keyslots cada vez que te sientes incómodo. Luego realizar una restauración cuando se sienta seguro.

Pruebe este caso usted mismo

Vamos a través de los movimientos de la encriptación, la copia de seguridad, destruir, y luego restaurar los datos usando Kali Linux. Comience por descargar e instalar Kali Linux 1.0.6 con Full Disk Encryption. Una vez hecho esto, se puede verificar la información de la siguiente manera:

root@kali-crypto:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: ENABLED
Iterations:             223775
Salt:                   7b ee 18 9e 46 77 60 2a f6 e2 a6 13 9f 59 0a 88
7b b2 db 84 25 98 f3 ae 61 36 3a 7d 96 08 a4 49
Key material offset:    8
AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Como puedes ver, tenemos la ranura 0 habilitada con ranuras 1 a 7 sin usar. En este punto, vamos a agregar nuestra llave arma nuclear.

root@kali-crypto:~# cryptsetup luksAddNuke /dev/sda5
Enter any existing passphrase:
Enter new passphrase for key slot:

Una vez más, vamos a volcar nuestra cabecera LUKS y ver lo que ha cambiado.

root@kali-crypto:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5
Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: ENABLED
Iterations:             223775
Salt:                   7b ee 18 9e 46 77 60 2a f6 e2 a6 13 9f 59 0a 88
7b b2 db 84 25 98 f3 ae 61 36 3a 7d 96 08 a4 49
Key material offset:    8
AF stripes:             4000
Key Slot 1: ENABLED
Iterations:             267782
Salt:                   8c e5 a2 31 60 2a f5 39 41 e9 52 94 eb 82 b8 c2
b7 a6 6e 4a 7a 0e b1 85 c2 3a 75 d6 a7 6a 76 b3
Key material offset:    512
AF stripes:             4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Maravilloso. Aquí vemos que tenemos ahora la ranura 1 se utiliza para la llave de la bomba nuclear. Ahora tenemos que hacer una copia de seguridad de los datos. Esto se puede hacer fácilmente con la opción “luksHeaderBackup”.

root@kali-crypto:~# cryptsetup luksHeaderBackup –header-backup-file luksheader.back /dev/sda5
root@kali-crypto:~# file luksheader.back
luksheader.back: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 126d0121-05e4-4f1d-94d8-bed88e8c246d
root@kali-crypto:~#

Así, en nuestro caso nos gustaría para cifrar estos datos para su almacenamiento. Hay un número de maneras en que esto se podía hacer, sin embargo vamos a usar openssl para hacer que el proceso de herramientas predeterminadas rápida y fácil usando en Kali.

root@kali-crypto:~# openssl enc -aes-256-cbc -salt -in luksheader.back -out luksheader.back.enc
enter aes-256-cbc encryption password:
Verifying – enter aes-256-cbc encryption password:
root@kali-crypto:~# ls -lh luksheader.back*
-r——– 1 root root 2.0M Jan  9 13:42 luksheader.back
-rw-r–r– 1 root root 2.0M Jan  9 15:50 luksheader.back.enc
root@kali-crypto:~# file luksheader.back*
luksheader.back:     LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 126d0121-05e4-4f1d-94d8-bed88e8c246d
luksheader.back.enc: data

Genial, ahora tenemos el encabezado cifrada listo para realizar copias de seguridad. En este caso, nos gustaría colocar la cabecera en algún lugar que sea fácilmente accesible. Esto podría ser tan simple como en una unidad flash USB que se guarda en un lugar seguro. En este punto, vamos a hacer uso de la tecla Nuke y vea cómo responde Kali.

Así que usamos la tecla Nuke, y como se esperaba ya no podemos arrancar en Kali. Vamos a ver lo que pasó en el disco actual por arrancar en un Kali vivir CD y la descarga del LUKS encabezado de nuevo.

root@kali:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: DISABLED
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Como podemos ver, no hay keyslots están en uso. El Nuke trabajó como se esperaba. Para restaurar el encabezado de nuevo en su lugar, es una simple cuestión de la recuperación de la cabecera de cifrado de la unidad USB. Una vez que tengamos eso, podemos descifrarlo y llevar a cabo nuestra restauración:

root@kali:~# openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back
enter aes-256-cbc decryption password:
root@kali:~# cryptsetup luksHeaderRestore –header-backup-file luksheader.back /dev/sda5

WARNING!
========
Device /dev/sda5 already contains LUKS header. Replacing header will destroy existing keyslots.

Are you sure? (Type uppercase yes): YES
root@kali:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: ENABLED
Iterations:             223775
Salt:                   7b ee 18 9e 46 77 60 2a f6 e2 a6 13 9f 59 0a 88
7b b2 db 84 25 98 f3 ae 61 36 3a 7d 96 08 a4 49
Key material offset:    8
AF stripes:             4000
Key Slot 1: ENABLED
Iterations:             267782
Salt:                   8c e5 a2 31 60 2a f5 39 41 e9 52 94 eb 82 b8 c2
b7 a6 6e 4a 7a 0e b1 85 c2 3a 75 d6 a7 6a 76 b3
Key material offset:    512
AF stripes:             4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Nuestros ranuras están restaurados. Todo lo que tenemos que hacer es simplemente reiniciar y proporcionar a nuestros contraseña normales LUKS y el sistema ha vuelto a su estado original.


(adsbygoogle = window.adsbygoogle || []).push({});

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s