Links Discovery
As a newcomer to the cybersecurity industry, I'm on an exciting journey of continuous learning and exploration. Join me as I navigate, sharing insights and lessons learned along the way
Le Links Discovery ou la découverte de liens est un processus qui consiste à explorer et à extraire des liens et des ressources d’un site web pour obtenir des informations sur une cible. Il permet d’identifier la structure des pages et les relations entre elles pour mieux comprendre comment un site est construit. On peut aussi y ressortir les sous-domaines et d’autres ressources cachées ou moins visibles.
Katana
Katana est un outil d’exploration de sites web, écrit en Go, dévéloppé par Project Discovery. Il permet aussi d’analyser des sites web, d’y extraire des ressources cachées et identifer des vulnérabilitées potentielles.
La documentation officielle se retrouve sur GitHub.
Pour installer Katana, utilisez la commande suivante:
go install github.com/projectdiscovery/katana/cmd/katana@latest
Options
katana -h: cette option liste toutes les options de katanakatana -u [site.com] -d [INT] -e "STRING" -rl [INT] -o [results.json]l’option
-udéfinit le site ou l’URL à analyserl’option
-ddéfinit la profondeur d’exploration à partir du lien spécifiél’option
-eexclut divers éléments correspondants à la chaîne de caractère spécifiée. Cela peut être des chemins, des adresses IP, des sous-domaines etc.l’option
-rlfixe un nombre maximal de requêtes par secondes (150 par défaut)
cat file.txt | katana -jc -noicatpermet de lire un fichier qui contient une liste d’URLs (une par ligne) à explorerl’option
-jcactive l’analyse des fichiers JavaScriptl’option
-noipour no incognito désactive le mode incognito, ce qui permet de conserver l'historique de navigation pendant l'exploration
Toute la documentation et les options sont disponibles sur Github.
La photo ci-dessous montre une exécution de l’outil. Elle explorera le site http://youtube.com, à une profondeur de 3, exclura les chemins contenant /login, active l’analyse des fichiers JavaScript, et enregistrera les résultats dans un fichier.
On voit donc que des liens et fichiers JavaScript sont bien extraits.

GoSpider
GoSpider est un outil de reconnaissance écrit en langage Go, pour crawler ou extraire des données d’un site Web. Un crawler ou robot d’exploration est un programme ou un script automatisé destiné à collecter des informations sur des sites internet. GoSpider peut être utilisé lors de la reconnaissance pour identifier des liens, des ressources, des fichiers en lien avec un site spécifique.
La documentation officielle se retrouve sur GitHub.
Pour installer GoSpider, utilisez la commande suivante:
go get -u github.com/jaeles-project/gospider
Options
gospider -h: l’option-hpermet de voir la liste de toute les options de GoSpidergospider -s [site.com/URL] -c [INT] -o [resultat.txt/.json]l’option
-sspécifie l’URL ou le site à analyser;l’option
-cdéfinit le nombre maximal de requêtes simultanées lors de l’exploration du site (par défaut, il est fixé à 5);l’option
-oenregistre les résultats dans un fichier;
gospider -S [sites] -q --blacklist [ ] -d [INT]l’option
-Sspécifie une fichier texte contenant les URLS de sites à analyser;l’option
-qrend l’analyse plus concise et désactive les logs détaillés;l’option
--blacklistpermet d’exclure (blacklister) soit des extensions, des types de fichiers lors de l’analyse.l’option
-ddéfinit la profondeur de lien à explorer lors du crawl. Cela signique qu’il explore d’abord l’URL initiale, ensuite les liens trouvés sur cette page, et ensuite les liens sur ces pages, et ainsi de suite. Il est fixé à 1 par défaut.
En parcourant la liste des options, vous aurez accès aux différentes manières d’utiliser GoSpider.
Hakrawler
Hakrawler est aussi un outil de reconnaissance utilisé pour explorer des sites web et extraire des informations comme des liens, des formulaires et des emplacements de fichiers . Aussi écrit en langage Go, il est utilisé lors de la phase de reconnaissance lors des tests de sécurité.
La documentation officielle est disponible sur GitHub.
Pour installer Hakrawler, utilisez la commande suivante:
go get -u github.com/hakluke/hakrawler
Options
hakrawler -h: cette option affiche toutes les options de hackrawlerecho [URL] | hakrawler -t [INT] -d [INT] -t [INT] | grep "STRING"la commande
echoenvoie l’URL en tant qu’entrée à Hakrawler via le pipe|l’option
-tpour threads, définit le nombre de requêtes simultanées pour accélerer l’exploration. Cela permet de crawler plusieurs pages à la foisl’option
-ddéfinit la profondeur du crawll’option
-tfixe le délai dattente pour chaque requête. Passé ce délai, la requête d’exploration est abandonnée si elle ne recoit aucune réponsel’option
grepfiltre les résultats du hakrawler selon le string défini
cat sites.txt | hakrawler -subs -jsonle contenu du fichier “sites.txt” est lu (une URL par ligne) et redirigé à Hakrawler via le symbole pipe
|l’option
-subsindique qu’il faut analyser aussi les sous-domaines liés à chaque url dans le fichierl’option
-jsonretourne les résultats en format JSON
La photo ci-dessous montre une exécution de l’outil. La commande explore le site avec une profondeur d'exploration de 2 niveaux, incluant les sous-domaines et affiche les résultats en format JSON

Ces outils sont complémentaires dans l’exploration et l'analyse de sites web dans le cadre de la reconnaissance. Ils permettent de découvrir des liens, des fichiers et des ressources cachées qui peuvent être utiles pour identifier des vulnérabilités
À noter, qu’il est important de rappeler que l'utilisation de ces outils doit toujours se faire dans un cadre légal.



