Introduction
Gobuster est un outil puissant utilisé pour le brute-forcing de répertoires et de fichiers, le brute-forcing de sous-domaines DNS et l'énumération de buckets S3. Lors de l'exécution de scans, la quantité d'informations affichées dans le terminal peut varier considérablement. Comprendre comment contrôler la verbosité de cette sortie est crucial pour une analyse efficace et pour éviter de surcharger votre terminal avec des données inutiles.
Dans ce laboratoire, vous apprendrez à gérer la verbosité de la sortie de Gobuster. Vous effectuerez des scans en utilisant les paramètres par défaut, puis explorerez le mode silencieux (-q) pour minimiser la sortie, et enfin le mode verbeux (-v) pour maximiser les détails. En comparant ces différents niveaux, vous acquerrez une expérience pratique dans l'adaptation de la sortie de Gobuster pour répondre à divers scénarios, des vérifications rapides aux investigations approfondies.
Exécuter un scan standard et observer la sortie par défaut
Dans cette étape, vous allez effectuer un scan Gobuster standard sans aucun indicateur de verbosité spécifique. Cela vous permettra d'observer le comportement de sortie par défaut de Gobuster, qui affiche généralement les répertoires et fichiers trouvés au fur et à mesure de leur découverte.
Tout d'abord, assurez-vous d'être dans le dossier project de votre répertoire personnel.
cd ~/project
Maintenant, exécutez la commande Gobuster. Nous utiliserons une cible locale pour ce laboratoire afin d'éviter de scanner des sites web externes. Nous utiliserons http://localhost comme cible et une petite liste de mots (wordlist) à des fins de démonstration.
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z
Décomposons la commande :
gobuster dir: Spécifie que nous effectuons un scan de brute-force de répertoires/fichiers.-u http://localhost: Définit l'URL cible surhttp://localhost.-w /usr/share/wordlists/dirb/common.txt: Spécifie la liste de mots à utiliser pour l'énumération. Cette liste contient des noms de répertoires et de fichiers courants.-x php,html,txt: Spécifie les extensions de fichiers à rechercher.-z: Masque la barre de progression (status bar), qui peut parfois interférer avec la capture d'une sortie propre pour comparaison.
Observez la sortie dans votre terminal. Vous devriez voir des lignes indiquant les répertoires et fichiers trouvés, ainsi que leurs codes d'état HTTP.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Ceci est la sortie par défaut, offrant un équilibre entre informations et concision.
Relancer le scan en mode silencieux avec l'indicateur -q
Dans cette étape, vous allez relancer le scan Gobuster en utilisant le mode silencieux. L'indicateur -q supprime la majeure partie de la sortie, n'affichant que les découvertes essentielles. Ce mode est utile lorsque vous souhaitez vérifier rapidement des ressources spécifiques sans être distrait par des informations détaillées, ou lorsque vous redirigez la sortie vers un autre outil.
Exécutez la même commande Gobuster qu'auparavant, mais ajoutez cette fois l'indicateur -q :
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -q
Observez la sortie. Vous devriez remarquer que la bannière initiale, les statistiques et les mises à jour de progression ne sont plus affichées. Seuls les répertoires et fichiers trouvés sont imprimés sur la console.
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
Cette sortie silencieuse est idéale pour le scripting ou lorsque vous ne vous souciez que des chemins découverts.
Relancer le scan en mode verbeux avec l'indicateur -v
Dans cette étape, vous allez relancer le scan Gobuster en utilisant le mode verbeux. L'indicateur -v fournit des informations plus détaillées sur le processus de scan, y compris chaque requête effectuée et son code de réponse correspondant. Ce mode est particulièrement utile pour le débogage ou lorsque vous avez besoin de comprendre pourquoi certains chemins ne sont pas trouvés ou renvoient des réponses inattendues.
Exécutez la même commande Gobuster, mais ajoutez cette fois l'indicateur -v :
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -v
Observez la sortie. Vous constaterez une augmentation significative de la quantité d'informations affichées. Pour chaque mot de la liste de mots (wordlist), Gobuster affichera l'URL testée et le code d'état HTTP reçu, même pour les chemins qui n'existent pas ou renvoient des erreurs.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
Testing url: http://localhost/index.html (Status: 200)
Testing url: http://localhost/server-status (Status: 403)
Testing url: http://localhost/manual (Status: 301)
Testing url: http://localhost/icons (Status: 301)
Testing url: http://localhost/phpmyadmin (Status: 301)
Testing url: http://localhost/test.php (Status: 200)
Testing url: http://localhost/info.php (Status: 200)
Testing url: http://localhost/robots.txt (Status: 200)
Testing url: http://localhost/license.txt (Status: 200)
Testing url: http://localhost/README.txt (Status: 200)
Testing url: http://localhost/admin (Status: 404)
Testing url: http://localhost/login (Status: 404)
... (beaucoup plus de lignes pour chaque chemin testé)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Cette sortie verbeuse fournit une trace complète du processus de scan, ce qui peut être inestimable pour le dépannage ou une analyse approfondie.
Comparer les trois niveaux de détail de la sortie
Dans cette étape, vous allez comparer les sorties des trois différents scans Gobuster que vous avez effectués : par défaut, silencieux (-q) et verbeux (-v). Comprendre les différences vous aidera à choisir le niveau de sortie le plus approprié pour diverses situations.
Rappelez-vous les caractéristiques de chaque sortie :
- Sortie par défaut : Fournit une bannière récapitulative, des mises à jour de progression (si
-zn'est pas utilisé) et liste uniquement les répertoires/fichiers trouvés avec leurs codes d'état. C'est un bon équilibre pour une utilisation générale. - Sortie silencieuse (
-q) : Supprime toutes les informations non essentielles, n'affichant que les répertoires/fichiers trouvés. Ceci est utile pour une sortie propre et analysable, en particulier lors de la redirection vers d'autres outils ou lorsque vous n'avez besoin que des résultats. - Sortie verbeuse (
-v) : Affiche des détails exhaustifs, y compris chaque URL testée et son état de réponse, qu'il s'agisse d'un chemin "trouvé" ou d'une erreur. Ceci est inestimable pour le débogage, la compréhension des interactions réseau, ou lorsque vous avez besoin d'une piste d'audit complète du scan.
Considérez les scénarios suivants et comment chaque niveau de sortie pourrait être le mieux adapté :
- Vérification rapide des chemins courants : Le mode silencieux (
-q) serait efficace. - Reconnaissance générale : La sortie par défaut fournit suffisamment de contexte.
- Dépannage d'un scan qui ne trouve pas les chemins attendus : Le mode verbeux (
-v) aiderait à identifier pourquoi les requêtes échouent ou quelles réponses sont reçues. - Intégration de Gobuster dans un script pour un traitement automatisé : Le mode silencieux (
-q) garantit une sortie propre et facile à analyser.
En comparant les sorties terminales que vous avez observées dans les étapes précédentes, vous pouvez clairement voir comment chaque indicateur modifie la verbosité.
Choisir la verbosité appropriée pour différents scénarios
Dans cette dernière étape, vous allez consolider votre compréhension de quand utiliser chaque niveau de sortie de Gobuster. Le choix de la verbosité dépend fortement de votre objectif et du contexte de vos tests d'intrusion ou de votre évaluation de sécurité.
Voici un résumé de quand utiliser chaque mode :
Mode par défaut (aucun indicateur) :
- Quand l'utiliser : Pour une analyse à usage général, une reconnaissance initiale, ou lorsque vous avez besoin d'une vue équilibrée de la progression et des résultats du scan. C'est le point de départ le plus courant.
- Exemple : Vous explorez une nouvelle cible et souhaitez voir rapidement quels répertoires courants existent sans trop de bruit.
Mode silencieux (
-q) :- Quand l'utiliser : Lorsque vous ne vous souciez que des résultats réussis et que vous souhaitez supprimer tous les autres messages d'information, bannières et erreurs. Ceci est idéal pour le scripting, le piping de la sortie vers d'autres outils (comme
grepouawk), ou lorsque vous exécutez plusieurs scans en parallèle et souhaitez un minimum d'encombrement du terminal. - Exemple : Vous écrivez un script pour automatiser l'énumération de répertoires et souhaitez alimenter directement les URL trouvées dans un autre outil pour une analyse plus approfondie.
- Quand l'utiliser : Lorsque vous ne vous souciez que des résultats réussis et que vous souhaitez supprimer tous les autres messages d'information, bannières et erreurs. Ceci est idéal pour le scripting, le piping de la sortie vers d'autres outils (comme
Mode verbeux (
-v) :- Quand l'utiliser : Pour le débogage, le dépannage, ou lorsque vous avez besoin d'une compréhension détaillée de chaque requête et réponse. Ce mode montre toutes les tentatives, y compris celles qui aboutissent à des 404 ou d'autres erreurs, ce qui peut être crucial pour identifier des problèmes subtils ou comprendre le comportement du serveur.
- Exemple : Votre scan Gobuster ne trouve pas les répertoires attendus, et vous suspectez un problème réseau, un WAF bloquant les requêtes, ou une réponse serveur inhabituelle. La sortie verbeuse vous montrera exactement ce qui se passe pour chaque requête.
En maîtrisant ces options de verbosité, vous pouvez rendre vos scans Gobuster plus efficaces et adaptés à vos besoins spécifiques, économisant ainsi du temps et améliorant vos capacités d'analyse.
Résumé
Dans ce laboratoire, vous avez appris avec succès à contrôler la verbosité de la sortie de Gobuster. Vous avez commencé par effectuer un scan standard pour observer la sortie par défaut, qui offre une vue équilibrée du processus d'énumération. Ensuite, vous avez exploré le mode silencieux en utilisant l'indicateur -q, qui minimise la sortie pour n'afficher que les chemins découverts, ce qui le rend idéal pour le scripting et des résultats propres. Enfin, vous avez utilisé le mode verbeux avec l'indicateur -v pour obtenir un aperçu détaillé de chaque requête et réponse, ce qui est inestimable pour le débogage et l'analyse approfondie.
En comprenant et en appliquant ces différents niveaux de verbosité, vous pouvez adapter efficacement la sortie de Gobuster à divers scénarios, des vérifications rapides au dépannage détaillé, améliorant ainsi votre efficacité dans les tâches d'énumération de répertoires et de fichiers.
