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.
Journal chroot: comment sortir de prison à l'aide d'un complice
30
août
2003

# Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par niclone (page perso, jabber id) . Évalué à 6.
bash -i < fifo1 &> fifo2
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Alban Crequy (page perso, jabber id) . É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 (page perso, jabber id) . É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 (page perso) . Évalué à 2.
# Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par cykl . É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 (page perso, jabber id) . É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 (page perso) . É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 Hondelatte (page perso) . Évalué à 1.
[^] # Re: chroot: comment sortir de prison à l'aide d'un complice
Posté par Alban Crequy (page perso, jabber id) . Évalué à 1.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.