Hace un tiempo ando explorando el mundo del cifrado LVM y  haciendo mis pequeñas pruebas en el cual podes encontrar algunos post pero hoy vamos hacer en tu propia raspberry.

Obviamente el procedimiento puede cambiar con el tiempo o con las actualizaciones de KALI LINUX en el cual vamos a intentar corregir algunos comando que ha usado KALI LINUX en su post.
POST ANTERIORES DE CIFRADO:
CFIRAR KALI LINUX

CAMBIAR LA CLAVE DEL CIFRADO

DUALBOOT Y CIFRAR KALI LINUX

Ahora el tema principal es una raspberry, como empezamos? Obviamente vamos a descargar la imagen de offsensive security.
Luego de haber descargado la imagen vamos a descomprimirla y vamos a subirla a nuestro micro SD, recuerda que la mínima cantidad es de 8GB.

unxz kali-version.img.xz

Ahora vamos a subirlo, recuerda que tenes que reconocerlo con fdisk

fdisk -l

En mi es “/dev/sdb” ahora si subamos la imagen

dd if=/root/Downloads/kali-2017.3-rpi3-nexmon.img of=/dev/sdb bs=4M

Ahora esperamos…!

PROCEDIMIENTO:

Aquí viene lo divertido, primero vamos es hacer montar imagen y correrlo con chroot. Creamos una carpeta

mkdir -p /mnt/chroot/boot

Montamos con la partición que te indica, recuerda sdb2 no es el boot.

mount /dev/sdb2 /mnt/chroot/
mount /dev/sdb1 /mnt/chroot/boot/
mount -t proc none /mnt/chroot/proc
mount -t sysfs none /mnt/chroot/sys
mount -o bind /dev /mnt/chroot/dev
mount -o bind /dev/pts /mnt/chroot/dev/pts

Listo tenemos todo montado, ahora vamos instalamos qemu, es estable para 32bits.

apt-get install qemu-user-static

Ahora vamos a seguir montando

cp /usr/bin/qemu-arm-static /mnt/chroot/usr/bin/

Ahora vamos acceder al chroot así manejar lo como un sistema, como docker.

LANG=C chroot /mnt/chroot/

Desde aquí ya podemos montarlo y actualizar el sistema y instalar paquetes y modificarlo.

apt-get update
 apt-get install busybox cryptsetup dropbear-initramfs


Ahora vamos a modificar cosas para el ssh, puede ser que lo puedes dejar al final la configuración del ssh también.

ssh-keygen -t rsa
dpkg-reconfigure openssh-server

Y lo principal ejecutar el SSH al encender.

nano /etc/crontab
* * * * * root /etc/init.d/ssh start


Listo! Esto lo va hacer útil para el proceso. Ahora sigamos con el cifrado.
Ahora cambiamos la contraseña por default

passwd

Ahora intentamos modificar el siguiente archivo recuerda solo una parte del texto no completo:

nano /boot/cmdline.txt

Por default es

dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0

Texto modificado:

dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mapper/crypt_sdcard cryptdevice=/dev/mmcblk0p2:crypt_sdcard rootfstype=ext4 rootwait rootflags=noload net.ifnames=0

Lo que agregaste

root=/dev/mapper/crypt_sdcard cryptdevice=/dev/mmcblk0p2:crypt_sdcard rootfstype=ext4

Ahora creamos y modificado lo siguiente:

echo initramfs initramfs.gz >> /boot/config.txt

Ahora recuerda que hemos creado una clave publica y vamos a copiarla y darle permiso.

cp /root/.ssh/id_rsa.pub /etc/dropbear-initramfs/authorized_keys
chmod 0600 /etc/dropbear-initramfs/authorized_keys


Ahora vamos abrir otra terminal que no este controlada con el chroot osea vamos a crear otra clave publica en tu maquina.

ssh-keygen -N "" -f kali-luks-unlock
cat kali-luks-unlock.pub > /mnt/chroot/etc/dropbear-initramfs/authorized_keys
chmod 0600 /mnt/chroot/etc/dropbear-initramfs/authorized_keys


Ahora continuamos en la chroot, recuerda que compartiste una clave ssh, bueno vamos agregar antes de la clave ssh.

nano /etc/dropbear-initramfs/authorized_keys
command="/scripts/local-top/cryptroot && kill -9 `ps | grep -m 1 'cryptroot' | cut -d ' ' -f 3`"


Ahora vamos agregar lo siguiente

echo "CRYPTSETUP=y" >> /etc/cryptsetup-initramfs/conf-hook

Y ahora aquí en su post de KALI LINUX, esta mal el comando y vamos hacer lo siguiente.

nano /etc/fstab

Por default aparece esto:

#              
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

Vas cambiar el cifrado:

#              
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mapper/crypt_sdcard  /               ext4    defaults,noatime  0       1


también editamos lo siguientes:

nano /etc/crypttab

Agregamos

crypt_sdcard /dev/mmcblk0p2 none luks


Luego el siguiente comando también esta equivocado y vamos a editar lo siguiente.

nano /usr/share/initramfs-tools/scripts/functions

CONTROL + W para buscar lo siguiente y agregar lo siguiente:
default

configure_networking()
{

Ahora agrega lo siguiente:

configure_networking()
{

echo "Waiting 5 seconds for USB to wake"
sleep 5


Ahora vamos a ver la versión

ls -l /lib/modules/ |awk -F" " '{print $9}'
mkinitramfs -o /boot/initramfs.gz 4.9.59-v7_Re4son-Kali-Pi+


Y salimos del chroot

exit

Desmontamos todo!

umount /mnt/chroot/boot
umount /mnt/chroot/sys
umount /mnt/chroot/proc
umount /mnt/chroot/dev/pts
umount /mnt/chroot/dev


Creamos para hacer nuestra copia de seguridad.

mkdir -p /mnt/backup
rsync -avh /mnt/chroot/* /mnt/backup/

Comienza hacer una copia de seguridad y a esperar.
Ahora desmontamos el chroot

umount /mnt/chroot

Ahora vamos a eliminar una partición obviamente no va hacer la BOOT.

echo -e "d\n2\nw" | fdisk /dev/sdb
echo -e "n\np\n2\n\n\nw" | fdisk /dev/sdb


Ahora vamos a cifrar la nueva particion.

cryptsetup -v -y --cipher aes-xts-plain64 --key-size 256 luksFormat /dev/sdb2

Y Ahora lo abrimos lo cifrado

cryptsetup -v luksOpen /dev/sdb2 crypt_sdcard

Y darle un formateo

mkfs.ext4 /dev/mapper/crypt_sdcard


Y ahora creamos una carpeta para montar el cifrado.

mkdir -p /mnt/encrypted
mount /dev/mapper/crypt_sdcard /mnt/encrypted/

Ahora vamos a pasar la copia de seguridad en la nueva partición.

rsync -avh /mnt/backup/* /mnt/encrypted/

Luego vamos a esperar que pase toda la copia de seguridad…
Vamos a desmotador el cifrado.

umount /mnt/encrypted/

Eliminamos la carpeta de backup

rm -rf /mnt/backup
sync

Ahora vamos a cerrar el volumen

cryptsetup luksClose /dev/mapper/crypt_sdcard

Ahora vamos a sacar la micro SD y lo vamos a subir a tu raspberry en mi caso usare 2B en caso de usar la 3, tenes un post para editar la network para que se conecto automáticamente por el WIFI.
Para buscar en tu red

arp-scan -l

Y ahora iniciamos con la clave publica

ssh -i kali-luks-unlock 192.168.1.4


Colocamos la clave del cifrado y luego iniciamos al ssh

ssh [email protected]


LISTO! acabas de iniciar, si quieres hacerlo en una raspberry PI 3 podes seguir estos paso o modificar el archivo de interfaces. Pincha aquí
También quiero agradecer a los de KALI LINUX al menos darme una idea.

Ahora si quisiera que lo compartas para que otra persona le puede ayudar.

Share Please!