Tout d’abord, il est bon de rappeler quelques petites choses.

Le Capture The Flag (CTF) est un exercice d’entraînement pour les pentesters. Pour cela, on utilise une machine vulnérable qui dispose d’informations cachées, souvent sous la forme de fichiers texte flag.txt.

Attention: il est interdit de s’entraîner sur des serveurs “réels” sans l’autorisation de son propriétaire.

Pourquoi faire du CTF ? Qui fait ca ?

Ce petit guide est destiné à tous ceux qui s’intéressent au pentest (test de pénétration), mais qui n’ont pas d’expérience dans ce domaine.

Comme il faut quand même un minimum de pré-requis, je vais supposer que vous avez une certaine expérience dans le développement et que vous êtes à l’aise avec la ligne de commande. J’essayerai, dans la mesure du possible, de vous dire exactement quelle commande entrer ainsi que ce que fait la commande.

J’espère que cela permettra à davantage de personnes (et surtout des développeurs) à découvrir le monde du hacking éthique. Et même si votre voyage s’arrête après cet article, j’espère que vous aurez une meilleure compréhension de certains outils et techniques que les hackers pourraient utiliser pour attaquer votre site web.

Mise en place d’un lab

Il existe d’innombrables façons de mettre en place un lab. Mais la plus simple n’implique que trois choses:

    • Une machine virtuelle victime, qui est intentionnellement vulnérable
    • Une machine virtuelle d’attaque
    • Une application de virtualisation pour lancer ses machines
Attention: travailler avec des environnements intentionnellement vulnérables peut être dangereux, car ils introduisent des vulnérabilités dans le réseau dont ils font partie (mais nous allons voir comment atténuer ce risque).

La victime

Comme vous l’avez compris, vous aurez besoin d’un système vulnérable que vous avez la permission de pirater. Un bon endroit pour les trouver est Vulnhub.com. Vulnhub est une plateforme qui possède des tonnes d’environnements intentionnellement vulnérables, mais il propose également de nombreuses informations par le biais de sa communauté sur la façon d’en tirer parti. Pour ce guide, je vais utiliser “Sumo: 1”. Vous pouvez dès à présent le télécharger ici.

L’attaquant

Vous aurez également besoin d’une machine pour attaquer, idéalement une machine qui a déjà des outils de hack préinstallés. Kali est un OS très connus pour cela, il est conçu spécifiquement pour les pentests. J’ai décidé de télécharger un ISO de Kali que j’ai installé sur une VM vide sur mon VirtualBox. Vous pouvez le télécharger directement sur le site officiel.

Le réseau

Maintenant que nous avons nos fichiers des machines virtuelles, vous aurez besoin d’une application de virtualisation pour les faire fonctionner. VMware est un choix très populaire pour cela mais, encore une fois, sur les conseils que j’ai mentionné ci-dessus, j’ai choisi VirtualBox. Vous pourrez le télécharger sur le site officiel.

Vous devriez maintenant pouvoir importer les machines que vous avez téléchargées précédemment en ouvrant simplement chaque fichier .ova avec VirtualBox ou en les installant depuis des ISO.

À ce stade, vous devriez voir quelque chose comme ceci :

“Kali” est votre machine d’attaque et “Sumo: 1” est votre victime.

Maintenant, pour chacune des deux VM :

  1. Cliquez avec le bouton droit de la souris sur la VM et sélectionnez “Configuration”.
  2. Commencez par aller dans l’onglet “Ports” et assurez-vous que “Activer le contrôleur USB” est décoché.
  3. Allez maintenant dans l’onglet “Réseau”, “Adapter 1” puis mettez “Mode d’accès réseau” sur “réseau interne”.
  4. Changer le nom du réseau par “lab-network”.

Maintenant que les deux machines sont réglées pour fonctionner sur un “réseau interne”, elles ne pourront plus communiquer ni avec Internet ni avec l’hôte (c’est-à-dire votre ordinateur).

Astuce: vous aurrez peut-être besoin d’informations ou de données d’Internet depuis votre machine d’attaque.
Il est possible d’ajouter un adapter (“Adatper 2”) et mettre “Mode d’accès réseau” sur “NAT”.

Cette séparation est la raison pour laquelle nous pouvons faire fonctionner la machine victime intentionnellement vulnérable sans nous soucier que quelqu’un d’autre l’exploite pour pénétrer notre réseau ou que la machine vulnérable puisse corrompre notre machine hôte.

Mais pour que les deux machines virtuelles puissent communiquer entre elles sur le réseau interne, vous devrez ajouter un serveur DHCP à votre nouveau réseau afin d’attribuer des adresses IP aux machines virtuelles. Pour ce faire, ouvrez une fenêtre de terminal et entrez cette commande:

VBoxManage dhcpserver add --network="lab-network" --server-ip="10.10.10.1" --netmask="255.255.255.0" --lower-ip="10.10.10.2" --upper-ip="10.10.10.10" --enable

En gros, cette commande ajoute un serveur DHCP au réseau de la VirtualBox nommé “lab-network” (si vous avez nommé votre réseau autrement, assurez-vous d’entrer la commande ci-dessus avec votre nom de réseau) et nous lui donnons l’adresse IP 10.10.10.1 et lui disons d’attribuer aux autres machines du réseau des adresses IP comprises entre 10.10.10.2 et 10.10.10.10.

Votre lab est maintenant installé et vous pouvez démarrer vos machines victimes et d’attaque depuis VirtualBox en double-cliquant dessus. Chaque machine doit démarrer dans sa propre fenêtre.

Astuce: il est possible de lancer une VM sans avoir la fenêtre, souvent inutile sur les machines victimes.
Pour ce faire, faites clique droit sur la VM, “Démarrer” et cliquez sur “Démarrage sans affichage”.

La machine victime devrait ressembler à ceci :

Et la machine d’attaque doit ressembler à ceci (j’utilise le bureau Gnome avec Kali) :

Nous n’avons rien à faire avec la machine victime, nous pouvons donc la laisser tranquille pour l’instant. Pour se connecter à la machine d’attaque, utilisez le mot de passe saisie lors de l’installation. Une fois que vous êtes connecté, ouvrez le terminal à partir du dock sur la gauche.

Vous êtes maintenant prêts pour votre premier exercice de CTF avec une VM de Vulnhub!

Pour une visite guidée du hack actuel, continuez à lire la partie 2 de cette série !