Si queremos tener el Kali Linux sin virtualizar y sin querer instalarlo en nuestro disco duro para evitar problemas con el Grub, podremos bootear un pendrive y a la vez utilizarlo sin perder ningún tipo de información, este tipo de acción se conoce como persistente. Esta acción nos permitirá aprovechar toda la potencia de nuestro equipo y poder utilizar la tarjeta gráfica, por ejemplo para recuperar contraseñas a partir de la herramienta hashcat.
Para realizar esta práctica, utilizaré un pendrive de 64 GB USB 3.0, SanDisk CZ73, comprado en AliExpress, cuyo precio ronda sobre los 12€.
Comenzaremos descargando la imagen ISO Live de Kali Linux desde la página oficial. Recomiendo descargar la imagen semanal, ya que se encuentra actualizado, aunque no estén testeadas, pero en mi caso, nunca he tenido problemas.
Lo siguiente es descargar el programa Rufus, desde su página oficial. Lo iniciaremos con el pendrive conectado, seleccionamos la imagen iso de Kali y en la opción de partición persistente, moveremos la barra hasta el final. Las demás opciones, lo dejaremos por defecto y le damos a Empezar. Nos pedirá que el programa necesita paquetes adicionales, así que aceptamos. También nos saldrá un aviso de que se va a formatear el dispositivo, también aceptamos ya que el pendrive no debe contener ningún dato.
Cuando finalice, deberemos arrancar la máquina virtual de Kali Linux, creada anteriormente e insertaremos el pendrive.
Iniciaremos la terminal y ejecutaremos el siguiente comando:
sudo gparted
Se nos abrirá una ventana, en la cual debemos elegir nuestro pendrive para comprobar sus particiones. Tenemos que apuntar que partición corresponde a Linux Persistence, en mi caso es /dev/sdb2.
A continuación, cerramos la ventana de GParted y accederemos a la configuración del teclado. Tenemos que editar el idioma de Español a Inglés (EE.UU.). Este cambio se debe realizar porque a la hora de arrancar el sistema con el cifrado LUKS, utiliza el teclado con el idioma en inglés, por ejemplo, si nuestra contraseña contiene un guión (-), a la hora de pulsar esa tecla, en realidad está escribiendo la barra (/). Nosotros seguiremos poniendo nuestra contraseña con las teclas en español y así evitaremos confusión a la hora de escribir la contraseña.
Tras editar el idioma del teclado, en la terminal deberemos utilizar los siguientes comandos para iniciar el cifrado LUKS en la partición que hemos anotado, en mi caso es /dev/sdb2.
sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/<partición>
sudo cryptsetup luksOpen /dev/<partición> my_usb
En el proceso, nos preguntará que se sobreescribirá los datos, debemos teclear en mayúsculas YES e introduciremos la contraseña que queramos.
Crearemos el sistema de archivos ext3 (también se puede utilizar ext4) y lo etiquetamos como "persistence".
sudo mkfs.ext3 -L persistence /dev/mapper/my_usb
sudo e2label /dev/mapper/my_usb persistence
Crearemos un punto de montaje, montaremos ahí nuestra nueva partición cifrada, configuraremos el archivo persistence.conf, desmontaremos la partición y cerraremos el canal enciptado de nuestra partición persistente.
sudo mkdir -p /mnt/my_usb
sudo mount /dev/mapper/my_usb /mnt/my_usb
echo "/ union" | sudo tee /mnt/my_usb/persistence.conf
sudo umount /dev/mapper/my_usb
sudo cryptsetup luksClose /dev/mapper/my_usb
Con todo este proceso, hemos creado nuestro pendrive con persistencia y encriptado. Finalizaremos volviendo el idioma del teclado de la máquina virtual al español y lo apagaremos.
Para comprobar que funciona nuestro pendrive, deberemos reiniciar nuestro equipo con el pendrive conectado e iniciaremos el dispositivo USB desde la BIOS. También deberemos tener la opción del Secure Boot desactivado.
Nos aparecerá el menú del Boot y deberemos elegir la opción de Live USB Encrypted Persistence. Automáticamente nos aparecerá una pantalla para desbloquear la partición cifrada, aquí deberemos insertar la contraseña que le hemos definido anteriormente. Recuerda que el teclado está en inglés, que aunque hayamos definido nuestra contraseña con el carácter del guión (-), el sistema va a identificarlo como la barra (/).
Tras verificar que la contraseña es correcta, tendremos acceso al sistema y podremos configurar el idioma como se hizo en el artículo de Instalación y configuración de Kali Linux en VirtualBox.
Exploitables es una comunidad de ciberseguridad y tecnología nacida en Málaga. Queremos compartir conocimientos de manera desinteresada.