Advertisement

header ads

APRENDE A CIFRAR TU RASPBERRY CON KALI LINUX

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.

Publicar un comentario

0 Comentarios