Créer son premier laboratoire de cybersécurité

Pour apprendre la cybersécurité et le pentesting, il est indispensable de disposer d'un environnement permettant d'expérimenter sans mettre en danger des systèmes réels. Cet environnement est appelé laboratoire de cybersécurité.

Dans ce tutoriel, nous allons construire un premier laboratoire simple avec Kali Linux comme machine de pentesting et DVWA comme application volontairement vulnérable.

 

1. Qu'est-ce qu'un laboratoire de cybersécurité ?

Un laboratoire de cybersécurité est un environnement spécialement conçu pour apprendre, expérimenter et tester des techniques de sécurité informatique dans des conditions contrôlées.

Il permet notamment d'utiliser des outils de reconnaissance, d'analyser des services réseau, d'étudier des vulnérabilités et de comprendre le fonctionnement d'une attaque sans intervenir sur des systèmes qui ne nous appartiennent pas.

Un laboratoire peut être constitué de plusieurs ordinateurs physiques, mais il est beaucoup plus pratique d'utiliser des machines virtuelles.

Grâce à un logiciel de virtualisation comme VirtualBox, plusieurs systèmes d'exploitation peuvent fonctionner sur un même ordinateur.

Un laboratoire de pentesting contient généralement au moins deux éléments :

  • une machine de pentesting contenant les outils de cybersécurité ;
  • une machine ou application cible destinée aux expérimentations.

Dans notre cas, Kali Linux jouera le rôle de la machine de pentesting.

 

2. Pourquoi créer un laboratoire de cybersécurité ?

La cybersécurité ne peut pas être étudiée uniquement de manière théorique. Il est nécessaire de manipuler les systèmes, les réseaux et les différents outils utilisés par les professionnels de la sécurité.

Le laboratoire permet de réaliser ces manipulations dans un environnement contrôlé.

Il permet notamment de :

  • apprendre à utiliser Kali Linux ;
  • comprendre le fonctionnement d'un réseau ;
  • identifier les machines présentes sur un réseau de test ;
  • rechercher les ports ouverts ;
  • identifier les services disponibles ;
  • utiliser des outils comme Nmap, curl ou Burp Suite ;
  • étudier des applications volontairement vulnérables ;
  • comprendre progressivement les différentes étapes d'un pentest.

Le laboratoire offre également la possibilité de faire des erreurs sans compromettre un serveur de production ou les données d'un utilisateur.

 

3. Architecture de notre premier laboratoire

Pour commencer, il n'est pas nécessaire de créer une infrastructure complexe composée de nombreuses machines virtuelles.

Nous allons utiliser une architecture relativement légère :

Dans cette architecture, les différents éléments possèdent des rôles précis.

La machine Windows

Windows constitue le système hôte. Il exécute VirtualBox ainsi que XAMPP.

Kali Linux

Kali Linux fonctionne dans VirtualBox et constitue notre machine de pentesting.

Nous utiliserons progressivement ses différents outils pour observer et analyser notre environnement de laboratoire.

DVWA

DVWA, pour Damn Vulnerable Web Application, est une application Web volontairement vulnérable destinée à l'apprentissage de la sécurité Web.

Elle constituera notre première cible.

 

4. Qu'est-ce que DVWA ?

DVWA signifie Damn Vulnerable Web Application. Il s'agit d'une application Web volontairement vulnérable conçue spécialement pour l'apprentissage et l'entraînement à la sécurité des applications Web.

Contrairement à une application Web classique, dans laquelle les développeurs cherchent à corriger les failles de sécurité, DVWA contient volontairement plusieurs vulnérabilités. L'objectif est de permettre aux étudiants, administrateurs, développeurs et pentesters de comprendre ces vulnérabilités et d'apprendre à les détecter dans un environnement contrôlé.

DVWA n'est pas un outil de Kali Linux

Il est important de bien distinguer Kali Linux et DVWA.

Kali Linux constitue notre machine de pentesting. Il contient de nombreux outils permettant d'analyser et de tester la sécurité d'un système.

DVWA constitue au contraire notre application cible. Dans notre laboratoire, elle sera installée sur Windows à l'aide de XAMPP.

Il n'est donc pas nécessaire d'installer DVWA dans Kali Linux pour suivre notre laboratoire. Kali communiquera avec l'application DVWA hébergée sur Windows à travers le réseau.

De quoi DVWA a-t-elle besoin pour fonctionner ?

DVWA est une application Web principalement écrite en PHP. Pour fonctionner dans notre laboratoire, elle a notamment besoin :

  • d'un serveur Web Apache pour recevoir les requêtes HTTP ;
  • de PHP pour exécuter l'application ;
  • d'un système de base de données tel que MariaDB ;
  • d'un navigateur Web pour accéder à l'application.

XAMPP est particulièrement pratique pour notre laboratoire car il fournit dans un même environnement Apache, PHP et MariaDB.

Quel est le rôle de DVWA dans notre laboratoire ?

DVWA va servir de cible volontairement vulnérable. Elle nous permettra progressivement de comprendre différentes catégories de failles rencontrées dans les applications Web.

Elle contient notamment des exercices permettant d'étudier des vulnérabilités comme :

  • les injections SQL ;
  • les vulnérabilités XSS ;
  • certaines faiblesses liées à l'authentification ;
  • les mauvaises validations des entrées utilisateur ;
  • certaines vulnérabilités liées à l'inclusion ou au téléchargement de fichiers ;
  • d'autres erreurs classiques de sécurité des applications Web.

Ces vulnérabilités sont présentes volontairement. DVWA ne doit donc pas être considérée comme une application Web destinée à être publiée normalement sur Internet.

Télécharger et installer DVWA

Dans notre laboratoire, DVWA sera installée sur Windows et non sur Kali Linux. Windows hébergera donc l'application vulnérable tandis que Kali Linux sera utilisé comme machine de pentesting.

Avant d'installer DVWA, assurez-vous que XAMPP est déjà installé sur Windows. Nous utiliserons notamment Apache, PHP et MariaDB fournis par XAMPP.

1. Télécharger DVWA

DVWA est un projet open source. La version officielle peut être téléchargée depuis son dépôt GitHub.

Accédez au dépôt officiel de DVWA puis téléchargez la dernière version sous forme de fichier ZIP.

Après le téléchargement, vous obtenez une archive contenant les fichiers de l'application DVWA.

2. Décompresser DVWA

Décompressez l'archive téléchargée.

Le dossier obtenu peut porter un nom comme :

Pour simplifier les prochaines manipulations, renommez ce dossier :

3. Placer DVWA dans XAMPP

XAMPP utilise généralement le dossier suivant comme répertoire principal des applications Web :

Copiez le dossier dvwa dans ce répertoire afin d'obtenir :

DVWA fait maintenant partie des applications Web pouvant être servies par Apache.

4. Préparer le fichier de configuration

Dans le dossier :

DVWA fournit un fichier de configuration modèle nommé :

Créez une copie de ce fichier et nommez la copie :

Le fichier config.inc.php contient notamment les paramètres utilisés par DVWA pour se connecter à sa base de données.

5. Démarrer Apache et MySQL dans XAMPP

Ouvrez le panneau de contrôle de XAMPP puis démarrez les services :

  • Apache ;
  • MySQL.

Apache exécutera l'application Web tandis que MySQL/MariaDB sera utilisé pour la base de données de DVWA.

6. Ouvrir la page d'installation de DVWA

Depuis le navigateur Web de Windows, ouvrez :

Vous pouvez également utiliser :

La page Setup DVWA permet de vérifier la configuration de l'environnement et de préparer la base de données.

7. Créer la base de données

Sur la page d'installation de DVWA, utilisez le bouton :

DVWA tentera alors de créer ou de réinitialiser sa base de données à partir des paramètres définis dans config.inc.php.

Si une erreur de connexion à la base de données apparaît, il faudra vérifier les paramètres du fichier :

Une fois l'installation terminée, DVWA pourra être ouverte depuis Windows avec :

8. Accéder ensuite à DVWA depuis Kali Linux

Lorsque DVWA fonctionne correctement depuis Windows, nous pourrons essayer d'y accéder depuis Kali Linux.

Cette fois, nous n'utiliserons pas localhost, car localhost depuis Kali désigne Kali elle-même.

Nous utiliserons l'adresse IP de Windows accessible depuis notre réseau de laboratoire. Par exemple :

L'adresse exacte dépend de la configuration réseau de Windows et de VirtualBox. Nous verrons dans la suite du tutoriel comment identifier cette adresse et vérifier la communication entre Kali Linux et Windows.

Comment accéder à DVWA depuis Kali Linux ?

Après avoir installé et configuré DVWA sur Windows, nous pourrons y accéder depuis le navigateur Web de Kali Linux en utilisant l'adresse IP de la machine Windows.

Par exemple, si l'adresse IP de Windows utilisée par notre laboratoire est :

et si DVWA est installée dans le répertoire dvwa du serveur XAMPP, nous pourrons essayer depuis Kali :

Cette adresse ne signifie pas que DVWA est installée dans Kali. Le navigateur de Kali envoie simplement une requête réseau au serveur Apache fonctionnant sur Windows.

Le principe est donc le suivant :

DVWA constitue ainsi notre première véritable cible d'entraînement. Nous pourrons l'utiliser dans les prochains chapitres pour découvrir progressivement les principes du pentesting Web.

 

5. Préparer la machine Kali Linux

Avant de commencer les expérimentations, nous devons vérifier que Kali Linux fonctionne correctement et possède une interface réseau active.

Ouvrez un terminal sous Kali Linux puis utilisez la commande suivante :

Cette commande affiche les différentes interfaces réseau de la machine ainsi que leurs adresses IP.

Vous pourrez généralement rencontrer une interface portant un nom comme :

ou :

Pour afficher la table de routage de Kali Linux, utilisez :

Cette commande permet notamment d'identifier la passerelle utilisée par la machine.

Nous pouvons également vérifier que l'interface réseau fonctionne en testant la communication avec la passerelle de notre réseau de laboratoire.

L'adresse IP obtenue doit être conservée car elle nous permettra de comprendre comment les différentes machines communiquent.

 

6

Notre machine Kali Linux doit disposer d'une cible sur laquelle nous avons explicitement le droit d'effectuer des tests.

Nous allons utiliser DVWA, une application spécialement créée pour l'apprentissage de la cybersécurité Web.

DVWA peut être installée sur Windows à l'aide de XAMPP.

Rôle de XAMPP

XAMPP permet d'installer facilement un environnement de serveur Web local comprenant notamment :

  • Apache ;
  • MariaDB ;
  • PHP.

Après installation de XAMPP, DVWA peut être placée dans le répertoire Web de XAMPP, généralement :

Une installation de DVWA peut par exemple être placée dans :

Apache et MariaDB doivent ensuite être démarrés depuis le panneau de contrôle de XAMPP.

Avant de continuer, il faut vérifier depuis Windows que DVWA fonctionne correctement dans le navigateur.

Lorsque DVWA fonctionne sur Windows, nous pouvons essayer d'y accéder depuis Kali Linux en utilisant l'adresse IP de Windows plutôt que localhost.

 

7. Configurer le réseau du laboratoire

La configuration réseau constitue une étape essentielle du laboratoire.

VirtualBox propose plusieurs modes réseau pour les machines virtuelles.

Mode NAT

Le mode NAT permet principalement à la machine virtuelle d'accéder à Internet en utilisant la connexion de l'ordinateur hôte.

Accès par pont

Le mode accès par pont permet à la machine virtuelle d'apparaître comme une machine supplémentaire sur le réseau local.

Kali peut alors recevoir sa propre adresse IP sur le même réseau que l'ordinateur Windows.

Réseau privé hôte

Le réseau privé hôte permet de créer un réseau entre l'ordinateur hôte et les machines virtuelles.

Cette solution est particulièrement intéressante pour construire un laboratoire contrôlé.

Réseau interne

Le réseau interne permet aux machines virtuelles appartenant au même réseau virtuel de communiquer entre elles sans nécessairement communiquer avec le réseau physique.

Le choix du mode dépend donc de l'architecture du laboratoire. Pour les premières expérimentations, l'objectif principal est de permettre à Kali Linux de communiquer avec la cible tout en limitant autant que possible l'exposition des applications volontairement vulnérables.

 

8. Vérifier la communication entre Kali et la cible

Avant d'utiliser des outils de cybersécurité, nous devons vérifier que Kali Linux peut communiquer avec la machine Windows qui héberge notre cible.

Sur Windows, ouvrez l'invite de commandes et exécutez :

Recherchez l'adresse IPv4 correspondant à l'interface réseau utilisée.

Supposons, uniquement à titre d'exemple, que l'adresse de Windows soit :

Depuis Kali Linux, nous pouvons tester la communication avec :

Pour interrompre la commande ping, utilisez :

Si un serveur Web est disponible sur la machine cible, nous pouvons également effectuer une requête HTTP avec :

Pour accéder directement à DVWA, l'adresse pourrait par exemple être :

L'adresse exacte dépend naturellement de la configuration du laboratoire.

Attention à localhost

Une erreur fréquente consiste à utiliser localhost depuis Kali Linux pour essayer d'accéder au serveur XAMPP installé sous Windows.

Dans Kali Linux :

désigne Kali Linux elle-même et non la machine Windows.

Pour contacter Windows depuis Kali, il faut donc utiliser l'adresse IP de Windows accessible depuis le réseau du laboratoire.

 

9. Découvrir la cible depuis Kali Linux

Lorsque la communication entre les deux machines fonctionne, nous pouvons réaliser une première reconnaissance de notre cible.

L'un des outils fondamentaux disponibles sous Kali Linux est Nmap.

Nmap permet notamment d'identifier les ports ouverts et les services réseau accessibles sur une machine.

Pour effectuer un scan simple de notre machine de laboratoire, nous pouvons utiliser :

Remplacez naturellement cette adresse par l'adresse IP réelle de votre propre machine cible.

Nmap peut retourner des informations semblables aux suivantes :

La colonne PORT indique le numéro du port réseau.

La colonne STATE indique notamment si le port est ouvert.

La colonne SERVICE indique le service généralement associé au port.

Par exemple, le port 80 est habituellement associé au protocole HTTP utilisé par les serveurs Web.

Nous pouvons également demander à Nmap d'essayer d'identifier les services et leurs versions sur notre cible de laboratoire :

Cette première reconnaissance permet de comprendre un principe fondamental du pentesting : avant d'étudier la sécurité d'un système, il faut commencer par identifier les services qu'il expose.

Nous approfondirons ces techniques dans les chapitres consacrés à la reconnaissance, au scan et à l'énumération.

 

10. Règles de sécurité dans un laboratoire

Un laboratoire de cybersécurité doit rester un environnement d'apprentissage contrôlé.

Il faut respecter plusieurs règles fondamentales :

  • effectuer les tests uniquement sur ses propres machines ou applications de laboratoire ;
  • ne jamais scanner ou tester un système tiers sans autorisation explicite ;
  • éviter d'exposer directement sur Internet une application volontairement vulnérable ;
  • utiliser des données fictives dans les applications de test ;
  • ne pas réutiliser ses véritables mots de passe dans le laboratoire ;
  • effectuer des sauvegardes ou des snapshots des machines virtuelles avant certaines expérimentations ;
  • isoler autant que possible les machines volontairement vulnérables du réseau de production.

Ces précautions permettent d'apprendre les techniques de cybersécurité sans mettre en danger les autres équipements du réseau.

Une règle doit toujours être retenue : posséder les compétences techniques nécessaires pour effectuer une opération ne signifie pas que l'on possède l'autorisation de l'effectuer sur n'importe quel système.

 

11. À retenir !

Un laboratoire de cybersécurité est un environnement contrôlé permettant d'apprendre et d'expérimenter les techniques de sécurité informatique.

Notre premier laboratoire repose sur une architecture volontairement simple :

  • Kali Linux constitue la machine de pentesting ;
  • VirtualBox permet d'exécuter Kali sous forme de machine virtuelle ;
  • Windows constitue notre système hôte ;
  • XAMPP fournit l'environnement serveur Web ;
  • DVWA constitue une application volontairement vulnérable destinée aux exercices.

Les commandes ip a, ip route, ipconfig, ping et curl permettent de comprendre et de vérifier la communication entre les différentes machines.

Nmap nous permet ensuite d'effectuer une première découverte des ports et services accessibles sur notre propre cible de laboratoire.

Ce laboratoire constituera la base pratique de nombreux exercices à venir. Nous pourrons progressivement l'enrichir avec d'autres machines et applications vulnérables lorsque nous aborderons le pentesting réseau et le pentesting Web.

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *