Énumération de domaines et Whois

CybersécuritéBeginner
Pratiquer maintenant

Introduction

La collecte d'informations est la première étape critique de toute évaluation de sécurité. Avant d'interagir directement avec les serveurs d'une cible, les professionnels de la sécurité effectuent une « reconnaissance passive » pour rassembler des informations accessibles au public.

La reconnaissance passive est importante car elle vous permet de construire un contexte avant de créer un signal évident sur l'infrastructure de la cible. Les bons opérateurs ne commencent pas par envoyer des paquets si des enregistrements publics peuvent déjà répondre à des questions fondamentales telles que : qui possède le domaine, quel registraire est impliqué et quels serveurs de noms semblent contrôler l'espace de nommage.

L'une des techniques les plus fondamentales pour la reconnaissance passive est l'énumération Whois. Whois est un répertoire Internet largement utilisé qui identifie le propriétaire d'un domaine et la manière de le contacter. L'Internet Corporation for Assigned Names and Numbers (ICANN) réglemente l'enregistrement et la propriété des noms de domaine, exigeant des registraires qu'ils tiennent à jour ces registres publics.

Dans ce laboratoire, vous apprendrez à utiliser la ligne de commande Linux pour interroger les bases de données Whois. Vous recueillerez des renseignements fondamentaux sur un domaine cible, extrairez les coordonnées administratives et identifierez les serveurs de noms faisant autorité responsables du routage du trafic de la cible.

Effectuer une recherche Whois

Dans cette étape, vous apprendrez à effectuer une recherche Whois de base sur un domaine cible. Nous utiliserons ubuntu.com comme cible pour cet exercice pédagogique.

La commande whois sous Linux est un utilitaire client qui interroge le service d'annuaire Whois. Elle récupère des informations sur l'enregistrement d'un domaine, notamment le registraire, les dates de création et d'expiration, ainsi que l'organisation qui le possède.

Les données Whois ne constituent pas une cartographie directe des systèmes en cours d'exécution, mais elles révèlent les relations de propriété et administratives. Cela les rend utiles pour définir le périmètre, l'attribution et comprendre quels fournisseurs externes peuvent faire partie de l'empreinte de la cible.

Pour conserver une trace de nos découvertes, nous utiliserons l'opérateur de redirection de sortie (>). Cet opérateur prend la sortie d'une commande qui s'afficherait normalement sur votre écran et l'enregistre dans un fichier à la place.

Assurez-vous d'être dans votre répertoire de travail par défaut (~/project). Exécutez la commande suivante pour effectuer une recherche Whois sur ubuntu.com et enregistrer l'intégralité de la sortie dans un fichier nommé whois_full.txt :

whois ubuntu.com > whois_full.txt

Comme nous avons redirigé la sortie, vous ne verrez rien s'afficher à l'écran. Pour vérifier que la commande a fonctionné et pour afficher les premières lignes du fichier, utilisez la commande head :

head -n 15 whois_full.txt

Vous devriez voir une sortie similaire à celle-ci, montrant les détails d'enregistrement initiaux :

   Domain Name: UBUNTU.COM
   Registry Domain ID: 121365156_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.markmonitor.com
   Registrar URL: http://www.markmonitor.com
   Updated Date: 2024-04-27T10:28:21Z
   Creation Date: 2004-05-29T18:38:39Z
   Registry Expiry Date: 2026-05-29T18:38:39Z
   Registrar: MarkMonitor Inc.
   Registrar IANA ID: 292
   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
   Registrar Abuse Contact Phone: +1.2086851750
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Name Server: NS1.CANONICAL.COM

Ces données brutes contiennent une mine d'informations, mais il peut être fastidieux de les lire manuellement. Dans les étapes suivantes, nous apprendrons à filtrer ce fichier pour obtenir des renseignements spécifiques.

Extraire les contacts administratifs

Dans cette étape, vous apprendrez à extraire des coordonnées spécifiques à partir des données Whois brutes que nous avons collectées.

Lors de la reconnaissance, l'identification des contacts administratifs et techniques est précieuse. Ces adresses e-mail et numéros de téléphone peuvent donner un aperçu de la structure de l'organisation cible et sont souvent utilisés lors des étapes ultérieures d'une évaluation (comme l'ingénierie sociale ou l'identification du personnel clé).

Même lorsque les règles de confidentialité modernes masquent les détails personnels, les contacts restants du registraire et les contacts en cas d'abus vous renseignent toujours sur la manière dont le domaine est géré et sur les parties responsables.

Pour extraire ces informations, nous utiliserons la commande grep. grep est un puissant utilitaire de recherche de texte sous Linux qui affiche les lignes correspondant à un modèle spécifique. Nous utiliserons l'option -i avec grep pour rendre notre recherche insensible à la casse, ce qui signifie qu'elle correspondra à "Email", "email" ou "EMAIL".

Exécutez la commande suivante pour rechercher le mot "email" dans notre fichier whois_full.txt et enregistrez les résultats dans un nouveau fichier nommé contacts.txt :

grep -i "email" whois_full.txt > contacts.txt

Maintenant, visualisons le contenu du fichier contacts.txt en utilisant la commande cat, qui lit un fichier et affiche tout son contenu à l'écran :

cat contacts.txt

Votre sortie devrait ressembler à ceci, affichant les e-mails de contact associés au domaine :

   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrant Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
Tech Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
...

Remarque : En raison des réglementations modernes sur la confidentialité comme le RGPD, de nombreux registraires masquent désormais les adresses e-mail personnelles dans les enregistrements Whois publics. Cependant, vous trouverez souvent des e-mails de contact pour les abus ou des adresses administratives génériques, qui restent des éléments de renseignement utiles.

Identifier les serveurs de noms de la cible

Dans cette dernière étape, vous extrairez les serveurs de noms faisant autorité pour le domaine cible.

Les serveurs de noms sont une partie fondamentale du système de noms de domaine (DNS). Ils agissent comme l'annuaire d'Internet, traduisant les noms de domaine lisibles par l'homme (comme ubuntu.com) en adresses IP que les ordinateurs utilisent pour communiquer. Identifier les serveurs de noms d'une cible vous indique quelle entreprise héberge son infrastructure DNS. Cela peut révéler si elle gère ses propres serveurs en interne ou si elle utilise un fournisseur cloud tiers (comme AWS, Cloudflare ou un registraire spécifique).

Ceci est stratégiquement utile car les fournisseurs DNS font souvent partie de l'histoire de la surface d'attaque. Ils peuvent exposer des paramètres de transfert, des erreurs de configuration ou des indices sur la manière dont la cible exploite ses services externes.

Nous utiliserons à nouveau la commande grep pour filtrer nos données Whois originales. Cette fois, nous recherchons le terme "Name Server".

Exécutez la commande suivante pour extraire les enregistrements des serveurs de noms de whois_full.txt et enregistrez-les dans un fichier nommé nameservers.txt :

grep -i "Name Server" whois_full.txt > nameservers.txt

Utilisez la commande cat pour afficher les serveurs de noms extraits :

cat nameservers.txt

Vous devriez voir une sortie similaire à la suivante :

   Name Server: NS1.CANONICAL.COM
   Name Server: NS2.CANONICAL.COM
   Name Server: NS3.CANONICAL.COM
Name Server: ns1.canonical.com
Name Server: ns3.canonical.com
Name Server: ns2.canonical.com

Dans cet exemple, les serveurs de noms pointent vers CANONICAL.COM. Canonical est l'entreprise qui développe et maintient Ubuntu. Cela nous indique que Canonical gère sa propre infrastructure DNS plutôt que de s'appuyer sur un service tiers, ce qui constitue un précieux renseignement technique.

Résumé

Félicitations ! Vous avez terminé avec succès le laboratoire sur l'énumération de domaines et Whois.

Dans ce laboratoire, vous avez appris à effectuer une reconnaissance passive à l'aide d'outils de ligne de commande Linux natifs. Vous avez utilisé la commande whois pour interroger les bases de données d'enregistrement de domaines publics et avez utilisé la redirection de sortie (>) pour enregistrer vos découvertes. De plus, vous vous êtes exercé à utiliser la commande grep pour analyser de grandes quantités de texte, extrayant avec succès des renseignements spécifiques et exploitables tels que les e-mails de contact administratifs et les serveurs de noms faisant autorité.

Ces compétences fondamentales sont essentielles pour cartographier l'empreinte externe d'une cible avant que toute analyse active ou engagement ne commence.