Tests Web avec Kali et Burp Suite

Kali LinuxKali LinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à effectuer des tests de sécurité d'applications web en utilisant Burp Suite au sein d'un conteneur Kali Linux dans l'environnement de la machine virtuelle LabEx. L'objectif est de configurer Burp Proxy pour intercepter le trafic web, analyser les requêtes HTTP/HTTPS, tester les vulnérabilités de type Cross-Site Scripting (XSS), et générer des rapports détaillés. Ces étapes pratiques vous fourniront les compétences fondamentales pour identifier et résoudre les problèmes de sécurité dans les applications web.

Vous travaillerez directement dans un shell de conteneur Kali Linux, qui est automatiquement configuré pour vous lorsque vous ouvrez le terminal. Grâce à des étapes structurées, vous configurerez des outils, capturerez du trafic, testerez les vulnérabilités et documenterez vos découvertes. Ce laboratoire est conçu pour les débutants, vous guidant à travers chaque processus dans un environnement contrôlé afin de développer des compétences pratiques en cybersécurité.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kali(("Kali")) -.-> kali/KaliGroup(["Kali"]) kali/KaliGroup -.-> kali/pkg_ops("Package Management") kali/KaliGroup -.-> kali/net_conf("Network Configuration") kali/KaliGroup -.-> kali/web_ctrl("Web Services") kali/KaliGroup -.-> kali/bash_code("Bash Scripting") kali/KaliGroup -.-> kali/vuln_scan("Vulnerability Scanning") kali/KaliGroup -.-> kali/burp_ops("Burp Suite") subgraph Lab Skills kali/pkg_ops -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} kali/net_conf -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} kali/web_ctrl -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} kali/bash_code -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} kali/vuln_scan -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} kali/burp_ops -.-> lab-552302{{"Tests Web avec Kali et Burp Suite"}} end

Installation et Lancement de Burp Suite

Dans cette première étape, vous allez installer et lancer Burp Suite, un outil puissant pour les tests de sécurité des applications web, au sein du conteneur Kali Linux dans l'environnement de la machine virtuelle LabEx. Burp Suite vous permet d'intercepter et d'analyser le trafic web, ce qui est essentiel pour identifier les vulnérabilités dans les applications web.

Lorsque vous ouvrez le terminal dans la machine virtuelle LabEx, vous êtes automatiquement connecté au shell du conteneur Kali Linux. Il n'est pas nécessaire de démarrer manuellement le conteneur ou d'entrer dans le shell ; l'environnement est déjà configuré pour vous. Commençons par nous assurer que les outils nécessaires sont installés et prêts à être utilisés.

Commencez par mettre à jour la liste des paquets pour vous assurer que vous disposez des dernières informations sur les logiciels disponibles. Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

apt update

Cette commande rafraîchit les données du référentiel de paquets. L'opération peut prendre quelques secondes et vous verrez une sortie indiquant la progression du processus de mise à jour.

Ensuite, installez Burp Suite Community Edition, qui est disponible dans les référentiels Kali Linux. Tapez la commande suivante et appuyez sur Entrée :

apt install -y burpsuite

Cette commande installe Burp Suite sans demander de confirmation grâce à l'option -y. L'installation peut prendre une minute ou deux, et vous verrez une sortie affichant la progression du téléchargement et de l'installation.

Sortie attendue (partielle, la sortie réelle peut varier) :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up burpsuite (2023.10.3.7-0kali1) ...

Une fois l'installation terminée, lancez Burp Suite en tapant la commande suivante et en appuyant sur Entrée :

burpsuite

Cela ouvrira l'interface utilisateur graphique (GUI) de Burp Suite. Le chargement peut prendre quelques secondes. Lorsque vous y êtes invité, sélectionnez l'option par défaut "Temporary Project" et cliquez sur "Next" ou "Start Burp" pour continuer. La fenêtre principale de Burp Suite apparaîtra.

Burp Suite est maintenant en cours d'exécution, et dans les étapes suivantes, vous le configurerez pour intercepter le trafic web. Gardez la fenêtre Burp Suite ouverte pendant que vous continuez. Cette étape garantit que vous avez l'outil principal prêt pour les tâches de test de sécurité web.

Configuration des Paramètres du Proxy Burp

Maintenant que Burp Suite est installé et en cours d'exécution, l'étape suivante consiste à configurer les paramètres du proxy Burp pour intercepter le trafic web. Le proxy agit comme un intermédiaire entre votre navigateur et Internet, vous permettant de capturer et d'analyser les requêtes et réponses HTTP/HTTPS. Il s'agit d'une configuration essentielle pour les tests de sécurité des applications web.

Pour les débutants, il est important de comprendre le rôle d'un proxy. Un proxy se situe entre votre navigateur et le site web cible, interceptant toutes les données échangées. Cela vous permet d'inspecter les requêtes brutes envoyées par votre navigateur et les réponses du serveur, ce qui aide à identifier les problèmes de sécurité potentiels.

Puisque vous êtes déjà dans le shell du conteneur Kali Linux (automatiquement entré lorsque vous ouvrez le terminal), procédons à la configuration des paramètres du proxy directement dans l'interface utilisateur graphique (GUI) de Burp Suite. Assurez-vous que Burp Suite est toujours en cours d'exécution depuis l'étape précédente. Si ce n'est pas le cas, relancez-le en tapant burpsuite dans le terminal et en appuyant sur Entrée.

Dans la fenêtre Burp Suite, accédez à l'onglet "Proxy". Cet onglet contient les paramètres pour configurer la manière dont Burp Suite intercepte le trafic. Dans la section "Proxy Settings", assurez-vous que le proxy est configuré pour écouter sur 127.0.0.1:8080. Il s'agit de la configuration par défaut, ce qui signifie que Burp Proxy capturera le trafic sur votre machine locale au port 8080.

Si les paramètres ne sont pas définis sur 127.0.0.1:8080, ajustez-les manuellement en entrant ces valeurs et cliquez sur "Apply" si l'option est disponible. Ne modifiez pas les autres paramètres à ce stade.

Pour confirmer que le proxy est actif, exécutez la commande suivante dans le terminal et appuyez sur Entrée :

netstat -tuln | grep 8080

Sortie attendue (la sortie réelle peut varier) :

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN

Cette sortie montre que Burp Proxy est en écoute sur le port 8080. Si vous ne voyez pas cette sortie, assurez-vous que Burp Suite est en cours d'exécution et que les paramètres du proxy sont correctement configurés.

Vous avez maintenant configuré avec succès Burp Proxy pour intercepter le trafic web. Gardez Burp Suite ouvert avec ces paramètres alors que nous passons à l'étape suivante, où vous configurerez un navigateur pour acheminer le trafic via ce proxy. Cette configuration est essentielle pour capturer et analyser les interactions web dans les tâches suivantes.

Configuration de Firefox pour Utiliser Burp Proxy

Avec Burp Proxy configuré, l'étape suivante consiste à configurer un navigateur web pour acheminer son trafic via le proxy. Cela permet à Burp Suite de capturer et d'afficher toutes les requêtes et réponses HTTP/HTTPS effectuées par le navigateur. Pour ce laboratoire, vous utiliserez Firefox, qui sera installé et configuré dans le conteneur Kali Linux.

Puisque vous êtes déjà dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), commençons par installer Firefox s'il n'est pas déjà disponible. Tapez la commande suivante dans le terminal et appuyez sur Entrée pour installer Firefox :

apt install -y firefox-esr

Cette commande installe la version Extended Support Release (ESR) de Firefox, adaptée à une utilisation dans Kali Linux. L'installation peut prendre quelques instants, et vous verrez une sortie indiquant la progression.

Sortie attendue (partielle, la sortie réelle peut varier) :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up firefox-esr (102.10.0esr-1~deb11u1) ...

Une fois Firefox installé, lancez-le en tapant la commande suivante dans le terminal et en appuyant sur Entrée :

firefox &

Le symbole & exécute Firefox en arrière-plan, vous permettant de continuer à utiliser le terminal. Une fenêtre Firefox s'ouvrira dans l'interface graphique de la machine virtuelle LabEx.

Maintenant, configurez Firefox pour utiliser Burp Proxy. Suivez ces instructions détaillées dans la fenêtre du navigateur Firefox :

  1. Cliquez sur l'icône du menu (trois lignes horizontales) dans le coin supérieur droit de Firefox.
  2. Sélectionnez Paramètres (Settings) dans le menu déroulant.
  3. Faites défiler vers le bas jusqu'à la section Paramètres réseau (Network Settings) sous l'onglet Général (General) et cliquez sur Paramètres... (Settings...).
  4. Dans la fenêtre Paramètres de connexion (Connection Settings), choisissez Configuration manuelle du proxy (Manual proxy configuration).
  5. Définissez le champ Proxy HTTP sur 127.0.0.1 et le Port sur 8080.
  6. Cochez la case intitulée Utiliser ce proxy pour HTTPS également (Also use this proxy for HTTPS).
  7. Laissez les autres champs inchangés et cliquez sur OK pour enregistrer les paramètres.

Cette configuration garantit que tout le trafic web de Firefox passe par Burp Proxy à 127.0.0.1:8080. Pour vérifier que tout fonctionne, accédez à un site web simple comme http://example.com dans Firefox en tapant l'URL dans la barre d'adresse et en appuyant sur Entrée.

Revenez à la fenêtre Burp Suite, accédez à l'onglet Proxy et sélectionnez le sous-onglet Historique HTTP (HTTP history). Vous devriez y voir les requêtes adressées à example.com. Si aucune requête n'apparaît, actualisez la page dans Firefox et confirmez que les paramètres du proxy sont corrects.

Sortie attendue dans Burp Suite (visuelle, pas dans le terminal) :

Vous verrez des entrées dans l'onglet Historique HTTP montrant les requêtes vers example.com, avec des détails tels que l'hôte, la méthode (par exemple, GET) et le chemin de l'URL.

Cette étape complète la configuration du navigateur pour acheminer le trafic via Burp Proxy. Gardez Firefox et Burp Suite ouverts pendant que vous passez à l'étape suivante, où vous utiliserez cette configuration pour capturer et analyser le trafic web à des fins de test de sécurité.

Capture et Analyse du Trafic Web

Après avoir configuré Firefox pour utiliser Burp Proxy, vous êtes maintenant prêt à capturer et analyser le trafic web. Cette étape est cruciale dans les tests de sécurité des applications web car elle vous permet d'inspecter les données brutes échangées entre votre navigateur et un site web, ce qui aide à identifier les vulnérabilités ou les mauvaises configurations potentielles.

Pour les débutants, la capture du trafic web signifie l'enregistrement des requêtes que votre navigateur envoie à un site web (comme le chargement d'une page) et des réponses que le site web renvoie (comme le contenu de la page). Burp Suite agit comme un intermédiaire, vous montrant ces données en détail afin que vous puissiez examiner les en-têtes, les paramètres et le contenu pour détecter les problèmes de sécurité.

Puisque vous travaillez dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), assurez-vous que Burp Suite et Firefox sont toujours en cours d'exécution depuis les étapes précédentes. Si Burp Suite n'est pas en cours d'exécution, relancez-le avec burpsuite. Si Firefox n'est pas ouvert, démarrez-le avec firefox &.

Dans Firefox, accédez à un site web de test tel que http://example.com en tapant l'URL dans la barre d'adresse et en appuyant sur Entrée. Cette action envoie des requêtes via Burp Proxy, qui les capture pour analyse.

Passez à la fenêtre Burp Suite et accédez à l'onglet Proxy, puis sélectionnez le sous-onglet Historique HTTP (HTTP history). Vous verrez une liste des requêtes effectuées par Firefox vers le site web. Chaque entrée comprend des détails tels que l'hôte, la méthode (par exemple, GET) et le chemin de l'URL.

Sélectionnez n'importe quelle requête relative à http://example.com en cliquant dessus. Cela affiche deux volets : Requête (Request) et Réponse (Response). Le volet Requête affiche les données envoyées depuis votre navigateur, y compris les en-têtes et les paramètres. Le volet Réponse affiche les données renvoyées par le site web, telles que le contenu HTML ou les codes d'état.

Sortie attendue dans Burp Suite (visuelle, pas dans le terminal) :

Dans l'onglet Historique HTTP, vous verrez des entrées comme :

  • Hôte : example.com
  • Méthode : GET
  • Chemin : /

Cliquer sur une entrée affichera les en-têtes de requête détaillés (comme User-Agent) et le contenu de la réponse (comme le code HTML de la page).

Prenez un moment pour explorer quelques requêtes afin de comprendre la structure du trafic web. Cette compétence de capture et d'analyse du trafic est fondamentale pour identifier les problèmes de sécurité, sur laquelle vous vous appuierez à l'étape suivante. Gardez Burp Suite et Firefox ouverts avec les paramètres actuels pendant que vous passez aux tests de vulnérabilités spécifiques.

Test de Vulnérabilités XSS

Avec la capture du trafic web configurée, vous pouvez maintenant utiliser Burp Suite pour tester les vulnérabilités Cross-Site Scripting (XSS). XSS est un problème de sécurité web courant où les attaquants injectent des scripts malveillants dans des pages web qui sont ensuite exécutés dans le navigateur d'un utilisateur. Cette étape se concentre sur l'identification des failles XSS potentielles en soumettant des entrées de test et en analysant les réponses.

Pour les débutants, XSS se produit lorsqu'une application web ne parvient pas à assainir (sanitize) les entrées de l'utilisateur, permettant ainsi à du code nuisible (comme JavaScript) d'être injecté et exécuté. Il existe différents types de XSS, mais ici, vous testerez le XSS réfléchi (reflected XSS), où l'entrée malveillante est immédiatement renvoyée dans la réponse du serveur sans être stockée.

Puisque vous êtes dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), assurez-vous que Burp Suite et Firefox sont toujours en cours d'exécution depuis les étapes précédentes. Sinon, relancez-les avec burpsuite et firefox & respectivement.

Dans Firefox, accédez à un site web de test qui accepte les entrées de l'utilisateur, comme une zone de recherche ou un formulaire. Pour ce laboratoire, si aucun site de test spécifique n'est fourni dans la machine virtuelle LabEx, vous pouvez utiliser un site de test public comme http://testphp.vulnweb.com s'il est accessible. Tapez l'URL dans la barre d'adresse de Firefox et appuyez sur Entrée.

Une fois la page chargée, localisez un champ de saisie, tel qu'une barre de recherche. Entrez une chaîne de test simple comme test<xss> dans le champ et soumettez le formulaire. Cette entrée est inoffensive, mais elle permet de vérifier si l'application renvoie l'entrée sans l'assainir.

Passez à Burp Suite, accédez à l'onglet Proxy et sélectionnez le sous-onglet Historique HTTP (HTTP history). Trouvez la requête correspondant à la soumission de votre formulaire. Cliquez dessus pour afficher les détails. Dans le volet Requête (Request), recherchez le paramètre où votre entrée test<xss> a été envoyée (il peut se trouver sous un champ tel que search ou query).

Ensuite, dans le volet Réponse (Response), recherchez votre chaîne d'entrée test<xss>. Si vous voyez la chaîne exacte reflétée dans la réponse sans être échappée (par exemple, non convertie en test&lt;xss&gt;), l'application pourrait être vulnérable au XSS réfléchi.

Sortie attendue dans Burp Suite (visuelle, pas dans le terminal) :

Dans le volet Réponse, si vous voyez test<xss> tel quel dans le contenu HTML, cela indique une vulnérabilité potentielle. S'il apparaît comme test&lt;xss&gt;, l'entrée a été assainie, ce qui réduit le risque de XSS.

Si vous identifiez une vulnérabilité potentielle, faites un clic droit sur la requête dans l'onglet Historique HTTP et sélectionnez Ajouter à la carte du site (Add to site map) pour l'organiser en vue d'un rapport à l'étape suivante. Ce processus de test de XSS en soumettant des données de test et en analysant les réponses renforce vos compétences en matière d'évaluation des vulnérabilités. Gardez Burp Suite et Firefox ouverts pendant que vous passez à l'étape finale.

Génération d'un Rapport Burp Suite

Dans cette dernière étape, vous allez générer un rapport dans Burp Suite pour documenter vos conclusions de l'analyse du trafic web et des tests de vulnérabilité XSS. La création d'un rapport est une partie essentielle des tests de sécurité, car elle compile les problèmes que vous avez identifiés et fournit un moyen structuré d'examiner ou de partager les résultats.

Pour les débutants, un rapport Burp Suite résume les vulnérabilités ou les observations de votre session de test. Il comprend des détails tels que le type de problème, les URL affectées et les données de requête/réponse associées. Cette documentation est essentielle pour le suivi des failles de sécurité et la planification de la remédiation.

Puisque vous êtes dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), assurez-vous que Burp Suite est toujours en cours d'exécution. Sinon, relancez-le avec burpsuite.

Dans l'interface Burp Suite, accédez à l'onglet Target ou à l'onglet Issues (selon la version). Cette section répertorie toutes les vulnérabilités détectées automatiquement par Burp Suite ou les problèmes que vous avez ajoutés manuellement. Si vous avez signalé un problème XSS potentiel à l'étape précédente en l'ajoutant à la carte du site, il peut apparaître ici.

Si aucun problème n'est répertorié, vous pouvez en ajouter un manuellement pour vous entraîner. Accédez à l'onglet Proxy, sélectionnez une requête de l'Historique HTTP (HTTP history) où vous avez testé le XSS (par exemple, avec l'entrée test<xss>), faites un clic droit dessus et choisissez Signaler le problème (Report issue) ou Envoyer aux problèmes (Send to Issues). Sélectionnez un type tel que Cross-site scripting (réfléchi) (Cross-site scripting (reflected)) si disponible, ajoutez une brève description comme XSS potentiel dans le champ de saisie (Potential XSS in input field), et cliquez sur OK.

Pour générer le rapport, dans l'onglet Issues, cliquez sur le bouton Rapport (Report) ou recherchez Générer un rapport (Generate Report) dans le menu. Suivez ces étapes dans l'assistant de rapport :

  1. Sélectionnez le format HTML pour un format lisible.
  2. Choisissez d'inclure Tous les problèmes (All issues) ou des problèmes spécifiques si vous en avez ajouté.
  3. Lorsque vous êtes invité à choisir un emplacement d'enregistrement, définissez le chemin sur /root/xss_report.html dans le conteneur Kali Linux.
  4. Cliquez sur Suivant (Next) ou Terminer (Finish) pour enregistrer le rapport.

Après avoir généré le rapport, confirmez qu'il a été enregistré en tapant la commande suivante dans le terminal et en appuyant sur Entrée :

ls -l /root/xss_report.html

Sortie attendue (la sortie réelle peut varier) :

-rw-r--r-- 1 root root [size] [date] /root/xss_report.html

Cette sortie confirme que le fichier xss_report.html existe dans le répertoire /root. Si le fichier n'est pas là, répétez le processus de génération du rapport et assurez-vous que le chemin correct est spécifié.

Vous avez maintenant créé avec succès un rapport Burp Suite documentant les résultats de vos tests. Cela complète le laboratoire, vous offrant une expérience pratique en matière de tests de sécurité web à l'aide d'outils essentiels dans un environnement Kali Linux.

Résumé

Dans ce laboratoire, vous avez appris les bases des tests de sécurité des applications web en utilisant Burp Suite dans un conteneur Kali Linux au sein de l'environnement de la machine virtuelle LabEx. Vous avez commencé par installer et lancer Burp Suite, puis configuré le proxy Burp pour intercepter le trafic web. En configurant Firefox pour acheminer le trafic via le proxy, vous avez capturé et analysé les requêtes et réponses HTTP/HTTPS. Vous avez également testé les vulnérabilités XSS en soumettant des entrées de test et en examinant les réponses du serveur. Enfin, vous avez généré un rapport détaillé pour documenter vos conclusions. Ces étapes vous ont doté de compétences pratiques pour identifier et résoudre les problèmes de sécurité web à l'aide d'outils standard de l'industrie.