Derniers journaux de albancrequy :

Journal : chroot: comment sortir de prison à l'aide d'un complice

Posté par Alban Crequy (Jabber id, page perso, ) le 30 août 2003
0
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.

> Lire le journal (10 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: chroot: comment sortir de prison à l'aide d'un complice

Posté par niclone (Jabber id, page perso, ) le 30/08/2003 à 23:26. (lien). Évalué à 6.

Pour résoudre le problème du prompt pas affiché au bon endroit (et d'autres problèmes d'ailleurs):

bash -i < fifo1 &> fifo2

  • [^]Re: chroot: comment sortir de prison à l'aide d'un complice

    Posté par Alban Crequy (Jabber id, page perso, ) le 31/08/2003 à 00:05. (lien). Évalué à 1.

    Merci pour ta réponse ! Ca marche! Mais j'ai des questions.

    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 (Jabber id, page perso, ) le 31/08/2003 à 02:06. (lien). Évalué à 2.

      le &> permet de rediriger a la fois stdout (sortie standard) et stderr (sortie erreurs), et non seulement stdout.
      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, ) le 31/08/2003 à 09:52. (lien). Évalué à 2.

      il faudrait passer par un pty plutot qu'un fifo si tu veux que bash considère qui tourne dans un terminal et non dans un fichier. Mais j'ai aucune idée sur comment faire ça en shell ;)

Re: chroot: comment sortir de prison à l'aide d'un complice

Posté par cykl (Jabber id, ) le 31/08/2003 à 16:32. (lien). Évalué à 3.

Heu tu m'excuses mais je vois pas tellement l'interet, si j'ai un complice en dehors du chroot j'ai plus vite fait de lui demander son mot de passe, ou qu'il me foute une backdoor quelque part !

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 (Jabber id, page perso, ) le 31/08/2003 à 19:02. (lien). Évalué à 2.

    Effectivement, ça n'a aucun interet. Mais bon, c'est fun!

  • [^]Re: chroot: comment sortir de prison à l'aide d'un complice

    Posté par Le_Maudit Aime () le 05/09/2003 à 08:19. (lien). Évalué à 1.

    pas d'accord, avec un Linux RBAC à 30 km d'altitude cela peut valoir le coup, création de canaux caché et tout le toutim...

systrace

Posté par free2.org (page perso, ) le 02/09/2003 à 08:59. (lien). Évalué à 1.

de toutes façons il vaut mieux utiliser systrace que chroot

à 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, ) le 02/09/2003 à 21:20. (lien). Évalué à 1.

Hmmm ... tu n'aurais pas lu le dernier misc, toi ?

  • [^]Re: chroot: comment sortir de prison à l'aide d'un complice

    Posté par Alban Crequy (Jabber id, page perso, ) le 02/09/2003 à 23:09. (lien). Évalué à 1.

    Non. Pourquoi, ça parle de chroot?

Revenir en haut de page