14 min reading Tue May 24 2022
Outils et techniques d'énumération des sous-domaines
![new-cybersecurity-project-to-decrease-online-vulnerability-with-the-help-of-flanders-innovation-entrepreneurship-funding](https://ceeyu-strapi.ams3.digitaloceanspaces.com/new_cybersecurity_project_to_decrease_online_vulnerability_with_the_help_of_flanders_innovation_entrepreneurship_funding_3ffb338626.jpeg)
Cet article de blog couvrira certains des outils et techniques les plus populaires pour énumérer les sous-domaines. Nous allons d’abord présenter ce qu’est un sous-domaine, pourquoi vous devriez effectuer une énumération de sous-domaine sur votre organisation, puis approfondir les outils et les techniques.
Qu’est-ce qu’un sous-domaine ?
Un sous-domaine est un domaine de deuxième niveau qui fait partie d’un domaine plus vaste. Par exemple, www.ceeyu.io serait un sous-domaine de ceeyu.io. Dans ce cas, « www » serait le sous-domaine, « ceeyu » serait le domaine racine et « io » serait le domaine de premier niveau (TLD).
Les sous-domaines peuvent être utilisés à diverses fins, par exemple pour héberger un blog, un site de commerce électronique ou même un site Web entièrement différent du domaine racine. Les sous-domaines sont souvent utilisés pour séparer différents services ou fonctionnalités au sein d’une organisation.
Qu’est-ce que l’énumération des sous-domaines ?
L’énumération des sous-domaines est le processus d’identification de tous les sous-domaines pour un domaine donné. Cela peut être utile à diverses fins, telles que l’identification de cibles potentielles pour une attaque, ou simplement à des fins organisationnelles.
Pourquoi effectuer une énumération de sous-domaine ?
Il existe plusieurs raisons pour lesquelles vous souhaiterez peut-être énumérer tous les sous-domaines d’un domaine donné :
- Pour identifier les cibles potentielles d’une attaque : En énumérant tous les sous-domaines, vous pourrez peut-être trouver des sous-domaines moins bien protégés que le domaine racine ou l’organisation cible, ce qui les rend plus vulnérables aux attaques.
- Pour obtenir des informations sur l’organisation : l’énumération des sous-domaines peut vous donner un aperçu de la structure d’une organisation, des services qu’elle offre, etc. Ces informations peuvent être utiles lors de la reconnaissance pour un test d’intrusion ou une évaluation de sécurité.
- Pour rechercher des entrées DNS mal configurées : dans certains cas, les organisations peuvent avoir des entrées DNS mal configurées qui révèlent des informations sensibles, telles que des adresses IP internes.
Du point de vue d’un attaquant, l’énumération des sous-domaines peut être utilisée pour trouver des vulnérabilités potentielles. Par exemple, si une organisation a un blog hébergé chez blog.example.com et que le logiciel de blog n’est pas tenu à jour, un attaquant peut être en mesure de l’exploiter et d’accéder au domaine example.com principal. Les sous-domaines vulnérables peuvent également être utilisés pour lancer des attaques de phishing ou d’autres types d’attaques d’ingénierie sociale via des attaques de prise de contrôle de sous-domaine. À partir de données d’analyse à l’échelle d’Internet ou d’un pool d’adresses IP, les attaquants peuvent dériver une liste de plusieurs domaines qui pourraient être intéressants pour récolter des sous-domaines. Ou ils pourraient décider de cibler un domaine spécifique ou plusieurs sous-domaines pour commencer leurs attaques.
Les organisations peuvent utiliser l’énumération des sous-domaines à diverses fins, telles que l’inventaire de leurs domaines appartenant ou l’identification des domaines utilisés à quelles fins. Cela peut être utile dans les efforts de sécurité organisationnels, car cela peut aider à identifier les points faibles potentiels qui pourraient devoir être résolus. Il est également très utile de trouver des applications anciennes, obsolètes et potentiellement vulnérables hébergées sur des sous-domaines dont personne ne sait encore pourquoi elles existent ou qui les maintient.
Enfin, il peut divulguer des entrées DNS mal configurées qui peuvent entraîner de nombreuses fuites d’informations, telles que les adresses IP internes. La maintenance de vos enregistrements DNS et de vos serveurs DNS peut prévenir de nombreuses expositions aux risques ou des attaques potentiellement dévastatrices sur l’environnement de votre organisation. Vérifier régulièrement votre enregistrement DNS et votre configuration DNS peut vous aider!
Comment effectuer une énumération des sous-domaines
L’énumération commence à partir d’une liste de noms de domaine et tente de trouver des noms d’hôte qui se résolvent en adresses IP. Cela peut être fait en interrogeant les serveurs DNS publics ou en consultant des enregistrements publics tels que la base de données WHOIS.
Il existe généralement deux approches différentes pour effectuer l’énumération des sous-domaines : activement ou passivement.
Énumération passive des sous-domaines
L’énumération passive des sous-domaines est effectuée à l’aide de données accessibles au public, telles que les résultats des moteurs de recherche, l’interrogation des enregistrements DNS sur les serveurs DNS, etc. Ces données sont généralement collectées automatiquement et aucune interaction n’est requise avec le domaine cible. Certaines des techniques d’énumération DNS passive dont nous parlerons ici sont:
- Transparence des certificats (CT)
- Google Dorking
- Agrégateurs DNS
- Enumération ASN
- Subject Alternate Name (SAN)
Transparence des certificats
Certificate Transparency (CT) est une initiative de Google qui vise à améliorer la sécurité des certificats SSL/TLS en les rendant accessibles au public. Tout certificat SSL/TLS émis par une autorité de certification qui participe à CT sera consigné dans un ou plusieurs journaux de transparence des certificats (CTL) publics. Ces journaux sont disponibles pour que tout le monde puisse les interroger, et ils peuvent être utilisés pour énumérer les sous-domaines pour un domaine donné.
Pour trouver des sous-domaines à l’aide de CT, vous pouvez utiliser l’un des nombreux explorateurs de journaux CT accessibles au public, tels que crt.sh ou CT Log Explorer de SSLMATE. Entrez simplement le nom de domaine que vous souhaitez énumérer dans la zone de recherche, et l’outil renverra une liste de tous les sous-domaines qui ont été enregistrés dans les journaux CT.
Quelques moteurs de recherche CT Logs:
• https://crt.sh/
• https://censys.io/
• https://developers.facebook.com/tools/ct/
Google Dorking
Google dorking est une technique permettant de trouver des informations qui ne sont pas destinées à être accessibles au public. Il peut être utilisé pour trouver des informations sensibles telles que les vulnérabilités de sites Web, les pages de connexion, les répertoires non indexés, etc. Google dorking peut également être utilisé pour l’énumération de sous-domaine.
Pour ce faire, il vous suffit de rechercher site:example.com dans Google (en remplaçant example.com par le domaine que vous souhaitez énumérer). Cela renverra une liste de tous les sites Web hébergés sur le domaine example.com. Vous pouvez ensuite parcourir les résultats pour trouver des sous-domaines intéressants qui peuvent être hébergés sur le domaine. Vous pouvez trouver plus d’opérateurs sur la page suivante: Google Advanced Search Operators.
Dorking n’est pas limité au moteur de recherche de Google uniquement, il existe de nombreux autres moteurs de recherche disponibles qui prennent en charge une certaine forme de Dorking:
Agrégateurs DNS
Les agrégateurs DNS sont des services qui vous permettent de vérifier plusieurs serveurs DNS à la fois pour voir s’ils sont correctement configurés. En faisant cela, vous pouvez trouver un grand nombre de sous-domaines en peu de temps. Par exemple, un agrégateur DNS gratuit populaire est snipr.com/subdomain_finder/. Entrez simplement un domaine dans le champ de recherche et cliquez sur le bouton « Trouver des sous-domaines » pour obtenir une liste de tous les sous-domaines pour ce domaine. Vous devrez peut-être essayer différents agrégateurs DNS car certains renverront plus de résultats que d’autres.
Quelques outils DNS en ligne utiles:
Enumération ASN
L’énumération ASN (Autonomous System Number) vous permet d’identifier toutes les organisations qui utilisent une adresse IP donnée. Cela peut être fait en interrogeant le numéro de système autonome (AS) d’une organisation à partir d’une base de données accessible au public, telle que la base de données RIPE ou le registre ARIN.
Une fois que vous avez identifié toutes les organisations utilisant un ASN, il est possible d’interroger les serveurs de noms de ces organisations pour trouver les sous-domaines qu’elles hébergent. Par exemple, de nombreuses grandes organisations utilisent leur nom de domaine comme serveur DNS principal (par exemple, www.example.com). En effectuant une énumération ASN sur les domaines en question, vous pourrez peut-être identifier certains sous-domaines intéressants hébergés sur ces domaines, tels que dev.example.com ou intranet.example.com.
Subject Alternate Name (SAN)
Un SAN (Subject Alternate Name) est une extension d’un certificat SSL/TLS qui permet d’associer plusieurs noms de domaine à un seul certificat. Cela peut être utilisé pour énumérer les sous-domaines, car chaque SAN représente généralement un sous-domaine différent. Par exemple, si vous disposez d’un certificat pour www.example.com, le SAN peut inclure dev.example.com, test.example.com, etc.
Pour trouver le SAN d’un certificat donné, vous pouvez utiliser un outil tel que Certificate Inspector de SSLMate ou les outils de développement de Google Chrome. Entrez simplement le nom de domaine dans l’outil et il renverra une liste de tous les SAN associés au certificat.
Kits d’outils BGP (Border Gateway Protocol) :
http://bgp.he.net
Ou via les Registres Internet Régionaux (RIR):
• Afrique : AFRINIC - Registre Internet régional pour l’Afrique
• Asie : APNIC - Registre Internet régional pour l’Asie-Pacifique
• Europe : RIPE
• Amérique latine : LACNIC - Registre des adresses Internet pour l’Amérique latine et les Caraïbes
• Amérique du Nord : ARIN - Registre américain des numéros Internet
Énumération active des sous-domaines
L’énumération active des sous-domaines est effectuée en interagissant avec le domaine cible, par exemple via des requêtes Web, des requêtes DNS, etc. Ces données sont généralement collectées manuellement et un certain niveau d’interaction est requis avec le domaine cible.
- Énumération de la force brute
- Transfert de zone
- Enregistrements DNS
- En-tête HTTP Content Security Policy (CSP)
Énumération par force brute
L’énumération par force brute est une méthode d’énumération des sous-domaines en essayant de se connecter à chacun d’eux à tour de rôle. Cela peut être fait manuellement ou avec des outils automatisés tels que Sublist3r et knock.
Pour effectuer une énumération manuelle par force brute, vous pouvez simplement essayer de vous connecter à chaque sous-domaine à tour de rôle à l’aide d’un navigateur Web ou d’un autre outil. Par exemple, si vous savez que le site Web principal d’un domaine est www.example.com, vous pouvez essayer de vous connecter à des sous-domaines tels que test.example.com, dev.example.com, staging.example.com, etc. Si l’un de ces sous-domaines est accessible, vous pourrez les énumérer.
Une méthode plus automatisée d’énumération de sous-domaine consiste à utiliser un outil tel que Sublist3r pour effectuer une attaque par force brute basée sur un dictionnaire. Cela peut être effectué en spécifiant une liste de sous-domaines connus, ou une liste de mots contenant des noms de sous-domaines possibles, et l’outil essaiera chacun d’eux à tour de rôle.
Une autre approche automatisée de l’énumération par force brute consiste à utiliser des outils tels que SubBrute, qui utilise un algorithme intelligent de forçage brutal DNS pour réduire l’espace de recherche pour chaque requête.
Voici quelques listes de mots de force brute intéressantes:
- Jhaddix est tout.txt
- Découverte DNS de Daniel Miessler
- Commonspeak2
- Rajesh6927/subdomain-bruteforce-wordlist
Transfert de zone
Un transfert de zone est constitué d’informations sur tous les serveurs de noms et domaines existants pour un domaine donné. Cela peut être utilisé pour identifier tous les sous-domaines existants pour ce domaine.
Le transfert de zone DNS est généralement bloqué sur les réseaux modernes à l’aide de règles de pare-feu pour filtrer les requêtes DNS, de sorte que cette méthode peut ne pas être efficace dans tous les cas. En outre, certains serveurs DNS n’effectuent qu’un transfert de zone DNS vers des hôtes autorisés, il peut donc être nécessaire d’usurper l’adresse IP source de la demande afin d’effectuer un transfert réussi.
En-tête HTTP Content Security Policy (CSP)
Le header HTTP Content Security Policy (CSP) est une mesure de sécurité qui peut être utilisée pour restreindre les sources à partir desquelles un navigateur peut charger du contenu. Cela inclut JavaScript, CSS, HTML et d’autres types de fichiers.
Si un en-tête CSP est présent sur un site Web, il peut être possible d’énumérer des sous-domaines en essayant de charger des ressources à partir de ces sous-domaines. Par exemple, si vous essayez de charger une feuille de style à partir de test.example.com et que l’en-tête CSP est présent, il bloquera la demande et renverra une erreur. Cela peut être utilisé pour identifier les sous-domaines accessibles.
Les en-têtes CSP se trouvent dans les en-têtes de réponse HTTP d’un site Web. Pour afficher les en-têtes d’un site Web donné, vous pouvez utiliser un outil tel que les outils de développement de Google Chrome ou les outils de développement Web de Firefox.
Ce ne sont là que quelques-unes des méthodes les plus courantes pour l’énumération des sous-domaines. Il y en a beaucoup d’autres, et de nouvelles techniques émergent toujours à mesure que les attaquants deviennent plus sophistiqués. En fin de compte, la meilleure façon de mener une énumération de sous-domaine est souvent de combiner plusieurs techniques et outils afin d’obtenir les résultats les plus complets.
Domaines génériques présents
Les domaines génériques présentent des défis et des opportunités supplémentaires pour l’énumération des sous-domaines. Parce qu’ils permettent d’accéder à n’importe quel sous-domaine, ils rendent plus difficile l’identification des sous-domaines valides qui sont réellement utilisés. Cependant, étant donné que chaque sous-domaine est accessible, cela offre également aux attaquants une fenêtre d’opportunité pour trouver des vulnérabilités auparavant inconnues ou accéder à des données sensibles. En tant que tel, il est important pour les organisations de gérer soigneusement leurs domaines génériques et de s’assurer qu’aucun sous-domaine inutilisé ne reste exposé. Un révélateur réside dans le certificat SSL générique. Un certificat générique est un certificat numérique appliqué à un domaine et à tous ses sous-domaines. La notation générique se compose d’un astérisque et d’un point avant le nom de domaine. Les certificats SSL (Secure Sockets Layer) utilisent souvent des caractères génériques pour étendre le chiffrement SSL aux sous-domaines. Lorsqu’un tel caractère générique est noté au niveau du certificat, il y a de fortes chances que vous trouviez un tas de sous-domaines en dessous.
Quelques outils d’énumération de sous-domaine supplémentaires à prendre en compte
Amass
L’un des outils d’énumération de sous-domaines les plus connus disponibles gratuitement est OWASP Amass. Cet outil est spécialement conçu pour identifier les sous-domaines et les relations de sous-domaines. Il utilise une variété de techniques, telles que la récolte des moteurs de recherche, l’énumération DNS, les attaques par force brute, etc.
![ECXzPSpWsAAUg77.jpg](https://ceeyu-strapi.ams3.digitaloceanspaces.com/EC_Xz_P_Sp_Ws_AA_Ug77_a774a44014.jpg)
SubBrute
Un autre puissant outil d’énumération de sous-domaine disponible est SubBrute. Cet outil effectue des attaques par force brute basées sur un dictionnaire afin de trouver les combinaisons de mots les plus efficaces pour chaque requête. De plus, il dispose de fonctionnalités intégrées qui vous permettent de personnaliser la façon dont les requêtes sont effectuées en fonction de vos besoins ou exigences spécifiques. Bien qu’il soit plutôt vieux, il donne toujours de bons résultats.
DNSrecon
DNSrecon est un autre outil d’énumération de sous-domaine gratuit populaire qui peut être utilisé pour la découverte manuelle ou automatisée de sous-domaines. Cet outil dispose de nombreuses fonctionnalités et options avancées qui vous permettent de personnaliser vos requêtes et de rechercher des sous-domaines de différentes manières. DNSRecon est intégré dans l’excellente distribution Kali Linux Penetration Testing.
Subliste3r
Sublist3r est un autre outil populaire qui peut être utilisé pour l’énumération manuelle et automatisée des sous-domaines. Cet outil utilise une variété de moteurs de recherche, tels que Google, Bing, Yahoo, etc., afin de trouver des sous-domaines pour un domaine donné. De plus, il a la capacité d’effectuer des attaques par force brute avec une liste de mots spécifiée par l’utilisateur ou avec une liste de mots du projet seclists de Daniel Miessler.
Massdns
Massdns est un résolveur DNS haute performance conçu spécifiquement pour l’énumération DNS de masse. Cet outil peut être utilisé pour résoudre un grand nombre de domaines ou de sous-domaines très rapidement. Il peut également être utilisé pour effectuer des attaques par force brute avec une liste de mots spécifiée par l’utilisateur ou avec une liste de mots du projet seclists .
![Massdns.png](https://ceeyu-strapi.ams3.digitaloceanspaces.com/Massdns_10ea29ac16.png)
SubFinder
SubFinder est un outil relativement nouveau qui est rapidement devenu très populaire pour l’énumération de sous-domaines. Cet outil utilise des sources passives, telles que les moteurs de recherche, crt.sh, Netcraft, etc., afin de trouver des sous-domaines. Celui-ci peut également utiliser des listes de mots pour les attaques par force brute.
Knock
Knock est un autre outil qui peut être utilisé pour l’énumération manuelle et automatisée des sous-domaines. Cet outil utilise une variété de techniques, telles que les attaques par force brute, les permutations, etc. De plus, il a la capacité de s’intégrer à l’excellent outil Amass pour des résultats encore plus complets.
![knock.png](https://ceeyu-strapi.ams3.digitaloceanspaces.com/knock_3386257c38.png)
SubDomainizer
SubDomainizer est un outil d’énumération de sous-domaine simple mais efficace. Cet outil utilise le moteur de recherche de Google pour trouver des sous-domaines.
Conclusion
Pour conclure, il existe de nombreux autres outils disponibles pour l’énumération des sous-domaines au-delà de ceux répertoriés ici. La meilleure façon de trouver le bon outil pour vos besoins est d’en expérimenter quelques-uns différents et de voir lequel fonctionne le mieux pour vous. Il n’existe pas de « meilleur » outil unique pour cette tâche, car chacun a ses propres avantages et inconvénients. En fin de compte, la meilleure façon de mener une énumération de sous-domaine est souvent de combiner plusieurs techniques et outils afin d’obtenir les résultats les plus complets.
Quels que soient les outils ou techniques spécifiques que vous utilisez, il est important de toujours effectuer l’énumération des sous-domaines de manière prudente et méthodique. Ne pas le faire peut entraîner des opportunités manquées, des faux positifs et d’autres problèmes qui peuvent compromettre votre posture de sécurité globale. En prenant le temps d’utiliser efficacement ces méthodes et outils, vous pouvez contribuer à assurer une meilleure protection de votre organisation à l’avenir.
Comment Ceeyu peut vous aider
Nous avons intégré plusieurs techniques d’énumération de sous-domaines passifs et actifs directement dans le moteur d’analyse de Ceeyu. Cela permet à nos clients de trouver facilement les sous-domaines sur un ou plusieurs de leurs domaines. De plus, lorsque nous trouvons une application Web derrière le nom de domaine, nous prenons une capture d’écran afin que vous puissiez facilement et visuellement identifier ce qui y est hébergé:
![ceeyu-dns.jpeg](https://ceeyu-strapi.ams3.digitaloceanspaces.com/ceeyu_dns_820fbd11f9.jpeg)
Ces sous-domaines font ensuite partie de tests de sécurité supplémentaires et d’une énumération de l’empreinte numérique pour fournir toutes les informations nécessaires pour comprendre et gérer votre surface d’attaque.
Faites-nous signe si vous souhaitez en savoir plus et commencez un essai gratuit!
Jimmy is the founder, CEO and CTO of Ceeyu. Prior to founding Ceeyu, Jimmy was responsible for cybersecurity programs at large financial institutions and consulting company EY. Jimmy started his career as a security engineer. His duties included installing and managing firewalls, scanning infrastructure for vulnerabilities, and performing pen testing and ethical hacking.