Installer un chroot sous Linux avec Deboostrap

chroot-system

Cette procédure va couvrir le chroot sous Linux.

Un chroot, c’est quoi ?

Il s’agit d’une commande qui va permettre de changer temporairement, la racine de votre système.

Imaginons que nous sommes sur une Ubuntu 16.04 et que nous souhaitons compiler un binaire mais destiné à une plateforme Debian. La solution classique serait d’installer une machine virtuelle Debian et de compiler dessus.

Le chroot va permettre de créer un sous-système Debian sur notre Ubuntu et celui-ci sera contenu dans un dossier.

Dans notre installation Ubuntu, la racine est « / ». En installant un chroot, on aura une racine complète sous notre racine Ubuntu comme dans le schéma ci-dessus.

Petite remarque : si vous souhaitez copier un fichier ou un binaire de votre Ubuntu vers votre chroot Debian, il suffira de le copier dans l’arborescence du chroot ce qui à le mérite de rester très simple et rapide, comme par exemple :

cp monbinaire /root/debian-chroot/root/

Voilà pour les explications, passons à la pratique.

On commence par créer le dossier où résidera le chroot :

mkdir /root/debian-chroot

Installation :

Nous allons installer les applications nécessaires à la réalisation du chroot :

apt-get install -y debootstrap binutils

Une fois fait, nous allons utiliser debootstrap. C’est cet outil qui va permettre de créer la nouvelle arborescence Linux dans notre dossier. Avec debootstrap, on peut également choisir la distribution ainsi que la version qu’on veut utiliser, comme Android ou Debian Stretch.

Création de l’arborescence :

debootstrap --arch amd64 stretch /root/debian-chroot http://httpredir.debian.org/debian

Cette opération est longue car une nouvelle arborescence va être créée. Une fois terminée, on va lancer le chroot avec la commande suivante :

Le chroot :

chroot /root/debian-chroot /bin/bash

On peut changer le paramètre /bin/bash par le nom d’un binaire, si on ne souhaite pas de terminal mais uniquement lancer un exécutable comme un binaire Meterpreter par exemple.

 

Petite note :

Pour aller un peu plus loin, quittez votre chroot avec la commande exit. Certaines applications et services ne fonctionneront que si certaines ressources sont montées, comme /proc ou /sys. Pour démarrer le chroot avec toutes les ressources nécessaires, on va se déplacer dans le dossier adéquat, monter quelques ressources de la machine hôte puis lancer chroot comme-ceci :

cd /root/debian-chroot
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot /root/debian-chroot /bin/bash -l