Comment Utiliser Gobuster pour l'Énumération de Répertoires

Penetration Testing
13 min de lecture
Comment Utiliser Gobuster pour l'Énumération de Répertoires
Sur cette page
  1. Qu'est-ce que Gobuster ?
  2. Installer Gobuster
    1. Installer sur Kali ou Debian
    2. Installer avec Go
    3. Confirmer la Version
  3. Les Modes d'Énumération de Gobuster
  4. Comment Utiliser Gobuster pour l'Énumération de Répertoires
    1. Étape 1 : Lancer un Scan de Base
    2. Étape 2 : Ajouter des Extensions de Fichiers
    3. Étape 3 : Ajuster les Threads et la Taille de la Wordlist
    4. Étape 4 : Lire les Codes de Statut
  5. Aide-Mémoire des Commandes Gobuster
    1. Filtrer les Faux Positifs avec --exclude-length
  6. Énumération DNS et d'Hôtes Virtuels
    1. Découverte de Sous-Domaines avec le Mode dns
    2. Découverte d'Hôtes Virtuels avec le Mode vhost
  7. Gobuster vs DirBuster vs ffuf
  8. Conseils pour des Scans Plus Propres et Plus Rapides
  9. Considérations Juridiques et Éthiques
    1. Où Gobuster Est Permis
  10. Foire aux Questions
  11. Vos Prochaines Étapes

Vous avez trouvé un serveur web, mais la page d'accueil ne révèle rien. Aucun lien admin, aucune API évidente, aucun sitemap. C'est là que savoir comment utiliser Gobuster fait la différence. Gobuster est un outil rapide écrit en Go qui force par force brute les répertoires, fichiers, sous-domaines DNS et hôtes virtuels cachés en lançant une wordlist sur la cible et en observant la réponse du serveur. C'est l'un des premiers outils que la plupart des testeurs utilisent pendant la phase d'énumération d'un engagement de test d'intrusion.

Ce guide couvre l'installation, chaque mode de scan, les options qui comptent vraiment et le filtrage des faux positifs qui distingue un rapport propre d'un rapport bruité. Vous pouvez suivre et lancer de vrais scans contre notre lab hidden CMS breach, une cible dans le navigateur conçue précisément pour ce type de découverte de contenu.

En résumé : Gobuster est un outil en ligne de commande de force brute de répertoires et de DNS écrit en Go. Lancez gobuster dir -u http://target -w wordlist.txt pour énumérer les chemins cachés, ajoutez -x php,txt pour les extensions de fichiers, et utilisez --exclude-length pour éliminer les faux positifs. Il est plus rapide que DirBuster, plus léger que ffuf pour les tâches simples, et une compétence de base pour l'énumération web.

Qu'est-ce que Gobuster ?

Gobuster est un outil de force brute de répertoires, de fichiers et de DNS écrit en Go. Il envoie un flux de requêtes HTTP ou DNS construites à partir d'une wordlist, puis rapporte les chemins ou noms auxquels la cible répond réellement. Les testeurs l'utilisent pour découvrir du contenu qui n'est lié nulle part dans la navigation du site.

L'outil existe parce que les applications web cachent plus qu'elles ne montrent. Un serveur en fonctionnement contient généralement des ressources que les développeurs n'ont jamais eu l'intention d'exposer :

  • Des panneaux d'administration à des chemins comme /admin, /manage ou /wp-admin
  • Des fichiers de sauvegarde tels que config.php.bak ou database.sql
  • Des restes de contrôle de version comme un répertoire /.git/
  • Des points d'API qui n'apparaissent dans aucune documentation publique
  • Des pages de préproduction ou de débogage telles que /phpinfo.php

Gobuster est écrit en Go, et c'est de là que vient son principal avantage. Go compile en un seul binaire statique et gère la concurrence nativement, donc Gobuster exécute de nombreuses requêtes en parallèle sans la surcharge mémoire du vieux DirBuster écrit en Java. Sur une wordlist typique, il termine en une fraction du temps.

Le projet est open source et activement maintenu sur GitHub par OJ Reeves et un groupe de contributeurs. La branche 3.x actuelle divise son travail en modes distincts, ce qui est la première chose à comprendre avant de lancer un scan.

Installer Gobuster

Gobuster est préinstallé sur Kali Linux et Parrot OS. Sur un système neuf, ou si vous l'avez supprimé, l'installation ne prend qu'une commande.

Installer sur Kali ou Debian

sudo apt update && sudo apt install gobuster

Si vous sautez apt update et rencontrez l'erreur unable to locate package gobuster, c'est presque toujours la solution. Votre index de paquets est obsolète et doit être rafraîchi avant qu'apt puisse trouver le paquet.

Installer avec Go

Pour obtenir la dernière version avant que les dépôts de votre distribution ne se mettent à jour, installez directement depuis les sources. Vous avez besoin de Go 1.19 ou plus récent dans votre PATH :

go install github.com/OJ/gobuster/v3@latest

Cela dépose le binaire dans ~/go/bin/. Ajoutez ce répertoire à votre PATH si la commande est introuvable ensuite.

Confirmer la Version

gobuster version

Vérifiez que vous êtes sur une version 3.x. Le comportement des options décrit ci-dessous a changé entre les versions 2 et 3, puis de nouveau autour de la 3.2, donc une ancienne version ne correspondra pas à ces exemples.

Les Modes d'Énumération de Gobuster

Contrairement aux scanners à usage unique, Gobuster est un ensemble de modes réunis dans un seul binaire. Vous choisissez le mode comme premier argument, et chacun a ses propres options. Savoir quel mode utiliser vous évite de forcer le mauvais outil sur un problème.

  • dir - Force par force brute les répertoires et fichiers d'un serveur web. C'est le mode que vous utiliserez le plus.
  • dns - Découvre les sous-domaines d'un domaine en résolvant des noms candidats.
  • vhost - Trouve les hôtes virtuels servis depuis la même IP en variant l'en-tête Host.
  • fuzz - Remplace un mot-clé FUZZ n'importe où dans la requête, pour les paramètres, en-têtes ou chemins.
  • s3 et gcs - Recherchent les buckets Amazon S3 et Google Cloud Storage ouverts.

Le reste de ce guide se concentre sur dir, dns et vhost, qui couvrent la grande majorité du travail réel.

💻
Pratiquez maintenant : Hidden CMS Breach - utilisez Gobuster pour découvrir un système de gestion de contenu caché et progressez jusqu'au flag, le tout dans le navigateur sans aucune installation.

Comment Utiliser Gobuster pour l'Énumération de Répertoires

Le mode dir est le cœur de l'outil. Chaque scan a besoin de deux choses : une URL cible avec -u et une wordlist avec -w. Tout le reste n'est qu'affinage.

Étape 1 : Lancer un Scan de Base

Commencez avec une petite wordlist courante pour obtenir des résultats rapides sans matraquer la cible :

gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt

Gobuster affiche chaque chemin découvert avec son code de statut et la taille de la réponse. Une ligne de résultat ressemble à ceci :

/admin                (Status: 301) [Size: 312] [--> /admin/]
/index.php            (Status: 200) [Size: 5124]
/backup               (Status: 403) [Size: 278]

Étape 2 : Ajouter des Extensions de Fichiers

Une wordlist brute ne teste que les noms de répertoires. Les vraies cibles cachent aussi des fichiers, alors indiquez à Gobuster quelles extensions ajouter avec -x :

gobuster dir -u http://target.com -w common.txt -x php,txt,html,bak

Maintenant chaque mot est testé comme répertoire et comme word.php, word.txt, word.html et word.bak. Adaptez les extensions à la stack trouvée pendant la reconnaissance. Une empreinte Nmap montrant PHP signifie que php,phtml,php5 ont leur place dans la liste, tandis qu'une machine IIS appelle asp,aspx.

Étape 3 : Ajuster les Threads et la Taille de la Wordlist

Le défaut est de 10 threads. Augmentez-le pour la vitesse sur un serveur qui peut encaisser la charge :

gobuster dir -u http://target.com -w directory-list-2.3-medium.txt -x php,txt -t 50 -o results.txt

Le -t 50 porte la concurrence à 50 threads et -o results.txt enregistre la sortie dans un fichier pour votre rapport. Réduisez le nombre de threads à 5 ou 10 si vous voyez des erreurs de connexion ou si la cible commence à vous limiter. Pour un examen plus poussé des wordlists qui trouvent le plus de contenu, notre guide des wordlists Gobuster détaille les compromis.

Étape 4 : Lire les Codes de Statut

Les codes de statut vous disent ce que vous avez trouvé. Concentrez-vous sur ceux-ci :

  • 200 OK - La ressource existe et renvoie du contenu. Examinez-la.
  • 301 / 302 - Une redirection, souvent un répertoire pointant vers sa version avec slash final.
  • 403 Forbidden - Le chemin existe mais l'accès est bloqué. C'est de l'or, car le serveur vient de confirmer que quelque chose est là.
  • 401 Unauthorized - Authentification requise, vous avez donc trouvé une zone protégée.

Gobuster moderne (3.1 et plus) masque les 404 par défaut via une liste noire de codes de statut et affiche tout le reste. Si vous préférez travailler à partir d'une liste blanche, définissez -s 200,301,302,401,403 et videz la liste noire avec -b "". Gobuster refuse de tourner avec une liste blanche et une liste noire définies en même temps, ce qui piège beaucoup de débutants.

Aide-Mémoire des Commandes Gobuster

Voici les options du mode dir qui valent la peine d'être mémorisées. La plupart des scans n'en utilisent qu'une poignée, mais connaître l'ensemble complet vous permet d'adapter un scan à une cible délicate.

OptionRôle
-uURL cible
-wChemin vers la wordlist
-xExtensions de fichiers à ajouter (php,txt,bak)
-tNombre de threads concurrents (défaut 10)
-sCodes de statut à afficher (liste blanche)
-bCodes de statut à masquer (liste noire, défaut 404)
--exclude-lengthMasquer les réponses d'une longueur d'octets donnée
-kIgnorer la vérification du certificat TLS (HTTPS auto-signé)
-rSuivre les redirections
-oÉcrire la sortie dans un fichier
-HAjouter un en-tête personnalisé (jetons d'auth, cookies)
--wildcardContinuer même quand le serveur répond à tout

Filtrer les Faux Positifs avec --exclude-length

Voici le problème qui fait perdre le plus de temps. Certains serveurs répondent à chaque requête par un statut 200 et une page personnalisée conviviale au lieu d'un vrai 404. Gobuster voit un 200 et rapporte chaque mot comme un succès, enfouissant vos vraies trouvailles sous des milliers de faux.

La solution est --exclude-length. Ces fausses pages sont presque toujours identiques, donc elles partagent la même longueur d'octets. Notez la longueur dans le bruit, puis excluez-la :

gobuster dir -u http://target.com -w common.txt --exclude-length 1234

En pratique, cette seule option transforme un scan inutilisable en un scan propre. Lancez le scan une fois, repérez la valeur [Size: 1234] qui se répète parmi des résultats manifestement faux, puis relancez en excluant cette longueur. Vous pouvez aussi passer des plages, comme --exclude-length 1200-1300, quand les fausses pages varient légèrement.

Énumération DNS et d'Hôtes Virtuels

La force brute de répertoires n'est qu'une des tâches de Gobuster. Deux autres modes élargissent votre surface d'attaque avant même de toucher un seul chemin web.

Découverte de Sous-Domaines avec le Mode dns

Le mode dns trouve les sous-domaines en résolvant des noms candidats via DNS. Utilisez -d pour le domaine au lieu de -u :

gobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t 50

Ajoutez -i pour afficher les adresses IP résolues à côté de chaque résultat. Des sous-domaines comme dev.example.com ou staging.example.com tournent souvent avec une sécurité plus faible que le site de production, ce qui rend l'étape supplémentaire intéressante.

Découverte d'Hôtes Virtuels avec le Mode vhost

Beaucoup de serveurs hébergent plusieurs sites sur une seule IP et décident lequel servir selon l'en-tête Host. Le mode vhost force cet en-tête par force brute pour trouver les sites cachés :

gobuster vhost -u http://example.com -w vhosts.txt --append-domain

Attention à l'option --append-domain. Gobuster 3.2 et plus n'ajoute plus automatiquement le domaine de base à chaque mot, donc sans cette option votre scan teste des mots bruts comme admin au lieu de admin.example.com et ne trouve rien. Ce changement a discrètement cassé beaucoup d'anciens tutoriels.

Gobuster vs DirBuster vs ffuf

Gobuster n'est pas le seul outil de découverte de contenu, et ce n'est pas toujours le bon. Voici une comparaison honnête des trois que vous rencontrerez le plus souvent.

FonctionnalitéGobusterDirBusterffuf
VitesseRapide (Go)Lent (Java)Rapide (Go)
InterfaceCLIGUICLI
Modes DNS / vhostOuiNonVia fuzzing
Scan récursifNonOuiPlugin
Filtrage des réponsesLongueur, statutBasiqueAvancé
Courbe d'apprentissageDouceDoucePlus raide

Mon avis : optez pour Gobuster quand vous voulez un scan rapide et sans fioritures avec une sortie en ligne de commande claire. C'est le meilleur choix par défaut pour le travail sur répertoires et sous-domaines. Passez à ffuf quand vous avez besoin d'un filtrage chirurgical des réponses ou voulez fuzzer paramètres et en-têtes, et utilisez-le quand l'absence de récursivité intégrée de Gobuster devient une limite. DirBuster garde sa place si vous préférez vraiment une interface graphique, mais pour des tests scriptés et reproductibles il a été dépassé. Si vous venez de l'outil Java, notre tutoriel DirBuster compare les deux flux de travail côte à côte.

Conseils pour des Scans Plus Propres et Plus Rapides

La vitesse est facile. Le signal est difficile. Ces habitudes gardent vos résultats lisibles et vous maintiennent hors du radar de la cible.

  • Faites de la reconnaissance avant la force brute. Identifiez le serveur et la stack d'abord pour que votre wordlist et vos extensions collent à la réalité au lieu de deviner à l'aveugle.
  • Commencez petit, puis creusez. Lancez d'abord common.txt. Quand vous trouvez quelque chose comme /api/, lancez un nouveau scan contre ce chemin plutôt qu'un seul balayage géant.
  • Poursuivez les 403. Une réponse interdite confirme que le chemin existe. C'est souvent plus utile qu'un 200, car cela pointe vers quelque chose qui vaut la peine d'être protégé.
  • Attention au bruit. Un nombre élevé de threads finit plus vite mais alerte la détection d'intrusion. Sur des engagements exigeant discrétion, descendez à 5 threads.
  • Utilisez des wordlists de qualité. La collection SecLists sous /usr/share/seclists/Discovery/Web-Content/ est construite à partir de crawls réels et surpasse les listes génériques.

L'énumération de répertoires n'est qu'une petite tranche de l'évaluation web. Pour voir où elle s'inscrit dans une méthodologie complète, l'OWASP Web Security Testing Guide documente en détail les phases de reconnaissance et de découverte de contenu.

Considérations Juridiques et Éthiques

Rappel essentiel : Gobuster peut envoyer des milliers de requêtes à un serveur en quelques secondes. L'utiliser contre un système que vous ne possédez pas ou n'avez pas la permission écrite de tester est illégal dans la plupart des pays, quelle que soit votre intention.

La force brute de répertoires est bruyante et manifestement active. Elle laisse une trace claire dans les logs du serveur et ressemble à une attaque, car c'est la même technique qu'utiliserait un attaquant. Pointez-la uniquement vers des cibles pour lesquelles vous avez une autorisation.

Où Gobuster Est Permis

  • Tests d'intrusion couverts par une lettre d'engagement signée qui liste le périmètre de la cible
  • Programmes de bug bounty où l'énumération est explicitement dans le périmètre
  • Systèmes et applications que vous possédez
  • Compétitions CTF et labs volontairement vulnérables conçus pour la pratique

Gardez votre autorisation documentée et à portée de main pendant toute la durée d'un engagement. « J'apprenais seulement » n'est pas une défense qui tient une fois que vous avez touché un système sans permission.

Foire aux Questions

À quoi sert Gobuster ?

Gobuster sert à découvrir des répertoires, fichiers, sous-domaines DNS et hôtes virtuels cachés sur une cible lors de tests de sécurité autorisés. Il les force par force brute en envoyant des requêtes construites à partir d'une wordlist et en rapportant celles auxquelles le serveur répond.

Comment installer Gobuster sur Kali Linux ?

Lancez sudo apt update && sudo apt install gobuster. Gobuster est généralement préinstallé sur Kali. Si vous voyez « unable to locate package gobuster », lancez d'abord apt update pour rafraîchir l'index des paquets, puis réessayez.

Gobuster est-il meilleur que DirBuster ?

Pour la plupart des travaux, oui. Gobuster est écrit en Go et tourne bien plus vite que DirBuster écrit en Java, et il ajoute les modes DNS et hôtes virtuels. Les seuls vrais avantages de DirBuster sont son interface graphique et sa récursivité intégrée, donc choisissez-le si vous voulez ces fonctions précisément.

Comment empêcher Gobuster de rapporter des faux positifs ?

Utilisez l'option --exclude-length. Quand un serveur renvoie 200 pour chaque requête avec une page personnalisée identique, ces faux résultats partagent la même longueur d'octets. Notez cette longueur et excluez-la, par exemple --exclude-length 1234, pour filtrer le bruit.

Pourquoi mon scan vhost Gobuster ne trouve-t-il rien ?

Il vous manque probablement l'option --append-domain. Gobuster 3.2 et plus n'ajoute plus automatiquement le domaine de base, donc chaque entrée de la wordlist est testée comme un mot brut au lieu d'un nom d'hôte complet. Ajoutez --append-domain pour corriger cela.

Quelle est la meilleure wordlist pour Gobuster ?

Commencez avec common.txt du paquet dirb pour des scans rapides, puis passez à directory-list-2.3-medium.txt ou aux listes Web-Content de SecLists pour une couverture plus profonde. Adaptez la taille de la wordlist à votre budget temps et à la valeur de la cible.

Vos Prochaines Étapes

Vous savez maintenant comment utiliser Gobuster dans ses principaux modes : découverte de répertoires et fichiers avec dir, chasse aux sous-domaines avec dns, et énumération d'hôtes virtuels avec vhost. Les détails qui comptent le plus dans le travail réel sont d'adapter les extensions à la stack de la cible, d'ajuster les threads pour rester discret, et de couper les faux positifs avec --exclude-length. Maîtrisez cela et Gobuster transforme une page d'accueil vide en une carte de toute l'application.

Le moyen le plus rapide d'ancrer tout cela est de lancer l'outil contre une cible réelle. Essayez notre lab Hidden CMS Breach pour énumérer une vraie application cachée dans le navigateur, puis approfondissez avec le cours sur les attaques web pour voir où la découverte de contenu s'inscrit dans une évaluation web complète. Commencez avec le niveau gratuit de HackerDNA, sans carte bancaire, et pratiquez la technique au lieu de seulement la lire.

HackerDNA Team

Équipe HackerDNA

Écrit par l'équipe HackerDNA - des professionnels de la cybersécurité qui créent des labs de hacking pratiques et du contenu éducatif pour vous aider à développer des compétences réelles en sécurité.

Rencontrer l'équipe

Prêt à mettre cela en pratique?

Arrêtez de lire, commencez à hacker. Obtenez une expérience pratique avec plus de 170 labs de cybersécurité réels.

Commencer à Hacker Gratuitement
15 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement