Surface d’attaque externe : DNSdumpster, un outil de reconnaissance DNS
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à utiliser DNSdumpster, un outil pour faire de la reconnaissance basée sur le DNS, ce qui sera utile pour vérifier votre surface d’attaque externe à partir de votre domaine.
Il y a d’autres termes à connaitre pour faire référence à la reconnaissance : tel que l’énumération, le footprinting (prise d’empreinte), ou encore l’abréviation « recon ». La surface d’attaque externe représente l’ensemble des éléments de votre infrastructure qui sont visibles sur Internet.
Pour cette mise en pratique, nous allons effectuer de la reconnaissance passive avec le domaine it-connect.tech. Nous n’entrerons pas directement en contact avec la cible. Nous allons utiliser DNSdumpster pour obtenir des renseignements sur l’infrastructure cible. Florian ne nous remarquera pas dans les logs du serveur, car ce sera l’adresse ou les adresses IP de DNSdumpster qui seront visibles dans les logs et non votre propre adresse IP 😊 .
L'outil DNSdumpster peut s’utiliser en ligne via le site dnsdumpster.com et il est également possible de l’installer ou d’utiliser l’API. Cet outil est un projet de Hacker Target. Le projet est disponible sur GitHub, à cette adresse : github.com/nmmapper/dnsdumpster. Dans le cadre de ce tutoriel pas à pas, je vais utiliser uniquement mon navigateur.
Attention : cet article a pour simple et unique objectif d’apprendre à vous défendre. Il faut respecter l’éthique et vous ne devez en aucun cas utiliser ce genre d’outil sur des sites ou nom de domaines qui ne vous appartiennent pas sans l’accord de l’administrateur. En aucun cas ni IT-Connect ni moi-même, ne pourrons être tenu responsable en cas d’agissements malveillants.
II. Utilisation
A. Se rendre sur le site et lancer la recherche
Rien de plus simple, il vous suffit d’aller sur dnsdumpster.com, puis vous saisissez votre domaine et vous cliquez sur "Search". Ici, nous avons fait référence au domaine "it-connect.tech".
B. Interprétation des résultats
Nous constatons que l’infrastructure de "it-connect.tech" est composée de 2 fournisseurs : OVHcloud et Microsoft. Microsoft pouvant faire référence au Cloud Azure ou à Microsoft 365.
Puis, nous avons la répartition géographique des fournisseurs de services. Dans cet exemple, nous voyons que les services sont hébergés en France.
Nous savons également quels sont les serveurs DNS faisant autorité sur ce domaine. Il s'agit des serveurs DNS associés aux enregistrements "NS" de la zone DNS it-connect.tech.
De la même façon, nous avons des informations sur le MX utilisé, c’est-à-dire le service de messagerie.
Nous arrivons à la partie intéressante... car nous constatons que ce domaine est rattaché à un tenant Microsoft 365. Nous pouvons voir qu’il y a un enregistrement SPF (Sender Policy Framework), c’est une norme de vérification du nom de domaine au niveau de la messagerie.
Cela signifie qu’uniquement les serveurs « portants » l’adresse IPv4 : "5.135.X.X" et associés à l’enregistrement DNS « spf.protection.outlook.com » sont autorisés à envoyer des e-mails en tant que « @it-connect.tech ».
L’outil retourne les différents enregistrements TXT associés à ce domaine, dont l’enregistrement SPF s’il est présent. Dans notre cas, l’enregistrement SPF fait référence à une adresse IPv4 et nous constatons qu’il y a un signe « - » devant le « all ». L’usurpation des e-mails sera plus difficile dans ce cas, car le tiret (-all) indique que si les serveurs ne sont pas renseignés, l’e-mail devra être rejeté (politique plus stricte qu'avec le tilde : "~all").
Nous obtenons également la liste des enregistrements de type A, ce qui fait référence aux enregistrements de ressources. Par ailleurs, vous obtenez le nom d’hôte de la ressource, son adresse IP associée et le nom de l’hébergeur. Il est précisé que la base de données est mise à jour tous les mois.
Intéressons-nous à l’image ci-dessous, que nous allons décrire. Quand un service est accessible sur internet, il apparaitra en vert. Il est également possible d’obtenir les informations de version des packages utilisés.
Ici, nous pouvons constater qu’une ressource utilise le programme OpenSSH 8.8. Sans doute pour permettre aux administrateurs d’avoir un accès distant leur permettant d’administrer à distance la ressource ou l’équipement via une session SSH (Secure Socket Shell).
Le port par défaut utilisé par SSH est le port 22 en TCP. Dans les bonnes pratiques, il est recommandé de le modifier. Assurez-vous de choisir un autre port qui serait utilisé par un autre service tel que le 2222 (TCP), par exemple. Ainsi, le service sera plus difficilement détectable.
Sous les enregistrements, vous avez différents icones qui représentent les options, nous allons les détailler ensemble...
Le premier icône permet d’effectuer une recherche sur l’adresse IP pour trouver d’autres ressources Internet qui l’utilise, ce qui est probable dans le cas d’un hébergement mutualisé. Par exemple, un serveur qui héberge plusieurs sites internet WordPress pour des clients différents.
L’icône en forme de planète va permettre de récupérer les entêtes HTTP (Http Headers).
Voici un exemple de résultat :
Une autre option « Trace Path » est représentée par des flèches, mais il semble que la fonctionnalité est réservée aux personnes qui paient un abonnement sur la plateforme d'Hacker Target.
En cliquant sur l’œil, vous pouvez obtenir des informations sur les bannières.
Par défaut, DNSdumpster utilise « Nmap Port Scan » pour déterminer s’il y a des ports ouverts et faire de la prise d’empreinte.
Enfin, vous pouvez télécharger la liste au format Excel (.xlsx) ou encore afficher un graphique. Nous allons afficher le graphique en cliquant sur « View Graph (beta) ».
Vous obtenez un joli graphique qui décompose l’infrastructure :
La page d’accueil propose aussi un schéma et affiche les versions de serveurs web et des autres ressources identifiées, si l’administrateur n’a pas fait l’effort de masquer les informations dans la configuration d’Apache, Nginx, ou autre.
III. Conclusion
Il est évident qu’à partir du moment où vous hébergez des ressources et/ou des services sur internet, vous êtes exposé !
Il vous appartient de vérifier que vous ne divulguez pas plus d’informations que nécessaire et que vous avez durci les configurations de vos services. L’outil DNSdumpster est intéressant pour effectuer une analyse rapide à partir d’un nom de domaine.
Voici quelques bonnes pratiques de base à ce sujet :
- Masquez les versions des applications utilisées et maintenez-les à jour
- Fermer les ports réseau non nécessaires
- Éliminez ou résiliez les domaines que nous n’utilisez plus
- Activer la double authentification sur la gestion de vos domaines
- Limiter le nombre d’administrateurs à la gestion des DNS (Revue des comptes)
- Garder des enregistrements SPF propres
- Eviter de donner des informations dans le nom d’hôte : Monsuperserveurdeprod.it-connect.tech
- Utilisez des systèmes de protection (exemples : Cloudflare, Crowdsec, Fail2ban, Iptable, etc…).
Bonjour, pourquoi votre avertissement dans l’article : La reconnaissance passive est tout à fait légale en France non ?