603 tutoriels en ligne

Créa-blog

#100JoursPourCoder
Projet Créa-code

Ressources pour développeur web

Théme de la semaine : Google Analytics

Amass : l’outil pentesting pour trouver des sous-domaines

Temps de lecture estimé : 7 minutes
Accueil Sécurité Amass : l’outil pentesting pour trouver des sous-domaines

Vous avez déjà eu cette sensation un peu frustrante de “savoir” qu’un site cache des pages et des sous-domaines… sans réussir à mettre la main dessus ? C’est exactement le genre de situation où Amass devient un allié précieux. En pentesting, on ne cherche pas à “pirater”, on cherche d’abord à comprendre ce qui existe. Et pour ça, il faut cartographier le terrain.

  • Comprendre rapidement pourquoi Amass est un outil incontournable pour repérer les sous-domaines d’une cible et mieux cartographier ce qui existe réellement derrière un nom de domaine.
  • Savoir choisir entre Amass et SubFinder selon votre objectif, et éviter de perdre du temps avec le mauvais outil au mauvais moment.
  • Être capable d’installer Amass facilement sur avec Homebrew et de l’intégrer dans un workflow de reconnaissance efficace avec d’autres outils de pentest.

Quand on parle de reconnaissance, recon, une des premières étapes consiste à repérer un maximum de portes d’entrée possibles. Et ces portes d’entrée, très souvent, ce sont des sous-domaines : admin.site.comapi.site.comdev.site.comstaging.site.com… parfois visibles, parfois oubliés, parfois très mal configurés.

Dans ce guide, nous allons découvrir Amass, comprendre à quoi il sert, l’installer facilement avec Homebrew, l’utiliser avec de vrais exemples concrets, et surtout apprendre à l’intégrer dans une petite boîte à outils de pentesting propre et efficace.

Qu’est-ce que Amass, exactement ?

Amass (de l’OWASP) est un outil spécialisé dans la collecte d’informations sur une cible, plus précisément dans la découverte de sous-domaines et l’exploration de la surface d’attaque d’une organisation.

Pour le dire simplement, Amass aide à répondre à une question ultra basique mais capitale en cybersécurité :

Qu’est-ce qui existe réellement derrière ce nom de domaine ?

Quand vous tapez monsite.com dans un navigateur, vous n’en voyez qu’une partie. Pourtant, une entreprise peut avoir des dizaines, parfois des centaines de sous-domaines liés à ce domaine principal.

Amass va explorer et lister ces sous-domaines en utilisant différentes méthodes.

À quoi sert Amass dans un pentest ?

En pentesting, on ne commence pas en “testant des failles”. On commence par observer. On cherche des informations accessibles publiquement pour établir une carte claire de la cible.

Avec Amass, vous pouvez :

  • Découvrir des sous-domaines publics liés à un domaine principal, comme mailvpndevapicrm, etc.
  • Obtenir les adresses IP associées à ces sous-domaines.
  • Identifier des informations DNS utiles : CNAME, A, AAAA, NS, TXT…
  • Comprendre l’écosystème d’un domaine et repérer des zones “moins surveillées”.

Car oui, un site principal est souvent protégé. Mais un sous-domaine oublié, lui… peut être une mine d’or (ou une catastrophe de sécurité en attente).

On peut dire que Amass est une lampe torche. Il n’attaque pas, il éclaire. Et plus vous éclairez tôt, plus vous évitez de perdre du temps après.

Pourquoi les sous-domaines sont si importants ?

Un sous-domaine, c’est un “site secondaire” rattaché à un domaine.

Par exemple :

  • Domaine : crea-troyes.fr
  • Sous-domaine : blog.crea-troyes.fr
  • Sous-domaine : code.crea-troyes.fr

Chaque sous-domaine peut pointer vers une application différente, un serveur différent, ou un environnement complètement séparé.

Et dans la vraie vie, on retrouve souvent :

  • Des environnements de test (staging) ouverts par erreur.
  • Des panneaux d’administration.
  • Des API avec documentation exposée.
  • Des services internes accessibles publiquement.

Bref, en pentesting, le sous-domaine est souvent le petit détail qui change tout.

Amass vs SubFinder : quelles différences ?

Beaucoup de débutants tombent rapidement sur une question logique : “Pourquoi utiliser Amass alors que SubFinder existe ?”

Très bonne question, et la réponse est simple : ils n’ont pas exactement la même philosophie.

SubFinder : rapide et efficace

SubFinder est un outil (ProjectDiscovery) conçu pour faire une chose très bien : trouver des sous-domaines en se basant sur des sources passives.

Il est souvent apprécié parce qu’il est :

  • Très rapide.
  • Simple à utiliser.
  • Idéal quand vous voulez une liste de sous-domaines en quelques secondes.
  • Parfait dans une chaîne d’outils automatisée.

Amass : plus complet, plus “lourd”

Amass est souvent considéré comme plus puissant, parce qu’il ne se limite pas à une seule approche. Il peut faire :

  • De la collecte passive (sources publiques).
  • De l’analyse DNS plus avancée.
  • Des résolutions plus poussées.
  • Un mode “énumération” plus complet, parfois plus lent, mais plus riche.
  • En clair, Amass va parfois aller chercher ce que SubFinder ne remonte pas.

La vraie différence (version terrain)

SubFinder, c’est le sprinter. Amass, c’est le randonneur équipé, qui va plus loin… même s’il prend plus de temps.

Et honnêtement, dans un workflow de pentesting, il est très courant de les utiliser ensemble, justement parce qu’ils se complètent.

Installation de Amass avec Homebrew

Si vous êtes sur macOS, la méthode la plus propre et la plus simple reste Homebrew.

L’objectif ici, c’est que vous puissiez installer Amass proprement, vérifier qu’il fonctionne, et éviter les erreurs classiques.

Étape 1 : vérifier que Homebrew est installé

Pour vérifier que Hombrew est bien installé, ouvrez votre Terminal et tapez :

brew --version

Si vous voyez une version s’afficher, parfait. Si vous avez une erreur du genre “command not found”, il faut installer Homebrew.

Voici la commande officielle (à copier-coller dans votre terminal) :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Après installation, Homebrew vous dira parfois d’ajouter une ligne dans votre .zshrc ou .bash_profile. Faites-le, sinon brew peut ne pas fonctionner.

Ensuite, relancez le terminal et retapez :

brew --version

Étape 2 : installer Amass via brew

Maintenant qu’on a Homebrew, l’installation est simple :

brew install amass

Homebrew va télécharger le programme, le placer au bon endroit, et gérer les dépendances.

Étape 3 : vérifier qu’Amass fonctionne

Une fois l’installation terminée :

amass -version

ou parfois selon versions :

amass version

Si vous obtenez une version, tout est bon.

Amass

Étape 4 : comprendre où se trouve Amass

Ce point n’est pas obligatoire, mais c’est une petite habitude saine. Vous pouvez vérifier où l’exécutable est installé avec :

which amass

Ça vous permet de confirmer que votre système “voit bien” Amass et qu’il ne s’agit pas d’une version mal installée.

Pour mieux appréhender le terminal : Liste des commandes principales du terminal

Premier pas : utiliser Amass sans se perdre

Quand on lance Amass pour la première fois, on peut avoir un moment de flottement. C’est normal. L’outil propose plusieurs sous-commandes, plusieurs modes, et ça ressemble vite à une notice de meuble IKEA en langue étrangère.

La commande la plus importante pour débuter, c’est :

amass enum -d exemple.com

Ici :

  • enum signifie “énumération”.
  • -d indique le domaine cible.

Exemple concret : trouver des sous-domaines avec Amass

Prenons une cible fictive : example.com. Vous lancez :

amass enum -d example.com

Amass va alors :

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 ?
  • Interroger différentes sources publiques.
  • Collecter des noms potentiels.
  • Résoudre des entrées DNS.
  • Construire une liste de sous-domaines trouvés.

Ensuite, vous verrez des résultats du type :

api.example.com
mail.example.com
dev.example.com
staging.example.com

Même si ces sous-domaines sont “logiques”, ce qui est intéressant, c’est que parfois Amass trouve des choses beaucoup moins évidentes.

Amass : Exemples d’utilisation concrets

Sortie dans un fichier pour garder une trace

Quand vous faites un pentest, vous voulez garder vos résultats. Rien de pire que “j’avais une liste… mais je ne l’ai plus”. Vous pouvez enregistrer dans un fichier texte :

amass enum -d example.com -o resultats.txt

-o signifie output.

Afficher uniquement un certain nombre de résultats (logique de tri)

Amass peut afficher beaucoup de lignes. Pour filtrer ou explorer progressivement, vous pouvez faire un petit pipeline :

amass enum -d example.com | head -n 20

Ce n’est pas Amass qui limite, mais la commande Unix head. C’est parfait pour tester rapidement.

Résolution des sous-domaines en IP

Ce qui est intéressant en pentesting, ce n’est pas juste le nom. C’est ce qui se cache derrière.

Amass peut vous aider à faire ce lien, surtout dans des modes avancés, mais vous pouvez aussi compléter avec un outil comme dnsx ensuite (on en reparle plus bas).

Enumération avec une liste de domaines

Si vous avez plusieurs cibles (cas bug bounty ou audit d’une entreprise), vous pouvez mettre plusieurs domaines dans un fichier, par exemple domains.txt.

Contenu :

example.com
example.org
example.net

Et lancer :

amass enum -df domains.txt -o resultats.txt

-df signifie domain file.

Utiliser Amass de façon plus “propre” avec une config

Quand vous utilisez Amass sérieusement, vous pouvez ajouter des API keys (sources de données), sinon vous êtes parfois limité.

Amass peut utiliser un fichier de configuration, souvent placé ici :

~/.config/amass/config.ini

Vous n’êtes pas obligé de faire ça dès le début. Mais à partir du moment où vous voulez des résultats plus complets, c’est une évolution logique.

Coupler Amass avec d’autres outils de pentesting

Amass est excellent, mais il ne fait pas tout. Le vrai gain, c’est quand vous l’intégrez dans un workflow. Voici des outils très souvent couplés à Amass, et pourquoi c’est efficace.

SubFinder (oui, encore lui)

L’approche classique consiste à faire :

  1. SubFinder pour un premier listing rapide.
  2. Amass pour compléter et approfondir.

Ensuite vous fusionnez, dédoublonnez, et vous passez au tri.

httpx (pour voir ce qui répond en HTTP/HTTPS)

Trouver un sous-domaine, c’est bien. Trouver un sous-domaine vivant, c’est mieux. httpx vous permet de tester rapidement quels sous-domaines répondent réellement.

Exemple de workflow :

amass enum -d example.com -o subs.txt
cat subs.txt | httpx -silent -o alive.txt

Ici :

  • subs.txt contient tous les sous-domaines.
  • alive.txt contient uniquement ceux qui répondent.

Vous gagnez un temps énorme, surtout quand vous avez 300 lignes dont 250 mortes.

Nuclei (pour détecter des vulnérabilités connues)

Quand vous avez la liste des sous-domaines actifs, vous pouvez scanner avec nuclei.

Exemple :

cat alive.txt | nuclei -silent -o nuclei_results.txt

Ce combo est très utilisé en reconnaissance parce qu’il est simple et redoutable.

Naabu (scan de ports)

Certains sous-domaines répondent sur HTTP, mais d’autres services peuvent être ouverts. naabu permet d’identifier les ports ouverts rapidement.

Vous pouvez faire :

naabu -host example.com

Ou mieux, sur les IP trouvées ensuite.

dnsx (résolution DNS propre et rapide)

Parfois, vous avez une liste énorme de sous-domaines, et vous voulez vérifier lesquels existent vraiment. dnsx est excellent pour ça.

gau / waybackurls (trouver des URLs historiques)

Une fois que vous avez les sous-domaines, vous pouvez explorer les URLs passées et présentes. Vous récupérez parfois :

  • Des endpoints d’API.
  • Des fichiers oubliés.
  • Des paramètres intéressants.
  • C’est une suite logique : Amass vous donne des portes, gau/wayback vous montrent les couloirs.

Exemple de workflow pour débutant “propre”

Voici une chaîne de commande réaliste :

amass enum -d example.com -o subs.txt
cat subs.txt | sort -u > subs_clean.txt
cat subs_clean.txt | httpx -silent -o alive.txt
cat alive.txt | nuclei -silent -o findings.txt

Vous partez de zéro, et vous arrivez à une première reconnaissance solide :

  1. Vous trouvez des sous-domaines.
  2. Vous nettoyez.
  3. Vous testez ce qui répond.
  4. Vous scannez les failles connues.

Et surtout, vous gardez une trace.

Erreurs fréquentes quand on débute avec Amass

Croire qu’Amass “pirate”. Non. Amass collecte des informations disponibles via DNS et sources publiques. Ce n’est pas un outil d’exploitation. C’est de la reconnaissance.

Lancer Amass et s’arrêter aux résultats bruts. La liste brute est souvent trop grande. Il faut trier :

  • Dédupliquer.
  • Résoudre.
  • Tester HTTP.

Et seulement ensuite analyser.

Tableau récapitulatif des commandes et paramètres essentiels

Commande / paramètreExempleÀ quoi ça sert
amass enumamass enum -d example.comLance l’énumération de sous-domaines
-d-d example.comDéfinit le domaine cible
-df-df domains.txtUtilise une liste de domaines depuis un fichier
-o-o subs.txtEnregistre la sortie dans un fichier
-v-vActive un affichage plus verbeux (debug léger)
amass -versionamass -versionAffiche la version installée
which amasswhich amassMontre où Amass est installé sur votre système
sort -usort -u subs.txtDéduplique une liste de sous-domaines
httpx -silenthttpx -silentFiltre les sous-domaines accessibles en HTTP/HTTPS
nucleinuclei -silentLance des templates de détection de vulnérabilités

Amass, votre meilleur réflexe Recon

Si vous débutez dans le pentesting, il y a un moment où tout devient plus clair : ce n’est pas en tapant au hasard sur une porte qu’on trouve une faille… c’est en comprenant d’abord tout ce qui existe autour. Et dans cette logique, Amass vous donne quelque chose de précieux : une vision plus large. Il vous apprend à regarder “derrière” le site visible, à explorer les sous-domaines, et à repérer ce qui pourrait être oublié, mal configuré ou simplement exposé.

Ce qui est encore plus intéressant, c’est que l’outil vous pousse à travailler comme un vrai pentester : vous collectez, vous classez, vous vérifiez, vous enchaînez. Vous passez d’une simple liste de noms à une reconnaissance solide, structurée, exploitable. Et ça, franchement, c’est une compétence qui fait la différence quand on veut progresser.

Alors oui, Amass peut paraître un peu impressionnant au début. Mais une fois que vous avez compris les commandes de base et que vous l’avez intégré avec des outils comme httpx ou nuclei, vous verrez : ça devient presque addictif. Un peu comme ouvrir une carte au trésor… sauf que le trésor, c’est souvent un sous-domaine que personne ne regarde.