J’ai pris une leçon de hack sur Bandit au PMClab
Publié le 14 décembre 2015 par Robin Lambert
Un lieu: le PMClab, fablab de l’université Paris VI. Un personnage: l’étudiant en sécurité informatique et hacker Daniel Bourdrez. Un objectif: découvrir le piratage avec le serious games «Bandit». Accrochez-vous, c’est parti.
Le hack informatique est à la portée de tous. Voilà la leçon que veut faire passer le jeu sérieux Bandit, un wargames du site OverTheWire. Promesse en l’air ? Pour s’en assurer, Makery est allé voir du côté du PMClab, le fablab associatif de l’université Pierre et Marie Curie à Paris, où Daniel Bourdrez, 25 ans, hacker, étudie la sécurité informatique. Il décrypte pour Makery les premiers niveaux du jeu.
Avant de jouer…
Sous Mac, ouvrir l’application Terminal dans le dossier Utilitaires ; sous Linux, Ctrl+Alt+T avec la plupart des distributions ; sous Windows, télécharger et installer Putty ou une machine virtuelle pour passer sous Linux ou Mac. Puis se rendre sur la page dédiée à Bandit sur OverTheWire pour suivre les instructions…
Le jeu peut commencer. Enfin presque…
Commencer par ne pas rester bloqué à Bandit0…
Ce « niveau » est en fait une étape préparatoire qui consiste à se connecter au serveur de jeu.
Sous PC, il suffit de démarrer Putty et d’entrer l’adresse bandit.labs.overthewire.org :
Et si on passait au niveau 1?
Une fenêtre s’ouvre qui demande le login (bandit0) et le mot de passe (bandit0 de nouveau) :
Le but consiste à trouver le mot de passe qui débloque le niveau suivant, situé dans un fichier texte.
« Le site va te donner tout un tas de commandes pour t’aider. Il ne va pas te donner LA commande, sinon ça serait trop facile. Et comme ça, tu regardes chaque commande, ce qu’elle fait, à quoi elle sert… »
Daniel Bourdrez
L’astuce : double-cliquer sur le mot de passe pour le copier, puis faire un clic droit pour le coller.
Pour atteindre Bandit2, jouer avec les noms de fichier
Le mot de passe pour le niveau suivant se trouve dans un fichier appelé « -« . Or, ce caractère est habituellement réservé pour ce que l’on appelle une « entrée standard ». Le bon apprenti hacker précisera donc à son ordinateur qu’il veut ouvrir un fichier qui s’appelle « -« , et non pas faire une entrée standard. Subtil…
Astuce : si le terminal semble bloqué, tapez Ctrl+C pour recommencer à entrer des commandes.
Pour Bandit3, jouer avec les espaces
Mince alors, des espaces dans le nom du fichier à ouvrir ! Il faut utiliser une petite technique… mais laquelle ?
Pour Bandit4, passer aux fichiers cachés
Pour accéder au prochain niveau, il faut ouvrir un fichier… caché ! Ici, nul besoin de nouvelles commandes à proprement parler, mais Daniel Bourdrez conseille de consulter le manuel de « ls »…
Pour Bandit5, ne pas «traumatiser le shell»…
Un dossier qui contient dix fichiers… oui mais lequel contient le mot de passe ? On peut toujours les ouvrir un à un, mais « tous sauf un contiennent des données brutes qui traumatiseront le shell », l’interface utilisateur du système d’exploitation. Pour faire les choses proprement, il faut trouver le seul fichier qui contient du texte, avec une commande qui n’a pas encore servi.
Au niveau 25 (difficile), opter pour la méthode «brute force»
Attention : niveau difficile. Certes, un démon (petit programme) peut fournir le code pour passer de Bandit24 à Bandit25. Mais on ne l’active qu’en échange du code pour le niveau 24 (obtenu en franchissant le niveau 23…), auquel il faut adjoindre un PIN (code à quatre chiffres).
Sans aucune indication, le seul moyen est d’essayer toutes les possibilités : c’est la méthode brute force. Heureusement, en informatique, on n’a pas à faire ce genre de choses à la main, on peut écrire un petit programme, un script, qui le fait pour nous et qui va essayer le PIN 0000, 0001, 0002… jusqu’à trouver le bon.
La solution pour ce niveau se trouve à cette adresse (attention spoiler).
Hors «Bandit», d’autres saluts
Côté français, le site root.me possède près de 200 challenges pour codeurs plus confirmés, et propose comme OverTheWire un classement par défi et par utilisateur. Sinon, il est toujours possible de contacter le hackerspace le plus proche de chez vous pour organiser des sessions avec ces jeux de hack.