GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo bombardear su instalación Kali cifrada

Ha habido bastante discusión sobre el parche nuclear LUKS recientemente introducido que agregamos al paquete cryptsetup en Kali Linux. Queríamos aprovechar esta oportunidad para explicar mejor esta función, así como para demostrar algunos enfoques útiles que vale la pena conocer.

LUKS Nuke en pocas palabras

Como bien explica Michael Lee en su artículo de ZDNet, al crear un contenedor LUKS encriptado, se genera una clave maestra al azar. A continuación, se utiliza una frase de contraseña para cifrar la clave maestra a su vez. Este proceso significa que la frase de contraseña no está directamente asociada a los datos. Es decir, si se cifran dos conjuntos de datos idénticos y se usa la misma frase de contraseña, las claves maestras siguen siendo únicas para cada conjunto y no se pueden intercambiar. Sin embargo, lo que esto también significa es que, independientemente de la frase de contraseña utilizada, si se pierde la clave maestra, es imposible recuperar los datos. Este proceso se presta convenientemente para ser utilizado como una bomba nuclear limpiando deliberadamente las teclas.

Ejemplo de caso de uso de LUKS Nuke

Nuestro objetivo principal al introducir esta función en Kali Linux es simplificar el proceso de viajar de forma segura con información confidencial del cliente. Mientras que "LUKS Nuking" su disco resultará en un disco inaccesible, es posible hacer una copia de seguridad de sus ranuras de llaves de antemano y restaurarlas después del hecho. Lo que esto nos permite hacer es "bloquear" nuestras computadoras portátiles sensibles antes de cualquier viaje, separarnos de las claves de restauración (que encriptamos) y luego "restaurarlas" en las máquinas una vez que regresen a un lugar seguro. De esta manera, si nuestro hardware se pierde o se accede a él a mitad de nuestro viaje, nadie podrá restaurar los datos en él, ni siquiera nosotros mismos.

Hay otras formas de eliminar sus ranuras de claves, sin embargo, la ventaja de la opción Nuke es que es rápida, fácil y no requiere que inicie sesión por completo en su instalación de Kali. Si mantiene una copia de seguridad de su encabezado, puede destruir las ranuras de teclas cuando se sienta incómodo. Luego realice una restauración cuando se sienta seguro.

Pruébelo usted mismo

Repasemos los movimientos de encriptación, copia de seguridad, destrucción y luego restauración de sus datos usando Kali Linux. Comience descargando e instalando Kali Linux 1.0.6 con Full Disk Encryption. Una vez hecho esto, puede verificar su información de la siguiente manera:

[email protected]:~# 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 puede ver, tenemos la ranura 0 habilitada con las ranuras 1 a 7 sin usar. En este punto, agregaremos nuestra clave nuclear.

[email protected]:~# apt install cryptsetup-nuke-password
[email protected]:~# dpkg-reconfigure cryptsetup-nuke-password

Esto no cambió nada en el contenedor LUKS, sino que instaló la contraseña nuclear y un pequeño gancho en el initrd. Este enlace detectará cuándo ingresa su contraseña nuclear en el momento del arranque y llamará a "cryptsetup luksErase ” en su contenedor LUKS en ese momento.

Maravilloso. Ahora necesitamos hacer una copia de seguridad de las claves de cifrado. Esto se puede hacer fácilmente con la opción "luksHeaderBackup".

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

Entonces, en nuestro caso, nos gustaría cifrar estos datos para su almacenamiento. Hay varias maneras de hacerlo, sin embargo, usaremos openssl para que el proceso sea rápido y fácil usando las herramientas predeterminadas en Kali.

[email protected]:~# 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:
[email protected]:~# 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
[email protected]:~# 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 cifrado listo para realizar una copia de seguridad. En este caso, nos gustaría colocar el encabezado en algún lugar al que se pueda acceder fácilmente. Esto podría ser tan simple como en una memoria USB guardada en un lugar seguro. En este punto, reiniciemos y hagamos uso de la tecla Nuke y veamos cómo responde Kali.

Así que usamos la tecla Nuke y, como era de esperar, ya no podemos iniciar Kali. Veamos qué sucedió en el disco real arrancando en un CD en vivo de Kali y volcando el encabezado LUKS nuevamente.

[email protected]:~# 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 ranuras para llaves en uso. El Nuke funcionó como se esperaba. Para restaurar el encabezado en su lugar, es una simple cuestión de recuperar el encabezado cifrado de su unidad USB. Una vez que tengamos eso, podemos descifrarlo y realizar nuestra restauración:

[email protected]:~# openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back
enter aes-256-cbc decryption password:
[email protected]:~# 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
[email protected]:~# 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

Nuestras tragamonedas ahora están restauradas. Todo lo que tenemos que hacer es simplemente reiniciar y proporcionar nuestra contraseña normal de LUKS y el sistema volverá a su estado original.


Linux
  1. ¿Cómo verificar la fecha de instalación de su sistema operativo Linux?

  2. Cómo quitar la contraseña de su clave SSL

  3. Metapaquetes de Kali Linux

  4. cómo actualizar homebrew con Cron en Mac os

  5. Uso de una sola frase de contraseña para desbloquear múltiples discos encriptados en el arranque

Cómo instalar VeraCrypt en Kali Linux

Cómo instalar Kali Linux en VirtualBox

Cómo usar traceroute en Kali Linux

Cómo encontrar la fecha y hora exactas de instalación de su sistema operativo Linux

Cómo firmar sus imágenes Docker para aumentar la confianza

Cómo recuperar su clave de activación de licencia de Plesk