chroot permet de créer une "prison" pour un processus en changeant son répertoire racine.
Ainsi, en tapant "chroot /chemin /bin/bash", chroot lance le programme /bin/bash en lui indiquant sa racine: /chemin.
Le programme chrooté ne peut donc pas voir les fichiers à l'extérieur de "sa" racine.
Voici comment "sortir" le processus de sa prison à l'aide d'un complice qui se trouve en dehors de la prison.
Créer une prison, c'est à dire un pseudo répertoire racine avec /bin et /lib dedans.
Créer deux fifo:
$ mkfifo fifo1
$ mkfifo fifo2
Ouvrir un terminal dans un environnement normal (pas chrooté). Ce sera notre complice.
Placez vous à la racine de l'environnement chrooté.
Puis tapez:
$ bash < fifo > fifo2
Et laissez le complice en place.
Maintenant, voici comment notre prisonnier peut "sortir".
Ouvrir un autre terminal et aller dans l'environnement chrooté:
$ chroot `pwd` /bin/bash
Vous êtes le prisonnier. Puis taper:
$ cat fifo2 &
$ cat > fifo
Et à partir de là, taper des commandes comme "ls -l /" pour voir... :)
Toute les commandes sont en fait éxécutées par le complice. Le prisonnier voit le résultat des commandes comme s'il n'était pas prisonnier.
Seul problème: le prisonnier ne voit pas le prompt. Tout se passe comme si on avait pour prompt une chaine vide.
Pour résoudre le problème, il fallait ajouter l'option -i:
$ bash -i < fifo > fifo2
Cette fois, le prompt est affiché... mais sur le terminal du complice!!! Le résultat des commandes passe quand même dans le fifo et est donc affiché dans le terminal du prisonnier.
# Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par niclone (site web personnel) . Évalué à 6.
bash -i < fifo1 &> fifo2
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Alban Crequy (site web personnel) . Évalué à 1.
Mais que veut dire le "&>" ?
La complétion ne marche toujours pas. Pourquoi?
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par niclone (site web personnel) . Évalué à 2.
Pour la complétion, je suppose que bash bufferise sont entrée standard (stdin), et n'execute ce que tu as tapé qu'au retour chariot.
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Troy McClure (site web personnel) . Évalué à 2.
# Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par ckyl . Évalué à 3.
Je ne vois aucun interet au truc, mais y'a ptete une subtilite qui m'echappe.
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Alban Crequy (site web personnel) . Évalué à 2.
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Le_Maudit Aime . Évalué à 1.
# systrace
Posté par free2.org . Évalué à 1.
à défaut oublies pas de compléter ton chroot par un iptables -m owner, sinon il est trop facile d'exploiter les services IP locaux ( ou utilises fireflier )
# Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Bruno (site web personnel) . Évalué à 1.
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Alban Crequy (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.