Kali Linux en mode Live-CD
Ce mode de fonctionnement suppose que l’on souhaite effectuer non plus des tests d’intrusion mais plutôt essayer d’analyser, à posteriori, une machine ayant subi un crash. Cela implique alors que le système d’exploitation de la machine existe déjà et que celle-ci ayant subi des dommages, a été éteinte. Il est donc nécessaire de disposer de Kali Linux sous une forme indépendante de la machine physique, c’est-à-dire sur une clé USB.
Créer une clé USB Kali Linux bootable, dans un environnement Linux est relativement simple. En effet, l’environnement du bureau Gnome, installé dans de nombreuses distributions Linux, est livré avec un utilitaire de disques (appartenant au package gnome-disk-utility qui est également présent dans le format de l’image Kali Linux). Ce programme affiche la liste des disques actifs, et la rafraîchit systématiquement dès que l’on branche ou débranche un nouveau volume. En sélectionnant la clé USB vue depuis la liste de disques, les informations détaillées apparaissent alors et permettent de choisir le disque sur lequel on souhaite déposer la partition bootable :
REMARQUE : l’image ISO de Kali Linux à déposer sur la clé USB est généralement apparentée à une image légère (moins de 1Gio). Elle s’appelle d’ailleurs kali-linux-light-2018.4-amd64.iso et il en existe une version pour architecture ARM.
Il suffit alors de cliquer sur le bouton "menu" pointé ci-dessus et d’y sélectionner l’option "Restore Disk Image" dans la liste de menu proposée. On peut alors choisir l’image ISO précédemment téléchargée et cliquer sur le bouton "Start Restoring" ci-dessous :
Même si l’utilitaire graphique est très pratique, l’opération de création d’une clé USB est aussi simple qu’une simple commande.
En effet, lorsque l’on insère la clé USB, le noyau linux la détecte, lui assigne un nom qui est alors détaillé dans les traces du noyau que l’on peut inspecter au travers des logs via la commande dmesg :
Dans l’exemple ci-dessus, on découvre que la clé USB est accessible en tant que /dev/sdb. On peut alors effectuer la copie de l’image grâce à la commande suivante et rendre la clé bootable:
# dd if=kali-linux-light-2018.4-amd64.iso of=/dev/sdb bs=512k
ATTENTION : on a besoin de disposer des droits root pour effectuer ce genre d’opération. De plus, on peut également générer ou graver un DVD à partir de l’image ISO légère précédemment téléchargée.
Quel que soit le médium utilisé, il faut aussi penser à modifier le BIOS/UEFI qui est responsable du processus de démarrage afin de prendre en compte le fait que l’on va démarrer en priorité non plus ce qui sera trouvé sur le disque physique, mais la clé USB ou le CD-ROM détecté.
Pour accéder au menu de démarrage du BIOS, il faut généralement, dès l’ouverture de l’ordinateur, presser une touche : Del, Esc, F2 ou F10. Le choix à faire est affiché brièvement à l’écran à l’initialisation du système. Sur une machine virtuelle, il faut ouvrir le menu du démarrage et faire en sorte qu’au reboot suivant la machine ouvre automatiquement le menu du BIOS/UEFI :
Dès lors, l’insertion de la clé USB ou du CD dans le lecteur suffit à faire démarrer le système et permettre de booter en mode Live-CD.
ATTENTION : Bien que l’image de Kali Linux supporte le démarrage en mode UEFI, il ne supporte pas le démarrage sécurisé (aussi appelé secure boot). Il convient donc de le désactiver au niveau du menu d’initialisation.
Le mode Live-CD de Kali Linux possède deux options présentes dans le menu de démarrage par défaut :
- Le mode Live standard
- Le mode Live persistent
Ce dernier mode préserve les données du périphérique USB Kali Live après les redémarrages de la distribution Kali Live. Cela s’avère précieux afin de préserver les résultats de tests collectés, les configurations et autres documents, sur le périphérique USB de la suite Kali Linux Live, et ce, même pour des systèmes d’exploitation différents. Les données persistantes sont stockées dans leur partition propre sur la clé USB, qui peut d’ailleurs aussi être chiffrée via LUKS.
Afin de pouvoir utiliser l’option de persistance USB lors de la phase de démarrage, il est nécessaire d’ajouter une configuration supplémentaire sur le périphérique USB Kali Linux Live.
REMARQUE : on suppose que l’on a déjà créé la clé USB avec l’image Kali Linux dessus. La clé est reconnue en tant que /dev/sdb. De plus, on doit être root pour pouvoir effectuer les manipulations et la clé dispose d’une capacité d’au moins 8Gio.
Ainsi, nous allons créer une nouvelle partition de stockage pour y déposer les données persistantes dessus. Celle-ci commence juste après la seconde partition de Kali Live et se termine à 7 Gio. Il s’agit d’une partition ext4 dans laquelle on va créer un fichier persistence.conf. Sur notre clé USB, on devrait alors disposer de deux partitions (on peut le vérifier à l’aide de la commande fdisk –l):
- /dev/sdb1
- /dev/sdb2
Sur cette même clé, on va donc créer une nouvelle partition, sur l’espace disponible de la clé USB via les commandes suivantes :
# end=7gb # read start _ < <(du –bcm kali-linux-light-2018.4-amd64.iso | tail -1); echo $start # parted /dev/sdb mkpart primary $start $end
On notera que la commande parted peut avertir l’utilisateur qu’il ne peut utiliser les valeurs exactes de démarrage que l’on a précisé. Si c’est le cas on doit alors accepter en lieu et place, la valeur suggérée. De plus, si le message stipule que la partition n’est pas positionnée à un emplacement optimal, on peut l’ignorer. Lorsque l’exécution de parted est terminée, la nouvelle partition aura été générée et devra alors s’appeler /dev/sdb3. Là encore, on peut s’en assurer en exécutant la commande suivante :
# fdik -l
L’étape suivante consiste à typer la nouvelle partition en créant un système de fichiers de type ext4 et en le labellisant en "persistence" :
# mkfs.ext4 –L persistence /dev/sdb3 # e2label /dev/sdb3 persistence
On peut alors créer un point de montage afin de présenter le nouveau système de fichiers et d’y créer le fichier persistence.conf selon la méthode suivante :
# mkdir –p /mnt/media # mount /dev/sdb3 /mnt/media # echo "/ union" > /mnt/media/persistence.conf # umount /dev/sdb3
REMARQUE : si l’on souhaite chiffrer cette partition à l’aide de LUKS, il suffit d’initialiser le chiffrement LUKS (juste après la création de la nouvelle partition):
# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3 # cryptsetup luksOpen /dev/sdb3 media
A la fin il faut juste fermer le canal de chiffrement de la partition persistante :
# cryptsetup luksClose /dev/mapper/media
ATTENTION : on notera qu’au lieu de /dev/sdb3, lors de la création du point de montage pour le montage et démontage, on doit passer par l’utilisation du mapper :
# mkdir –p /mnt/media # mount /dev/mapper/media /mnt/media # echo "/ union" > /mnt/media/persistence.conf # umount /dev/mapper/media
Voilà pour ce qui est de l'utilisation du Live-CD. Il nous reste à voir l'utilisation de Kali Linux sur une architecture ARM.