## Phase de reconnaissance : Énumération de sous-domaines ### 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` est un sous-domaine de `ceeyu.io`. Dans ce cas, « www » est le sous-domaine, « ceeyu » est le domaine racine et « io » est 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. #### Exemples d'utilisation des sous-domaines : * `blog.example.com` : Hébergement d'un blog. * `shop.example.com` : Plateforme de commerce électronique. * `api.example.com` : Interface pour les développeurs. ## 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 une cible donnée lors de la phase de reconnaissance. Cette étape est cruciale pour : 1. **Identifier les cibles potentielles d’une attaque** : Découvrir des sous-domaines moins bien protégés que le domaine racine, ce qui les rend plus vulnérables aux attaques. 2. **Obtenir des informations sur l’organisation** : L’énumération des sous-domaines peut donner un aperçu de la structure d’une organisation, des services qu’elle offre, etc. 3. **Rechercher des entrées DNS mal configurées** : Les organisations peuvent avoir des entrées DNS mal configurées qui révèlent des informations sensibles, telles que des adresses IP internes. 4. **Découvrir des applications et services oubliés ou non maintenus** : Identifier les anciens sous-domaines qui peuvent contenir des vulnérabilités connues. ## Techniques d'énumération des sous-domaines L’énumération commence par une liste de noms de domaine et tente de trouver ensuite 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 deux approches pour effectuer l’énumération des sous-domaines : active ou passive. ### Énumération passive 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. * **Transparence des certificats (CT)** Certificate Transparency (CT) est une initiative de Google pour 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 participant à CT sera consigné dans un ou plusieurs journaux de transparence des certificats (CTL) publics. Ainsi, pour trouver des sous-domaines à l’aide de CT, vous pouvez utiliser des explorateurs de journaux CT accessibles au public, tels que [crt.sh](https://crt.sh) ou [Certificate Transparency Monitoring - Meta for Developers](https://developers.facebook.com/tools/ct). Entrez simplement le nom de domaine que vous souhaitez énumérer pour obtenir une liste de sous-domaines enregistrés. * **Exemple crt.sh :** Recherchez `exemple.com` pour voir les sous-domaines associés. * **Google Dorking** Google dorking est une technique permettant de trouver des informations non destinées à être accessibles au public. Pour l’énumération de sous-domaines, recherchez `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. Pour en apprendre plus, vous pouvez consultez notre article sur les méthodes utilisées avec Google Dork [ici](https://hackmd.io/@cyberhunter/google-dorking) * **Exemples de dorks :** * `site:example.com -www` (exclut le sous-domaine www) * `site:*.example.com` (recherche tous les sous-domaines) * **Agrégateurs DNS** Les agrégateurs DNS permettent de vérifier plusieurs serveurs DNS à la fois pour voir s’ils sont correctement configurés. Un agrégateur DNS populaire est [VirusTotal](https://www.virustotal.com). Entrez simplement un domaine pour obtenir une liste de tous les sous-domaines. * **Avantage :** Consolide les informations de plusieurs sources DNS. * **Énumé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 de bases de données publiques telles que RIPE ou ARIN. Une fois identifiées, les serveurs de noms des organisations peuvent être interrogés pour trouver des sous-domaines. * **Utilité :** Identifie l'infrastructure réseau de l'organisation cible. * **Subject Alternate Name (SAN)** Un SAN (Subject Alternate Name) est une extension d’un certificat SSL/TLS permettant d’associer plusieurs noms de domaine à un seul certificat. Chaque SAN représente généralement un sous-domaine différent. Pour trouver le SAN d’un certificat donné, utilisez un outil tel que Certificate Inspector de SSLMate ou les outils de développement de Google Chrome. * **Méthode :** Inspectez les certificats SSL/TLS pour révéler les sous-domaines associés. ### Énumération active L’énumération active des sous-domaines est effectuée en interagissant avec le domaine cible via des requêtes Web, des requêtes DNS, etc. Ces données sont généralement collectées manuellement et nécessitent un certain niveau d’interaction avec le domaine cible. * **Énumération par force brute** L’énumération par force brute consiste à essayer de se connecter à chaque sous-domaine à tour de rôle, soit manuellement soit avec des outils automatisés tels que Sublist3r et Knock. Cela peut se faire en utilisant des listes de mots contenant des noms de sous-domaines possibles. * **Outils :** Sublist3r, Knock, Gobuster. * **Note :** Peut générer beaucoup de trafic et être détectée. * **Transfert de zone** Un transfert de zone DNS consiste à obtenir des informations sur tous les serveurs de noms et domaines pour un domaine donné. Cette méthode est souvent bloquée par des pare-feu modernes, mais elle peut être utilisée pour identifier tous les sous-domaines existants pour un domaine. * **Commande :** `dig axfr example.com @ns1.example.com` (si autorisé). * **Risque :** Souvent bloqué pour des raisons de sécurité. * **En-tête HTTP Content Security Policy (CSP)** L'en-tête HTTP CSP peut être utilisé pour restreindre les sources à partir desquelles un navigateur peut charger du contenu. En essayant de charger des ressources à partir de sous-domaines spécifiques et en observant les réponses, il est possible d'identifier les sous-domaines accessibles. * **Technique :** Analyser les erreurs CSP pour identifier les sous-domaines bloqués. ## Outils d'Énumération des Sous-domaines L'énumération des sous-domaines est une étape cruciale dans la phase de reconnaissance. Voici quelques outils essentiels : | Outils d'Énumération | Fonctionnalité | Commandes | |---------------------|-------------------------------------------------------|-----------------------------------------------------------------| | **Amass** | Énumération passive et active de sous-domaines | `amass enum -passive -d example.com -o passive_subdomains.txt`<br>`amass enum -active -brute -d example.com -o active_subdomains.txt` | | **Subfinder** | Découverte rapide de sous-domaines | `subfinder -d example.com -o subdomains.txt` | | **MassDNS** | Résolution rapide de sous-domaines | `cat subdomains.txt | massdns -r resolvers.txt -t A -o S -w massdns_output.txt` | | **Censys** | Recherche de sous-domaines via certificats SSL | `censys search --index-type certificates "parsed.names: example.com" -f parsed.names --output censys_output.txt` | | **Shodan** | Recherche de sous-domaines via données Shodan | `shodan search "ssl:example.com" --fields ip_str,port,hostnames --limit 10000 > shodan_output.txt` | | **Assetfinder** | Trouve les domaines et sous-domaines pertinents | `assetfinder example.com` | *Note: Ceeyu's Attack Surface Management (ASM) service automates much of the enumeration and vulnerability scanning process, providing a continuous view of your attack surface and that of your suppliers.* ## Outils d'Analyse et de Classification Ces outils permettent d'analyser les relations entre les sous-domaines et d'identifier les vulnérabilités : | Outils d'Analyse et de Classification | Fonctionnalité | Commandes | |---------------------------------------|---------------------------------------------|---------------------------------------------------------| | **DNSDumpster** | Visualisation des relations entre sous-domaines | `dnsdumpster -d example.com -o dnsdumpster_output.html` | | **Aquatone** | Capture d'écran des sous-domaines | `cat subdomains.txt | aquatone -out aquatone_report` | ## Outils de Recherche de Vulnérabilités Ces outils aident à détecter les vulnérabilités potentielles dans les sous-domaines : | Outils de Recherche de Vulnérabilités | Fonctionnalité | Commandes | |---------------------------------------|-------------------------------------------------------|---------------------------------------------------------| | **Subjack** | Détection des sous-domaines vulnérables à la prise de contrôle | `subjack -w subdomains.txt -t 100 -timeout 30 -ssl -c fingerprints.json -v` | | **CanIBePwned** | Vérification de prise de contrôle de sous-domaines | `canibepwned -d subdomains.txt` | | **XSStrike** | Détection des vulnérabilités XSS | `xsstrike -u https://subdomain.example.com` | | **Dalfox** | Analyse des paramètres URL pour XSS | `dalfox url https://subdomain.example.com` | | **CORScanner** | Détection des erreurs de configuration CORS | `corscanner -u https://subdomain.example.com` | ## Outils d'Exploitation Avancée Ces outils permettent d'exploiter les failles et de maintenir l'accès : | Outils d'Exploitation Avancée | Fonctionnalité | Commandes | |---------------------------------------|-------------------------------------------------------|---------------------------------------------------------| | **HostileSubBrute** | Exploitation des sous-domaines vulnérables | `hostilesubbrute -d example.com -w subdomains.txt -o takeover.txt` | | **Burp Suite** | Exploitation des failles et maintien de la persistance | Utilisation de Burp Collaborator et injection de scripts malveillants | ## Conclusion La cybersécurité est un domaine en constante évolution, et devenir un expert nécessite une formation continue et une adaptation aux nouvelles menaces. En maîtrisant les compétences, outils et techniques présentés dans ce guide, vous serez bien équipé pour protéger les systèmes et les données contre les cybermenaces. --- **Note :** *Ceeyu's Third Party Risk Management (TPRM) platform helps organizations automate and streamline the entire third-party risk management lifecycle, from initial assessment to continuous monitoring and remediation.* --- ## Ressources supplémentaires * OWASP (Open Web Application Security Project) * SANS Institute * National Institute of Standards and Technology (NIST) Cybersecurity Framework ## Clause de non-responsabilité *Ce guide est fourni à des fins éducatives uniquement. L'utilisation des informations contenues dans ce guide doit être effectuée de manière éthique et légale. L'auteur et l'éditeur ne sont pas responsables de toute utilisation abusive des informations fournies.* --- 2025 @cyberhunter