Introduction
Dans ce laboratoire, vous apprendrez une technique fondamentale en tests de pénétration d'applications web : router le trafic de Gobuster à travers un proxy web. Gobuster est un outil puissant pour le brute-force de répertoires et de fichiers, le brute-force de sous-domaines DNS et l'énumération de buckets S3. En routant son trafic à travers un proxy tel que Burp Suite ou OWASP ZAP, vous obtenez la capacité d'inspecter, de modifier et d'analyser les requêtes et réponses HTTP générées par Gobuster. Cette visibilité est inestimable pour comprendre le comportement des applications web et identifier les vulnérabilités potentielles.
Ce laboratoire vous guidera dans la configuration d'un proxy, la configuration de Gobuster pour l'utiliser, l'exécution d'un scan et l'observation du trafic au sein du proxy.
Démarrer un proxy web comme Burp Suite ou OWASP ZAP
Dans cette étape, vous allez démarrer une application de proxy web. Pour ce laboratoire, nous utiliserons OWASP ZAP, qui est pré-installé dans l'environnement LabEx. OWASP ZAP fournit une interface graphique pour intercepter et analyser le trafic web.
Tout d'abord, ouvrez une nouvelle fenêtre de terminal si vous n'en avez pas déjà une. Ensuite, lancez OWASP ZAP.
/opt/zaproxy/zap.sh &
Après le lancement, OWASP ZAP démarrera. Vous pourriez voir une invite concernant la persistance de la session ZAP. Pour ce laboratoire, vous pouvez choisir "No, thanks" (Non, merci) et cliquer sur "Start" (Démarrer).
Une fois ZAP en cours d'exécution, vous devriez voir son interface principale. Cela indique que l'application proxy est prête à être configurée.
Configurer le proxy pour écouter sur un port spécifique
Dans cette étape, vous allez configurer OWASP ZAP pour qu'il écoute sur une adresse IP et un port spécifiques. Par défaut, ZAP écoute souvent sur 127.0.0.1:8080. Nous allons confirmer ce réglage.
Dans OWASP ZAP :
- Allez dans
Tools(Outils) ->Options...(ouFile(Fichier) ->Options...selon la version de ZAP). - Dans la boîte de dialogue Options, naviguez vers
Local Proxies(Proxys locaux) dans la sectionNetwork(Réseau). - Vérifiez que l'adresse est
127.0.0.1et que le port est8080. Si c'est différent, vous pouvez le modifier ici, mais pour ce laboratoire, nous supposerons127.0.0.1:8080. - Cliquez sur
OKpour fermer la boîte de dialogue Options.
Cette configuration garantit que ZAP écoute les connexions entrantes sur l'adresse et le port spécifiés, prêt à intercepter le trafic.
Utiliser le drapeau -p dans Gobuster pour spécifier l'URL du proxy
Dans cette étape, vous apprendrez comment indiquer à Gobuster de router son trafic à travers le proxy que vous venez de configurer. Gobuster fournit le drapeau -p (ou --proxy) à cet effet, vous permettant de spécifier l'URL du proxy.
Le format de l'URL du proxy est généralement http://<IP_ADDRESS>:<PORT>. Comme notre proxy ZAP écoute sur 127.0.0.1:8080, l'URL du proxy sera http://127.0.0.1:8080.
Nous allons préparer une commande Gobuster qui inclut ce réglage de proxy. Nous utiliserons une cible simple pour la démonstration, par exemple, http://example.com.
echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh
Cette commande crée un script gobuster_command.sh dans votre répertoire ~/project qui contient la commande Gobuster avec le drapeau de proxy. Ce script sera exécuté à l'étape suivante.
Exécuter un scan Gobuster
Dans cette étape, vous allez exécuter le scan Gobuster en utilisant la commande préparée à l'étape précédente. Cela lancera le processus de brute-force de répertoires, et tout son trafic HTTP sera routé via OWASP ZAP.
Ouvrez un nouveau terminal ou utilisez celui que vous avez déjà et exécutez le script :
~/project/gobuster_command.sh
Vous verrez la sortie de Gobuster dans le terminal, affichant les répertoires et fichiers qu'il découvre. Pendant que Gobuster s'exécute, il envoie des requêtes via ZAP. Le scan peut prendre quelques instants pour se terminer, en fonction de la taille de la liste de mots (wordlist) et de la réactivité de la cible. Pour example.com, cela devrait être relativement rapide car c'est une cible simple.
/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'
Note : La sortie ci-dessus est un exemple. Votre sortie réelle peut varier légèrement.
Observer le trafic Gobuster dans l'historique du proxy
Dans cette dernière étape, vous allez observer le trafic HTTP généré par Gobuster au sein d'OWASP ZAP. C'est ici que vous pourrez analyser les requêtes et les réponses, identifier des schémas et potentiellement découvrir des vulnérabilités.
Revenez à l'application OWASP ZAP.
- Dans le panneau de gauche, recherchez l'arborescence
Sites. Vous devriez voirhttp://example.comlisté. - Développez
http://example.com, puishttp. Vous verrez une liste de méthodes HTTP (par exemple,GET) et les chemins auxquels Gobuster a tenté d'accéder (par exemple,/,/index.html,/robots.txt, etc.). - Cliquez sur l'une de ces entrées. Dans les panneaux inférieurs, vous verrez les onglets
Request(Requête) etResponse(Réponse), montrant la requête HTTP complète envoyée par Gobuster et la réponse correspondante du serveur.
Cela confirme que le trafic de Gobuster a été correctement routé via le proxy, permettant une inspection détaillée. Cette capacité est essentielle pour les tests avancés d'applications web.
Résumé
Dans ce laboratoire, vous avez appris avec succès à router le trafic Gobuster via un proxy web. Vous avez lancé OWASP ZAP, confirmé sa configuration de proxy, utilisé l'indicateur -p pour diriger les requêtes de Gobuster à travers le proxy, exécuté un scan, et enfin observé le trafic intercepté dans ZAP. Cette compétence est fondamentale pour tout testeur de pénétration web, permettant une analyse plus approfondie et une manipulation du trafic des outils automatisés. En comprenant comment proxifier vos outils, vous gagnez un plus grand contrôle et une meilleure visibilité sur votre processus de test, ce qui conduit à une découverte de vulnérabilités plus efficace.
