Stats

  • Total des pages vues: 15655
  • Pages vues aujourd'hui: 151
  • Visiteurs connectés: 2
  • Nombre de visiteurs: 9834

Bash sous Windows

Written by aaSSfxxx - 08 july 2011

Ce petit tutorial a pour but de vous expliquer comment installer bash, le shell le plus répandu sous Linux, sur un système Windows. En effet, on peut avoir besoin d'un bon shell (notamment pour exploiter des buffer overflow, ou pour ne pas trop être dépaysé en retournant sous windows depuis Linux) à la place d'un shell imitant DOS, tel que cmd.exe.
L'avantage de posséder un bon shell est aussi la possibilité de pouvoir faire des scripts dignes de ce nom, sans passer par des horreurs tels que VBScript ou Batch. Je choisirai ici de vous faire installer MSYS, qui a l'avantage d'être léger et facilement transportable (contrairement à cygwin). Passons donc à son installation.

Installation du système de base

Nous allons tout d'abord télécharger le système MSYS de base: il s'agit d'un fichier .tar.gz (que l'on peut décompresser facilement à l'aide de 7-Zip). Vous pourrez le télécharger ici. Cette archive contient un système MSYS de base contenant la plupart des commandes essentielles: ls, cat, grep, cd ainsi que bash et son petit "frère" sh. Décompressez l'archive dans un dossier vide (par exemple C:\msys). A ce stade nous pouvons déjà lancer bash, mais toute commande échouera, puisque "/bin" n'est pas dans la variable PATH. Nous corrigerons ce souci dans la dernière partie du tutorial.

Installation de logiciels supplémentaires

A ce stade, nous avons bien les commandes de base, mais nous n'avons ni perl, ni d'autres outils sympathiques (ou utiles pour biffler exploiter un buffer overflow par exemple). Vous pouvez donc télécharger les utilitaires qu'il vous manque ici. Pour ma part, je prendrai perl ainsi que binutils (qui fournit la commande "strings"). Tous ces logiciels sont aussi distribués sous forme de .tar.gz qu'il faudra décompresser dans le même répertoire que le système de base (dans mon exemple, C:\msys). Cependant, si vous avez déjà installé perl (ou mingw) auparavant, il y a moyen de l'utiliser sans réinstallation. Je détaillerai tout cela dans la partie suivante.

Configuration

Maintenant que nous avons installé ce qu'il nous fallait (ou presque), et que rien ne se lance à l'état actuel, il nous faut procéder à quelques configurations.

Mise en place des variables d'environnement

Il nous faudra définir quelques variables d'environnement pour que tout fonctionne correctement:

  • PATH: il faut rajouter l'emplacement du dossier "bin" de votre installation de MSYS à la variable PATH, autrement dit C:\msys\bin chez moi.
  • HOME: cette variable va définir votre "répertoire utilisateur" de MSYS. Vous devrez mettre un chemin "UNIX" dedans, comme /home/aaSSfxxx.
  • SHELL: cette variable permet de définir le shell que vous utiliserez. Pour utiliser bash, mettez "/bin/bash".

Configurations auxilliaires

MSYS recrée une architecture UNIX avec pour répertoire racine "/" le dossier d'installation de MSYS. Il va ensuite monter les lecteurs windows dans des dossier dont le nom est la lettre du lecteur en minuscules. Ainsi on accède au lecteur C: via "/c". Il faut aussi noter que MSYS substitue automatiquement les chemins "windows" par des chemins UNIXisés dans les variables d'environnement. Vous n'aurez donc pas à vous soucier de ces détails.

Il est aussi possible de monter certains répertoire, en modifiant le fichier "/etc/fstab" c'est-à-dire c:\msys\etc\fstab (renommez le fichier fstab.sample qui s'y trouve en fstab). Cependant, on ne peut pas mettre de nom de dossier contenant des espaces. Il vous faudra donc utiliser la notation MS-DOS du dossier si celui-ci contient des espaces. Vous pouvez par exemple mettre votre répertoire personnel Windows (c:\Documents and Settings\utilisateur ou c:\Users\utilisateur) à votre répertoire personnel MSYS via cette technique.

Remarques additionneles

Par défaut, MSYS vient avec l'émulateur de terminal rxvt.exe, qui peut paraître assez austère (sauf si vous aimez le look Motif à la X11). Mais, vous pouvez aussi installer mintty

Enfin, comme vous avez pu le constater, MSYS est extrêment souple à installer, ainsi vous pouvez vous concocter une petite version "portable" de MSYS sur clé USB. Il vous faudra cependant trouver le moyen de définir les variables d'environnement nécessaires, et je vous laisse réfléchir pour trouver cette astuce. N'hésitez pas à partager vos "hacks" dans les commentaires!

Classified in : Hacking & Programming - Tags : MSYS, bash, linux, windows, installer, portable

thursday 15 september 2011 @ 11:55 [spammeur] said : #1

Avatar GravatarHello,

Merci d'avoir partagé cet article avec nous. Bonne journée.

Comments are closed.