Guide Red TeamTests d’intrusion autorisés · Red Team · Purple Team
Domaines

Modes dir, dns, vhost et fuzz

Choisir entre les modes dir, vhost, dns et fuzz selon la surface autorisée à découvrir.

En bref

  • But : Choisir le mode Gobuster en fonction de la surface à découvrir et comprendre ce que chaque résultat signifie.
  • Périmètre : uniquement une application, un domaine ou une infrastructure explicitement autorisés.
  • Preuve : commande exacte, version, sortie native et vérification HTTP/DNS manuelle.
Schéma synthétique : Modes dir, dns, vhost et fuzz
Vue synthétique de « Modes dir, dns, vhost et fuzz » : les étapes affichées correspondent aux sections pratiques de cette page.

Syntaxe et choix du mode

gobuster [mode] [options]
gobuster help
gobuster help dir

Le mode répond à une question précise. dir recherche des chemins HTTP ; vhost varie l’en-tête Host ; dns interroge des sous-domaines ; fuzz remplace le marqueur FUZZ. Les versions récentes proposent aussi des modes pour certains stockages cloud et TFTP.

Mode dir — chemins et fichiers

mkdir -p preuves
gobuster dir \
  -u https://app.lab.local/ \
  -w wordlists/paths-lab.txt \
  -x php,txt,json \
  -t 5 --timeout 5s \
  -o preuves/dir.txt

Utilisez -x uniquement lorsque la technologie le justifie. Une extension trop large multiplie les requêtes sans améliorer la couverture.

Mode vhost — hôtes virtuels

gobuster vhost \
  -u https://app.lab.local/ \
  -w wordlists/vhosts-lab.txt \
  --append-domain \
  -t 5 -o preuves/vhost.txt

Le mode vhost teste la réponse du serveur à différents en-têtes Host. Il ne remplace pas une recherche DNS : un hôte virtuel peut ne disposer d’aucun enregistrement public.

Mode dns — sous-domaines

gobuster help dns
# Les versions récentes utilisent -do pour le domaine.
gobuster dns \
  -do lab.local \
  -w wordlists/subdomains-lab.txt \
  -t 5 -o preuves/dns.txt

Certaines anciennes cheatsheets utilisent -d. Vérifiez l’aide locale, car la syntaxe dépend de la version. Testez aussi le comportement wildcard avant d’interpréter les résultats.

Mode fuzz — emplacement explicite

gobuster fuzz \
  -u 'https://app.lab.local/api/FUZZ/status' \
  -w wordlists/endpoints-lab.txt \
  -t 5 -o preuves/fuzz.txt

Le marqueur FUZZ doit être placé à l’endroit précis à varier. Commencez avec une liste courte et une route non destructive.

Autres modes et limites

Les modes S3, GCS ou TFTP servent à des vérifications ciblées et doivent être utilisés uniquement lorsque ces technologies font partie du périmètre. Gobuster ne comprend pas la logique métier, ne gère pas toutes les authentifications complexes et ne remplace ni un proxy d’analyse ni une validation manuelle.

Comprendre le sujet avant d’agir

Le chapitre « Modes dir, dns, vhost et fuzz » appartient au domaine « Gobuster et decouverte de contenu ». Il doit permettre de comprendre le mécanisme avant d’utiliser un outil, puis de produire une preuve lisible par une autre personne. L’objectif n’est pas d’accumuler des commandes : chaque action doit répondre à une hypothèse, rester dans le périmètre et déboucher sur une conclusion vérifiable.

Dans ce contexte, l’attention porte surtout sur la requête de référence, le point d’entrée modifié, le contexte d’encodage et les différences entre réponse normale et réponse testée. Une approche professionnelle commence par noter l’état initial, la version des composants et l’identité utilisée. Elle se termine par la conservation des sorties utiles, l’explication des limites et la vérification que le laboratoire a été remis dans son état prévu.

  • Point de contrôle — méthode HTTP et chemin.
  • Point de contrôle — paramètre ou en-tête modifié.
  • Point de contrôle — code de statut et taille de réponse.
  • Point de contrôle — variation du corps ou du temps de réponse.
  • Point de contrôle — preuve de reproductibilité avec une seule variable modifiée.

Procédure de validation contrôlée

La méthode suivante transforme « Modes dir, dns, vhost et fuzz » en exercice reproductible. Elle évite de confondre la quantité de sorties avec la qualité de la preuve et permet d’arrêter le test dès que l’objectif est démontré.

  1. Définir en une phrase ce que l’exercice « Modes dir, dns, vhost et fuzz » doit confirmer ou infirmer.
  2. Relever l’état initial du laboratoire et les versions utiles au domaine « Gobuster et decouverte de contenu ».
  3. Enregistrer une requête de référence puis ne modifier qu’un paramètre, en-tête ou fragment de corps.
  4. Exécuter une seule variation à la fois et conserver la sortie brute avec un horodatage UTC.
  5. Comparer code, taille, contenu, redirections et temps de réponse avec la requête de référence.
  6. Documenter l’impact, les limites, la correction proposée et le critère de retest.

Exemple guidé dans le laboratoire

Dans le laboratoire, placez une application de test sous `https://app.lab.local/` et créez un compte sans privilège. Pour « Modes dir, dns, vhost et fuzz », capturez une requête normale, dupliquez-la dans l’outil adapté et modifiez une seule valeur. Conservez la requête et la réponse complètes, puis revenez à la valeur d’origine afin de vérifier que l’écart disparaît.

Le cas est réussi lorsque vous pouvez expliquer la différence observée sans vous appuyer uniquement sur le verdict automatique. Une validation propre mentionne le rôle du compte, l’état de la session, le paramètre testé, les protections présentes et la manière dont le développeur pourra reproduire le constat.

  • Préparation — confirmer les actifs et comptes autorisés pour « Modes dir, dns, vhost et fuzz ».
  • Exécution — limiter l’action à une seule hypothèse et une seule variation.
  • Validation — reproduire le résultat et conserver la sortie brute.
  • Clôture — nettoyer les artefacts, documenter les limites et définir le retest.

Lecture des commandes et options

Les commandes déjà présentes dans « Modes dir, dns, vhost et fuzz » doivent être lues comme des exemples de laboratoire. Les lignes suivantes expliquent leur rôle afin d’éviter une exécution aveugle.

  • `gobuster [mode] [options]` — énumère des noms à partir d’une wordlist ; contrôlez le mode, la cible, les extensions, les codes retenus et le nombre de threads.
  • `gobuster help` — énumère des noms à partir d’une wordlist ; contrôlez le mode, la cible, les extensions, les codes retenus et le nombre de threads.
  • `gobuster help dir` — énumère des noms à partir d’une wordlist ; contrôlez le mode, la cible, les extensions, les codes retenus et le nombre de threads.
  • `mkdir -p preuves` — cette ligne participe à l’exercice « Modes dir, dns, vhost et fuzz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `gobuster dir \` — énumère des noms à partir d’une wordlist ; contrôlez le mode, la cible, les extensions, les codes retenus et le nombre de threads.
  • `-u https://app.lab.local/ \` — cette ligne participe à l’exercice « Modes dir, dns, vhost et fuzz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `-w wordlists/paths-lab.txt \` — cette ligne participe à l’exercice « Modes dir, dns, vhost et fuzz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `-x php,txt,json \` — cette ligne participe à l’exercice « Modes dir, dns, vhost et fuzz » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.

Interpréter la réponse de l’application

Pour « Modes dir, dns, vhost et fuzz », un résultat utile relie au minimum le contexte, l’action et l’observation. Une sortie d’outil isolée reste une indication : elle devient une preuve lorsque le périmètre, la version, les paramètres et la reproduction sont documentés.

La conclusion doit préciser ce qui est confirmé, ce qui reste probable et ce qui n’a pas été testé. Dans le profil « web », les éléments à rapprocher sont notamment : méthode HTTP et chemin, paramètre ou en-tête modifié, code de statut et taille de réponse. Les autres éléments servent à expliquer la portée et à préparer le retest.

  • Élément à documenter — méthode HTTP et chemin.
  • Élément à documenter — paramètre ou en-tête modifié.
  • Élément à documenter — code de statut et taille de réponse.
  • Élément à documenter — variation du corps ou du temps de réponse.
  • Élément à documenter — preuve de reproductibilité avec une seule variable modifiée.

Erreurs fréquentes et amélioration de la qualité

Les erreurs ci-dessous sont particulièrement importantes pour « Modes dir, dns, vhost et fuzz ». Elles produisent des faux positifs, des conclusions impossibles à reproduire ou un risque inutile pour le laboratoire.

  • À éviter — tester plusieurs paramètres en même temps.
  • À éviter — confondre erreur applicative et vulnérabilité.
  • À éviter — laisser le scanner sortir du périmètre.
  • À éviter — ne pas tenir compte de l’authentification ou du rôle.
  • À éviter — documenter un payload sans expliquer pourquoi il démontre le problème.

Checklist avant de clôturer le chapitre

Cette checklist résume les contrôles attendus pour considérer « Modes dir, dns, vhost et fuzz » comme terminé de manière professionnelle.

  • L’objectif et le périmètre de « Modes dir, dns, vhost et fuzz » sont écrits.
  • La version des outils et composants est enregistrée.
  • La commande, le filtre ou la procédure exacte est conservé.
  • La sortie brute est horodatée et accompagnée de son contexte.
  • Le résultat a été confirmé par une seconde observation.
  • Les limites et les éléments non testés sont explicites.
  • Les artefacts créés ont été supprimés ou remis dans l’état convenu.
  • La recommandation et le critère de retest sont exploitables.

Références

À retenir

Pour maîtriser « Modes dir, dns, vhost et fuzz », retenez trois idées : comprendre la requête de référence, le point d’entrée modifié, le contexte d’encodage et les différences entre réponse normale et réponse testée, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.

  • Savoir expliquer le mécanisme propre à « Modes dir, dns, vhost et fuzz » sans réciter une commande.
  • Conserver au minimum méthode HTTP et chemin, paramètre ou en-tête modifié et code de statut et taille de réponse.
  • Éviter en priorité de tester plusieurs paramètres en même temps et de confondre erreur applicative et vulnérabilité.
  • Proposer une action corrective mesurable et un retest réalisable.