Kali Linux Live Persistent

Avant de commencer quoi que ce soit salut à tous. Je suis de retour pour un nouvel article.

Je ne peut pas écrire cet article sans vous raconter cette petite annecdote.

Tout commence par une soirée organisé entre pote. Une soirée pas trop comme les autres, une soirée Hack entre poto. Celui qui arrive le premier à être root peut chambrer les autres et joué le beau goss. Le tout bien arrosé et quelques combat Teken, DBZ, Street Figther etc... Bon fin du décort, donc je me pointe à cette soirée et là il y a un pote qui se pointe avec une clé USB Live de Kali Linux en mode persistente. Quoi c'est quoi ce bordel une clé USB Live persistente ? Jamais vu jamais entendu parlé, fait voir ton truc... Woua c'est trop ouf, c'est vrai c'est une clé Live de Kali qui garde les données en persistent sur une autre partition sur la clé. C'est ouf j'ai les yeux qui brille je deviens ouf je pense déjà à mon retour et ma clé 32Go que je vais torturer.

Donc après quelques recherches je tombe sur un tutoriel sur le site même de Kali Linux en anglais mais assez simple à lire et à comprendre.

Donc j'ai mis en place ma petite clé USB Live persistente avec un petit plus qui est le chiffrement des donnée sur ma partition data celle ou est monté /.

Et maintenant on va faire ça ensemble step by step.

Donc c'est partit on se lance :

Pour commencer on partitione ma clé USB avec une partition principale de 4G pour créer dessus un Kali linux bootable avec Linux Live USB Creator.

Une fois la partition et le Live USB créer, je plug ma clé sur mon pc de bureau ou tourne une debian stretch pour faire quelque incantation.

pour commencer un petit fdisk pour voir les partition de ma clé :

root@shado:/home/shado# fdisk -l 
Disque /dev/sda : 931,5 GiB, 1000204886016 octets, 1953525168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xfd2bd5a0

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1  *     2046 1953523711 1953521666 931,5G  5 Extended
/dev/sda5        2048 1953523711 1953521664 931,5G 83 Linux

....
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1  *       2048  8273919  8271872    4G  b W95 FAT32

Je créer donc ma nouvelle partition sur l'espace restant qui est de 25 Go.

root@shado:/home/shado# fdisk /dev/sdb

Bienvenue dans fdisk (util-linux 2.25.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.

Commande (m pour l'aide) : n
Type de partition
   p   primaire (1 primaire, 0 étendue, 3 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (2-4, 2 par défaut) : 
Premier secteur (8273920-61734911, 8273920 par défaut) : 
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (8273920-61734911, 61734911 par défaut) : 

Une nouvelle partition 2 de type « Linux » et de taille 25,5 GiB a été créée.

Commande (m pour l'aide) : p
Disque /dev/sdb : 29,4 GiB, 31608274944 octets, 61734912 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x56d71f6b

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1  *       2048  8273919  8271872    4G  b W95 FAT32
/dev/sdb2       8273920 61734911 53460992 25,5G 83 Linux

Commande (m pour l'aide) : w

Maintenant que ma partition de data a bien été installer je vais en profiter pour chiffrer les données sur cette partition. Pour cela il faut que j'installe cryptosetup ainsi que les dépendances nécessaire.

apt install cryptsetup-bin cryptsetup cryptmount libcryptsetup4 libcryptsetup-dev

Une fois cela fait je vais chiffrer la partition au format LUKS (Linux Unified Key Setup) qui est le standard associé au noyau Linux pour le chiffrement de disque et de partition.

root@shado:/home/shado# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb2

WARNING!
========
Cette action écrasera définitivement les données sur /dev/sdb2.

Are you sure? (Type uppercase yes): YES
Saisissez la phrase secrète : 
Vérifiez la phrase secrète : 
Opération réussie.

On va maintenant ouvrir la partition chiffré puis ensuite créer un système de fichier ext4

root@shado:/home/shado# cryptsetup luksOpen /dev/sdb2 Kali_LiveP
Saisissez la phrase secrète pour /dev/sdb2 : 

root@shado:/home/shado# mkfs.ext4 -L persistence /dev/mapper/Kali_LiveP
mke2fs 1.42.12 (29-Aug-2014)
En train de créer un système de fichiers avec 6682112 4k blocs et 1671168 i-noeuds.
UUID de système de fichiers=d5e000ff-4cb4-4b8d-9409-f463ea0ecc6e
Superblocs de secours stockés sur les blocs : 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000

Allocation des tables de groupe : complété                        
Écriture des tables d'i-noeuds : complété                        
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Donc ça c'est fait maintenant on va donner un label (un nom) à ma partition :

root@shado:/home/shado# e2label /dev/mapper/Kali_LiveP persistence

Maintenant on va créer un point de montage pour bah monter notre partition et créer un fichier qui va gérer la persistance de nos données avec le système kali.

root@shado:/home/shado# mkdir -p /mnt/shadow
root@shado:/home/shado# mount /dev/mapper/Kali_LiveP /mnt/shadow
root@shado:/home/shado# echo "/ union" > /mnt/my_usb/persistence.conf

Une fois nos incantations terminé on va démonter notre point de montage et fermeture de la partition chiffré:

root@shado:/home/shado# umount /dev/mapper/Kali_LiveP
root@shado:/home/shado# cryptsetup luksClose /dev/mapper/Kali_LiveP

Voilà c'est fini on à créer notre clée USB Live de Kali Linux persitante et chiffré. C'était pas très difficile et maintenant j'ai mon nouveau gadget de sérial "hacker".

Maintenant il faut démarrer sur la clé USB et à l'affichage du grub on choisi Live USB Encrypted Persistence:

Et booommmmm !