Ressources pour développeur web

Théme de la semaine : La newsletter

Hakrawler : le crawler CLI pour cartographier un site

Temps de lecture estimé : 5 minutes
Accueil CyberSécurité Hakrawler : le crawler CLI pour cartographier un site

Hakrawler est un outil en ligne de commande qui permet de crawler un site web automatiquement pour découvrir ses liens, ses endpoints et ses ressources cachées. Simple, rapide et efficace, il est devenu un incontournable dans les workflows de pentest.

  • Hakrawler explore automatiquement un site web pour révéler ses pages, endpoints et ressources parfois invisibles depuis la navigation classique.
  • Installer et utiliser cet outil en ligne de commande facilement, même sans expérience préalable en pentest ou en cybersécurité.
  • Exploiter les URLs trouvées pour analyser un site plus efficacement et les intégrer dans un workflow de reconnaissance avec d’autres outils de sécurité.

Lorsque l’on commence à s’intéresser à la sécurité web ou au pentest, une question revient très vite : comment découvrir toutes les pages d’un site ? Car contrairement à ce que l’on pourrait croire, un site web ne se limite pas à ce que vous voyez dans le menu. Il existe souvent des dizaines, parfois des centaines d’URLs cachées. C’est précisément là que Hakrawler entre en jeu

Certaines pages sont oubliées, d’autres sont destinées à l’administration, et certaines servent d’API ou d’interfaces internes. Pour un pentester ou un développeur curieux, ces pages représentent autant de pistes à explorer.

Dans ce tutoriel complet, vous allez apprendre ce qu’est Hakrawler, comment l’installer, comment l’utiliser et surtout comment interpréter ses résultats pour en tirer des informations utiles.

Qu’est-ce que Hakrawler et à quoi sert-il ?

Avant d’entrer dans les commandes, prenons un moment pour comprendre le principe.

Le concept de crawling

Le mot crawler désigne un programme qui parcourt automatiquement un site web pour découvrir ses pages.

Le fonctionnement est assez simple :

  1. le programme visite une page
  2. il analyse son contenu
  3. il extrait les liens présents
  4. il visite ces nouveaux liens
  5. le processus recommence

C’est exactement ce que font les robots de Google lorsqu’ils indexent Internet.

Hakrawler, crawler de site web depuis le terminal
  • Hakrawler applique ce principe dans un contexte de reconnaissance web (recon).

Autrement dit, il permet de cartographier un site.

Ce que Hakrawler peut découvrir

En analysant le code HTML et certaines ressources, Hakrawler peut extraire plusieurs types d’informations :

  • les URLs internes
  • les endpoints d’API
  • les liens présents dans les scripts JavaScript
  • les pages oubliées ou non accessibles depuis le menu
  • les fichiers intéressants (PDF, JSON, etc.)

Pour un pentester, ces informations sont extrêmement précieuses parce que plus vous connaissez un site, plus vous avez de chances de trouver des failles.

Exemple concret

Imaginez un site fictif :

https://monsite-test.com

Sur la page d’accueil, vous voyez seulement :

  • Accueil
  • Blog
  • Contact

Mais derrière ce site, il existe peut-être :

/admin
/api/users
/dev/debug
/old-login

Ces pages ne sont pas visibles dans le menu… mais Hakrawler peut les découvrir.

Et c’est exactement ce que recherchent les pentesters.

Pourquoi Hakrawler est populaire en pentest

Il existe de nombreux crawlers web, mais Hakrawler possède plusieurs avantages.

D’abord, il est très simple à utiliser. Contrairement à certains outils complexes, une seule commande suffit souvent.

Ensuite, il est rapide. L’outil est écrit en Go, un langage très performant.

Enfin, il s’intègre facilement dans un workflow automatisé avec d’autres outils.

C’est pour cette raison qu’il est souvent utilisé dans :

  • les programmes de bug bounty
  • les audits de sécurité
  • les scripts de reconnaissance automatisée

Installer Hakrawler pas à pas

Passons maintenant à la partie pratique.

L’installation peut sembler impressionnante si vous débutez, mais rassurez-vous : elle est en réalité très simple.

Étape 1 : installer Go

Hakrawler est écrit en Go. Vous devez donc installer cet environnement.

Commençons par vérifier si Go est installé, ouvrez votre terminal et tapez :

go version

Si vous voyez un résultat similaire :

go version go1.25.5 linux/amd64

alors tout est prêt. Sinon, il faut installer GO…

Installer Go sous Linux

Sur Ubuntu ou Debian :

sudo apt install golang

Installer Go sous macOS

Avec Homebrew :

brew install go

Installer Go sous Windows

Téléchargez l’installateur officiel : https://go.dev/dl

Puis suivez les instructions.

Étape 2 : installer Hakrawler

Une fois Go installé, l’installation de Hakrawler prend moins de 10 secondes.

Dans votre terminal, tapez :

go install github.com/hakluke/hakrawler@latest

Go va télécharger le programme et le compiler.

Ajouter Go au PATH

Si la commande ne fonctionne pas, ajoutez le dossier Go à votre PATH :

~/go/bin

Sous Linux ou macOS :

export PATH=$PATH:~/go/bin

Vérifier l’installation

Tapez simplement :

hakrawler

Si l’outil répond, c’est gagné.

Vous venez d’installer votre premier crawler de pentest.

Première utilisation de Hakrawler

Commençons par un exemple très simple. Supposons que vous vouliez analyser :

https://example.com

Dans votre terminal :

echo https://example.com | hakrawler

Hakrawler va visiter la page et afficher toutes les URLs trouvées.

Le résultat ressemble à ceci :

https://example.com/blog
https://example.com/login
https://example.com/api/users
https://example.com/contact

Chaque ligne correspond à un lien découvert.

Comprendre la profondeur de crawling

Par défaut, Hakrawler analyse une seule page. Mais un site peut contenir plusieurs niveaux.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Prenons un exemple.

example.com
  └ blog
      └ article1
      └ article2

Pour analyser plusieurs niveaux, on utilise l’option depth.

-depth

Exemple :

echo https://example.com | hakrawler -depth 2

Cela signifie :

  • niveau 1 : page initiale
  • niveau 2 : pages découvertes

Sauvegarder les résultats

Très souvent, vous voudrez enregistrer les URLs.

C’est très simple avec la redirection.

echo https://example.com | hakrawler > urls.txt

Vous obtenez un fichier contenant toutes les URLs.

Ensuite vous pouvez les analyser.

Interpréter les résultats de Hakrawler

C’est une étape essentielle. Beaucoup de débutants exécutent l’outil… puis ne savent pas quoi faire des résultats.

Voyons comment analyser les URLs découvertes.

Identifier les pages sensibles

Certaines URLs attirent immédiatement l’attention :

/admin
/dashboard
/login
/config
/debug

Ces pages peuvent révéler :

  • des interfaces d’administration
  • des systèmes internes
  • des outils de développement

Ce sont souvent les premières cibles d’un pentest.

Repérer les API

Hakrawler découvre aussi souvent des endpoints API.

Par exemple :

/api/users
/api/login
/api/v1/products

Ces endpoints peuvent parfois :

  • manquer d’authentification
  • exposer des données
  • permettre des manipulations

Détecter les fichiers intéressants

Certains fichiers peuvent contenir des informations sensibles :

backup.sql
config.json
users.csv

Ces fichiers sont parfois oubliés sur les serveurs.

  • Un crawler peut les révéler.

Utiliser Hakrawler dans un workflow de pentest

Dans la pratique, Hakrawler n’est jamais utilisé seul. Il s’intègre dans une chaîne d’outils appelée workflow de reconnaissance.

Voici un exemple classique.

Étape 1 : trouver les sous-domaines

On commence par découvrir les sous-domaines :

Exemple :

subfinder -d example.com

Résultat :

api.example.com
dev.example.com
admin.example.com

Étape 2 : vérifier les sites actifs

Ensuite on utilise httpx.

cat domains.txt | httpx

Cela permet de voir quels sites répondent.

Étape 3 : crawler les sites avec Hakrawler

Maintenant, Hakrawler entre en scène.

cat live.txt | hakrawler

Vous obtenez toutes les URLs.

Étape 4 : fuzzing avec ffuf

Ensuite, on peut chercher des dossiers cachés.

ffuf -u https://example.com/FUZZ -w wordlist.txt

Étape 5 : analyser les endpoints

Enfin, on analyse les endpoints pour trouver :

  • injections SQL
  • failles XSS
  • IDOR
  • accès non autorisé

Hakrawler sert donc principalement à cartographier la surface d’attaque.

Automatiser Hakrawler avec d’autres outils

Voici un exemple de pipeline très utilisé.

subfinder -d example.com | httpx | hakrawler

Explication :

  • subfinder trouve les sous-domaines
  • httpx teste lesquels sont actifs
  • hakrawler explore les URLs

Résultat : une cartographie complète du site.

Tableau récapitulatif des commandes Hakrawler

commandefonction
hakrawlerlancer l’outil
`echo sitehakrawler`
-depthdéfinir la profondeur
-scopelimiter le domaine
-plainsortie simplifiée
> fichier.txtsauvegarder les résultats

Bonnes pratiques pour utiliser Hakrawler

Lorsque vous utilisez cet outil, gardez quelques principes simples en tête.

D’abord, respectez toujours la légalité. N’analysez que les sites pour lesquels vous avez l’autorisation.

Ensuite, évitez de lancer un crawler trop agressif sur un serveur fragile. Même si Hakrawler est léger, un scan intensif peut parfois générer beaucoup de requêtes.

Enfin, pensez toujours à combiner plusieurs outils. Hakrawler est excellent pour découvrir les URLs, mais il ne remplace pas les scanners de vulnérabilités.


Hakrawler est un outil fascinant. Derrière sa simplicité se cache une capacité redoutable : révéler la structure cachée d’un site web.

Pour un pentester, un développeur ou même un simple curieux de la sécurité web, il constitue une excellente porte d’entrée dans le monde de la reconnaissance web.

Mais surtout, il vous apprend une chose essentielle : un site web est toujours plus complexe qu’il n’y paraît. Derrière chaque page visible se cache souvent toute une architecture invisible.

Et c’est précisément dans cette partie cachée que se trouvent… les découvertes les plus intéressantes.