Choisir et installer un environnement d’entraînement légal
Le meilleur moyen de progresser en sécurité web est de pratiquer sur des applications faites pour être attaquées. Elles contiennent volontairement des failles, dans un cadre où l’on a le droit de les chercher. Cette leçon vous aide à choisir votre terrain de jeu et à l’installer proprement, sans jamais exposer une application vulnérable à Internet.
La règle d’or
Une application volontairement vulnérable ne doit jamais être accessible depuis Internet ni depuis un réseau que vous ne maîtrisez pas : n’importe qui pourrait l’utiliser pour compromettre votre machine. Installez-la dans un réseau isolé (voir le cours précédent sur le laboratoire virtuel) et arrêtez-la quand vous ne vous en servez pas. Et rappelez-vous : s’entraîner sur ces plateformes est légal ; tester un site réel sans autorisation écrite ne l’est pas (articles 323-1 à 323-3-1 du Code pénal).
Deux familles d’environnements
On distingue les applications que vous hébergez vous-même et les plateformes hébergées en ligne pour l’entraînement.
| Environnement | Type | Idéal pour |
|---|---|---|
| DVWA (Damn Vulnerable Web Application) | Application à installer en local | Comprendre les failles classiques avec des niveaux de difficulté réglables |
| OWASP Juice Shop | Application à installer en local | Une boutique moderne, avec des défis variés et un tableau de score |
| PortSwigger Web Security Academy | Laboratoires en ligne gratuits | Apprendre une famille de failles avec des explications et des exercices guidés |
| TryHackMe / HackTheBox | Plateformes en ligne de parcours et de machines | S’entraîner de manière guidée, puis progressivement plus libre |
Ces plateformes sont présentées ici comme des outils d’apprentissage légaux ; leur offre et leurs conditions évoluent, consultez leurs pages officielles. Les laboratoires hébergés en ligne ont une règle propre : on n’attaque que les machines et les laboratoires prévus par la plateforme, dans le cadre de ses conditions d’utilisation, jamais d’autres adresses.
Comment choisir ?
Voici un critère simple : que voulez-vous apprendre en premier ?
- Vous voulez comprendre le mécanisme d’une faille, en variant le niveau de protection pour voir comment la défense change la donne ? DVWA est excellent : chaque faille existe en plusieurs niveaux, du plus permissif au plus robuste.
- Vous voulez une application riche, proche d’un site réel, avec des défis à relever ? Juice Shop est un bon choix.
- Vous préférez un guidage pas à pas avec explications ? Les laboratoires de la PortSwigger Academy sont conçus pour cela.
Pour ce cours, nous utiliserons principalement DVWA et Juice Shop comme applications fil rouge, et nous citerons la Academy pour approfondir. Vous n’avez pas besoin de tout installer : un seul environnement suffit pour suivre.
Installer DVWA : démarche générale
Les instructions détaillées et à jour se trouvent dans la documentation officielle du projet ; elles changent avec les versions, c’est pourquoi nous nous limitons ici à la démarche. Elle est la même pour la plupart des applications d’entraînement :
- Préparer l’hôte : une machine virtuelle dédiée (par exemple une distribution Linux) sur un réseau interne ou en mode « hôte seulement ». Faites un instantané (snapshot) avant de commencer.
- Installer les prérequis : un serveur web, un langage serveur et une base de données, comme l’indique la documentation. Une alternative plus simple : utiliser des conteneurs préparés.
- Récupérer l’application depuis le dépôt officiel du projet, jamais depuis une copie trouvée ailleurs.
- Configurer l’accès local : l’application ne doit écouter que sur l’adresse locale ou le réseau isolé du labo.
- Initialiser la base via la page de configuration prévue, puis se connecter avec les identifiants de démonstration indiqués par la documentation.
- Régler le niveau de sécurité sur le plus bas pour débuter. Vous le relèverez ensuite pour constater ce qui change.
Pour Juice Shop, la démarche est comparable : l’application se lance souvent en une commande avec un conteneur, et s’ouvre dans le navigateur sur une adresse locale. Là encore, suivez la documentation officielle.
Vérifier que l’isolement est réel
Un contrôle simple, à faire avant de commencer : depuis une machine extérieure à votre labo (ou depuis un téléphone sur un autre réseau), l’application ne doit pas répondre. Si elle répond, votre pare-feu ou votre configuration réseau doit être corrigé avant toute chose. Un exemple de vérification locale :
ss -tlnp | grep LISTEN
Cette commande Linux liste les ports en écoute sur la machine. Regardez l’adresse associée au port de l’application : une adresse locale (127.0.0.1) signifie qu’elle n’est pas visible depuis l’extérieur de la machine, tandis qu’une adresse « toutes interfaces » exige que votre réseau virtuel soit réellement isolé.
Astuce
Prenez l’habitude de faire un instantané de la machine après une installation réussie. Si une expérience abîme la base de données, vous revenez à l’état propre en quelques secondes. DVWA propose d’ailleurs un bouton de réinitialisation de sa base.
Ce que vous trouverez dans l’application
Une fois l’application ouverte, prenez un moment pour la découvrir en simple utilisateur. Dans DVWA, un menu liste les catégories de failles ; dans Juice Shop, vous naviguez dans une boutique de jus, créez un compte, ajoutez des produits à un panier. Cette exploration en « utilisateur normal » est la première étape d’un vrai test : on ne peut pas chercher ce qui cloche avant d’avoir compris ce qui marche.
À vous de jouer
Installez l’environnement de votre choix dans votre laboratoire isolé, puis complétez votre carnet.
- Installez DVWA ou Juice Shop en suivant la documentation officielle, dans votre machine virtuelle.
- Faites un instantané « installation propre ».
- Vérifiez l’isolement : l’application ne répond pas depuis l’extérieur du labo.
- Mettez à jour l’en-tête du carnet : nom de l’application, adresse locale, date d’installation, niveau de sécurité choisi.
- Passez le trafic du navigateur dédié par votre proxy et repérez trois requêtes lors de la navigation.
Voir une solution
Votre carnet pourrait maintenant comporter : « Environnement : Juice Shop en conteneur, dans la VM Kali isolée, adresse locale uniquement. Instantané : installation propre. Isolement vérifié : aucun accès depuis le réseau domestique. » Si l’application répond depuis l’extérieur, ne continuez pas : repassez la machine virtuelle en réseau interne, ou lancez l’application en l’attachant à l’adresse locale seulement.
À retenir
- Les applications d’entraînement (DVWA, Juice Shop, PortSwigger Academy, TryHackMe, HackTheBox) sont le seul terrain de pratique de ce cours.
- Une application volontairement vulnérable doit rester isolée, jamais exposée à Internet.
- Installez toujours depuis la source officielle, puis faites un instantané.
- Explorez d’abord l’application comme un utilisateur normal.
- Notez l’environnement dans le carnet de test.
Votre terrain est prêt. La leçon suivante vous apprend à le cartographier méthodiquement.