Nmap : 8 scripts NSE incontournables pour sécuriser votre SI

Cybersécurité

Nmap : 8 scripts NSE incontournables pour sécuriser votre SI

I. Présentation

Je vous présente dans ce petit article 8 scripts NSE pour diagnostiquer et sécuriser votre système d’information rapidement avec Nmap.

Pour rappel, Nmap est un outil open-source de cartographie réseau et de recherche de vulnérabilité. En plus de ses très nombreuses fonctionnalités, il est installé avec des scripts NSE (Nmap Scripting Engine) qui étendent ses fonctionnalités, souvent pour vérifier des points précis dans des protocoles et services.

Les scripts NSE de Nmap sont des outils puissants pour vérifier la présence de faiblesses, de défauts de configuration ou de vulnérabilités sur un SI. Leur intégration dans Nmap évite d’avoir à maitriser plusieurs outils, un seul suffit pour effectuer de multiples vérifications.

Pour sécuriser un système d’information, la première étape est bien sûr d’être au fait de son état général de sécurité. Les audits, scans réseau et diagnostiques réalisés via Nmap sont donc le point de départ.

Dans cet article, je vous partage mon top des scripts Nmap à connaitre en tant qu’administrateur système, réseau, DSI ou RSSI pour sécuriser vos réseaux simplement.


Administrateur système, réseau ou étudiant ? Formez-vous à la cybersécurité !

Pour tirer le meilleur parti de cet outil open-source afin de diagnostiquer et sécuriser votre système d’information, j’ai écrit pour vous un livre entier dédié à Nmap. Au programme, 160 pages avec exemples et analyses approfondies pour vous accompagner à la maitrise de cet outil, que vous soyez étudiants, administrateur système, réseau, pentester ou même RSSI :

Livre NmapLivre Nmap
https://bit.ly/ITC-NMAP-LIVRE

II. Le top 8 des scripts NSE

A. Applications web et version : http-headers et http-title

Vous voulez référencer rapidement toutes les applications web de votre SI ? Pas de problème, les scripts NSE et sont fait pour cela. Ils permettent d’afficher dans leur sortie le titre de la page et les en-têtes de tous les services web (HTTP/HTTPS) qu’il scanne. Voici comment les utiliser :


Comme vous le voyez, nous récupérons ici les en-têtes des services web sur les ports scannés. Cela permet notamment d’identifier des technologies obsolètes, mais aussi des noms de vhost (sous-domaine) pour identifier les sites web hébergés.

Ces scripts sont donc parfaits pour lister les services et applications web de votre système d’information. Vous trouverez surement le nom d’une application que vous pensiez décommissionnée, des versions de services web obsolètes ou même des équipements encore inconnus ! Attention toutefois à bien cibler les bons réseaux et ports, et n’oubliez pas qu’il peut y avoir plusieurs vhosts sur un même service web.

B. Recherche de fuites ou mots-clés : http-grep

Ce script intègre un robot d’indexation (crawler) qui explore un site web et tente d’identifier des chaînes de caractère. Idéal, par exemple, pour identifier une adresse e-mail, des pages de login ou une information qui ne devrait pas être accessible sans authentification !

Astuce : Si vous disposez déjà d’une liste de sous-domaines, ce qui vous permet de cibler différents vhosts d’un même service web, mettez-les dans un fichier (un par ligne) et utilisez l’option au lieu de cibler une IP ou un CIDR.

Voici un exemple d’utilisant basée sur fichier d’hôte/sous-domaine plutôt qu’un CIDR. Je recherche ici des adresses e-mails :


J’ai utilisé l’option du script, qui intègre des filtres préconstruits (email, phone, mastercard, discover, visa, amex, ssn, ip addresses). Je vous invite à consulter la page d’aide de ce dernier si vous souhaitez utiliser d’autres options ou faire des recherches spécifiques : Nmap Script http-grep.

Voici d’autres idées d’informations intéressantes à rechercher : des noms de domaine, des adresses IP, des noms d’utilisateurs, voire des mots de passe ! Voici un second exemple d’utilisation :


C. Sauvegarde et configurations accessibles : http-config-backup

Vous cherchez à identifier des fichiers de sauvegarde ou de configuration oubliés sur vos services web et mal protégés ? Le script NSE est fait pour cela. Il permet de chercher des noms de fichiers couramment utilisés qui pourraient être exposés publiquement. Il se base notamment sur des listes noms et d’extensions courantes pour ce type de fichier. Voici comment l’utiliser :


Voilà de quoi éviter de graves fuites de données. Encore une fois, assurez-vous de bien cibler les réseaux et ports appropriés pour une analyse complète et à exécuter ce script régulièrement.

D. Rechercher les accès FTP anonyme : ftp-anon

L’accès anonyme au service FTP est monnaie courante sur de nombreux équipements, notamment les imprimantes et scanner. Si vous souhaitez identifier les serveurs FTP qui permettent un accès anonyme, vous pouvez utiliser le script NSE . Il permet de scanner les serveurs FTP pour voir s’ils permettent un accès sans authentification, mais aussi lister le contenu accessible sur de tels services :


Ce script est rapide et utile pour identifier les serveurs FTP mal configurés, qui pourraient servir de porte d’entrée à des attaques. N’oubliez pas que le FTP est un service d’échange de fichiers : un accès anonyme permettrait à n’importe qui sur le réseau, y compris un attaquant, de déposer des fichiers malveillants ou de récupérer ceux disponibles.

E. Identifier les mots de passe faibles : ssh-brute

Êtes-vous sûr que tous les accès SSH de votre SI sont correctement sécurisés ? Il existe toujours un équipement avec des identifiants faibles ou par défaut qui traine. Si vous souhaitez tester la robustesse des mots de passe SSH sur vos serveurs, c’est le script NSE qu’il faut utiliser. Il permet de réaliser une attaque par force brute sur les comptes SSH pour identifier les mots de passe faibles :


Ce script est utile pour identifier les comptes avec des mots de passe faibles ou par défaut. Assurez-vous de l’utiliser de manière responsable et uniquement sur des systèmes que vous êtes autorisé à tester.

F. Informations et communauté SNMP : snmp-info et snmp-brute

Le protocole SNMP permet de récupérer des informations techniques à propos d’un service ou d’un système d’exploitation. Très souvent, même systématiquement, les services SNMP sont activés par défaut sur de nombreux équipements et protégés à l’aide de communauté simples à trouver comme , , , …

Dans bien des cas, l’accès à ces services permet de récupérer des informations utiles comme des noms de technologies, utilisateurs, versions, etc. Si vous cherchez à obtenir des informations sur les services SNMP de votre SI, utilisez le script :


Ce script est utile pour récupérer tout ce qui peut l’être des services SNMP accessibles, ce qui peut aider à la gestion du réseau ou à l’identification des vulnérabilités. Au préalable, vous souhaiterez peut-être effectuer un brute force des communautés classiques configurées par défaut, utilisez alors le script NSE :


Pour toutes les opérations de bruteforce, Nmap dispose de ses propres listes. Mais en apprenant à utiliser les options de scripts NSE, vous pourrez spécifier vos propres listes ! À tout hasard, avec le nom de votre entreprise ou le mot de passe par défaut et historique de l’équipe informatique.

III. Conclusion

Vous l’aurez compris, ces scripts NSE correspondent aux techniques de cartographie les plus utilisées, mais aussi à certaines de vulnérabilités très communes découvertes au sein de système d’information internes. Néanmoins, nous n’avons ici vu qu’une toute petite partie des capacités de Nmap.

Cartographie complète du système d’information, évaluation de la politique de filtrage, recherche de vulnérabilité… C’est un outil puissant et très utile. Cependant, lorsqu’il est utilisé avec ses options par défaut ou sans connaissance de son fonctionnement interne, des faux négatifs, faux positifs, voir effets de bords indésirables peuvent apparaitre.

Obtenir mon livre : Maîtrisez Nmap : Cartographie réseau et scan de vulnérabilité

SOURCE