- Points clés à retenir
- Premiers pas avec Nmap
- Analyse des vulnérabilités avec Nmap
- Vuln, Vulners ou Vulscan
- Comment les attaquants utilisent-ils Nmap ?
- Avantages et inconvénients de Nmap
- Alternatives à l’analyseur de vulnérabilités Nmap
- En résumé : utiliser Nmap pour une analyse des vulnérabilités économique et efficace
Points clés à retenir
- Nmap peut effectuer différents types d’analyses, notamment l’analyse des ports, la découverte des hôtes et la détection des vulnérabilités. Il est utile pour identifier les problèmes de sécurité potentiels sur un réseau, ce qui en fait un outil puissant aussi bien pour les professionnels de la sécurité que pour les pirates malveillants. (Accéder à la section)
- Nmap inclut une vaste bibliothèque de scripts capables de détecter des vulnérabilités précises. Les utilisateurs peuvent également créer des scripts personnalisés pour étendre ses fonctionnalités et adapter les analyses à des environnements particuliers. (Accéder à la section)
- Nmap fournit des rapports détaillés sur les vulnérabilités détectées, qui peuvent être exportés dans plusieurs formats. Cette fonctionnalité aide les entreprises à documenter leurs découvertes et à prendre les mesures appropriées pour atténuer les risques. (Accéder à la section)
L’outil open source puissant Nmap analyse les ports des appareils réseau et sonde les domaines de sites web à la recherche de vulnérabilités connues. Puisque les équipes de sécurité internes comme les pirates malveillants peuvent utiliser Nmap, les équipes de sécurité internes doivent veiller à effectuer l’analyse les premières !
Pour se familiariser avec Nmap en tant qu’outil de base pour détecter les vulnérabilités courantes, cet article abordera les points suivants :
- Premiers pas avec Nmap
- Analyse des vulnérabilités avec Nmap
- Vuln, Vulners ou Vulscan
- Comment les attaquants utilisent-ils Nmap ?
- Avantages et inconvénients de Nmap
- Alternatives à l’analyseur de vulnérabilités Nmap
- En résumé : utiliser Nmap pour une analyse des vulnérabilités économique et efficace
Si vous recherchez un analyseur de vulnérabilités facile à utiliser et bénéficiant d’une bonne assistance technique, Intruder — le sponsor de cet article — est un outil de ce type. Il offre une protection de niveau entreprise couvrant plus de 10 000 contrôles de sécurité, des analyses internes jusqu’au périmètre, en passant par les applications web et le cloud.
Essayez Intruder gratuitement pendant 14 jours !
Premiers pas avec Nmap
Nmap, ou network map, fournit gratuitement des fonctionnalités open source pour auditer les infrastructures informatiques, notamment l’analyse des ports, la découverte des hôtes ou l’identification des appareils sur un réseau. Les pentesters comme les acteurs malveillants utilisent Nmap pour recueillir des informations sur leur cible, et Nmap a été reconnu par la CISA comme un outil gratuit important pour la sécurité des réseaux.
Installer Nmap
Nmap a d’abord été conçu comme un utilitaire Linux, mais il est désormais disponible pour tous les principaux systèmes d’exploitation, notamment Windows et macOS. Nmap est préinstallé sur plusieurs versions de Linux, dont Kali Linux. Les utilisateurs d’autres systèmes Linux peuvent utiliser la commande « apt-get install Nmap » pour l’installer.
Les utilisateurs de tous les systèmes d’exploitation peuvent télécharger Nmap ainsi que l’interface graphique (GUI) ZeNmap pour Nmap. Ceux qui préfèrent utiliser GitHub peuvent cloner le dépôt Git officiel avec cette commande :
git clone https://github.com/Nmap/Nmap.gitAprès avoir installé Nmap, les utilisateurs peuvent utiliser la ligne de commande ou ZeNmap pour exécuter des commandes simples afin de cartographier le domaine local, d’analyser les ports d’un hôte et de détecter les versions des systèmes d’exploitation exécutés sur les hôtes.
De nombreux logiciels open source ont été infectés par des logiciels malveillants. Pour vérifier que le téléchargement de Nmap correspond bien au contenu attendu, une entreprise peut comparer le téléchargement aux enregistrements de signature gérés par Nmap.
Scripts intégrés de Nmap
L’exécution des fonctions de base peut être fastidieuse. Les utilisateurs étendent les capacités de Nmap en exécutant les scripts intégrés de Nmap. Ces scripts doivent être régulièrement mis à jour en exécutant cette commande :
sudo Nmap --script-updatedbVous trouverez une présentation des commandes de base et des exemples de scripts dans Nmap : présentation et analyse du produit de pentest.
Utiliser des scripts Nmap personnalisés
Les utilisateurs avancés peuvent préférer combiner plusieurs lignes d’instructions ou des commandes plus complexes avec le langage Python et le package Python-Nmap. Les utilisateurs avancés peuvent également utiliser le Nmap Scripting Engine (NSE) pour activer la découverte du réseau, la détection des vulnérabilités (par exemple, les portes dérobées) et même certains exploits à l’aide du langage de programmation Lua. Ces scripts sont des fichiers .nse qui contiennent généralement des commentaires destinés aux utilisateurs finaux ainsi que des instructions de code destinées aux machines.
Analyse des vulnérabilités avec Nmap
Les capacités d’analyse des vulnérabilités de Nmap reposent sur les scripts de détection des vulnérabilités classés sous « vuln », ainsi que sur les scripts personnalisés. Les utilisateurs peuvent exécuter les scripts intégrés individuellement ou collectivement avec la commande « vuln ». Ils peuvent également télécharger des scripts personnalisés tels que Vulscan ou Vulners.
Comme pour tout test d’intrusion ou toute analyse de vulnérabilités, les utilisateurs doivent garder à l’esprit que ces analyses intrusives ne doivent être effectuées qu’avec une autorisation. Même l’analyse d’un système sans autorisation peut entraîner des amendes ou une peine de prison, selon la juridiction. Pour plus d’informations, l’utilisateur peut consulter les réglementations en vigueur aux États-Unis (The Computer Fraud and Abuse Act), en Angleterre (Computer Misuse Act 1990), en Inde (Information Technology Act, sections 43 et 66), au Japon (The Act on the Prohibition of Unauthorised Computer Access) et dans de nombreux autres pays.
Analyses spécifiques des vulnérabilités avec Nmap
Les scripts Nmap contiennent bien plus de 100 analyses spécifiques de vulnérabilités pouvant être exécutées sur des domaines ou des adresses IP d’hôtes précises. Une liste complète des vulnérabilités analysées est disponible sur le site web de Nmap.
Analyses des applications : Exécutez Nmap sur un domaine cible (par exemple : esecurityplanet.com) pour vérifier la présence de vulnérabilités sur les sites web, notamment :
- http-csrf : détecter les vulnérabilités de type falsification de requête intersite (CSRF) en saisissant la commande : Nmap -sV –script http-csrf <target domain>
- http-sherlock : vérifier si la vulnérabilité « shellshock » peut être exploitée dans les applications web en saisissant la commande : Nmap -sV –script http-sherlock <target domain>
Analyses des hôtes informatiques : Exécutez Nmap sur une adresse IP cible (par exemple : 166.96.06.4) pour rechercher des vulnérabilités sur l’hôte, notamment :
- dns-update : tenter d’effectuer une mise à jour dynamique du service de noms de domaine (DNS) sans authentification en saisissant la commande : Nmap -sU -p 53 –script=dns-update –script-args=dns-update.hostname=foo.example.com,dns-update.ip=192.0.2.1 <target IP address>
- smb-vuln-cve-2017-7494 : vérifier si l’adresse IP cible est vulnérable à la faille de chargement arbitraire de bibliothèques partagées à l’aide d’un script tel que : Nmap –script smb-vuln-cve-2017-7494 -p 445 <target IP address>
Les scripts Nmap recommandés par les autorités publiques sont parfois publiés ou promus sur des sites web officiels afin d’aider les entreprises à remédier à des vulnérabilités précises. Par exemple, le gouvernement britannique gère un dépôt GitHub open source pour aider les entreprises à analyser les réseaux à la recherche de la vulnérabilité de l’agent de transfert de messages Exim (MTA), dans le cadre du projet Scanning Made Easy du National Cyber Security Centre (NCSC) et de son partenariat industriel i100.
Le dépôt fournit aux utilisateurs, notamment aux administrateurs système, une collection de scripts Nmap officiellement recommandés pour détecter les vulnérabilités des systèmes. Le premier script britannique se concentre sur les vulnérabilités d’exécution de code à distance de l’agent de transfert de messages Exim (MTA), CVE-2020-28017 à CVE-2020-28026, également connues sous le nom de 21Nails.
Le script contient des informations sur les points suivants :
- La manière dont il vérifie la présence de la vulnérabilité
- Pourquoi la vérification n’est pas intrusive
- Pourquoi des faux positifs et des faux négatifs peuvent apparaître
Comment utiliser Vuln
Nmap peut analyser un domaine cible ou une adresse IP à la recherche de toutes les vulnérabilités de la bibliothèque de scripts par défaut appartenant à la catégorie « vuln », avec la commande Vuln au nom approprié :
sudo Nmap --script vuln <target domain or IP Address> -vNotez que la commande peut nécessiter « sudo » sous Linux pour être exécutée en tant que superutilisateur ou équivalent Linux d’un administrateur. Dans la plupart des cas, des privilèges élevés sont nécessaires pour exécuter les commandes les plus intrusives et exploratoires de Nmap. L’option -v, ou mode verbeux, fournit des informations détaillées sur les tests exécutés et leurs résultats.
L’exécution de ces commandes peut être dangereuse en raison du caractère intrusif et perturbateur de certaines analyses de vulnérabilités. Au lieu de simplement recueillir des informations, certaines analyses tentent de vérifier une vulnérabilité en essayant de l’exploiter. Dans certains cas, une exploitation réussie peut modifier le service, voire provoquer l’arrêt du service, du site web ou du système d’exploitation.
Un sous-ensemble des analyses de vulnérabilités peut être effectué à l’aide de caractères génériques ou d’astérisques (*) afin d’exécuter simultanément plusieurs scripts aux noms similaires. Par exemple, l’ajout du caractère générique après la commande http (http*) exécutera toutes les analyses de vulnérabilités commençant par « http » sur un domaine cible.
Lors de l’utilisation d’analyses groupées, les résultats peuvent devenir difficiles à exploiter et certains utilisateurs souhaiteront exclure les vulnérabilités dont le score CVSS est faible. Pour n’afficher que les vulnérabilités comprises dans une certaine plage, ajoutez l’option suivante à la commande, où « x.x » correspond au score CVSS (par exemple : 6,5).
--script-args=mincvss=x.xLa commande complète permettant d’exclure les vulnérabilités inférieures à 6,5 serait la suivante :
Nmap --script vuln --script-args mincvss=6.5 <target>Les résultats de l’analyse peuvent être exportés dans différents formats de fichier en ajoutant des options suivies du nom du fichier dans la commande. Cet export facilite le partage des informations ou la mise à disposition des vulnérabilités pour d’autres logiciels.
Voici deux exemples courants de commandes complètes :
- Fichier XML : Nmap –script vuln -oX file.xml <target>
- Fichier XML compatible avec les navigateurs : Nmap –script vuln –webxml -oX file.xml <target>
Bien entendu, l’ensemble de base des analyses de vulnérabilités peut ne pas suffire à certains utilisateurs, car il n’examine qu’un ensemble limité, quoique important, de vulnérabilités. Les utilisateurs avancés peuvent télécharger des scripts personnalisés tels que Vulscan ou Vulners afin d’accéder à une base de données de vulnérabilités plus vaste.
Comment utiliser Vulscan
Pour utiliser le script NSE Vulscan, l’utilisateur doit d’abord cloner le logiciel depuis le dépôt GitHub à l’aide de la commande git :
sudo git clone https://github.com/scipag/vulscanL’utilisateur devra peut-être créer un lien symbolique vers le répertoire des scripts NSE en exécutant la commande suivante :
sudo ln -s pwd /scipag_vulscan /usr/share/Nmap/scripts/vulscanDans ce cas, /usr/share/Nmap/scripts/vulscan est le répertoire présumé des scripts Nmap sur la machine de l’utilisateur, mais ce répertoire peut être modifié si nécessaire. Une fois le répertoire connu de Nmap, Vulscan peut être appelé avec l’option –script afin d’exécuter des vérifications supplémentaires des vulnérabilités en utilisant la syntaxe suivante :
sudo Nmap -sV --script=vulscan/vulscan.nse <target IP address or host name>Vulscan peut être exécuté pour détecter les vulnérabilités informatiques associées à une adresse IP du réseau ou les vulnérabilités logicielles associées à un nom d’hôte (par exemple : esecurityplanet.com). Vulscan exécute des tests non invasifs pour toutes les vulnérabilités applicables à la cible. Les résultats affichent le port, suivi d’informations limitées sur les CVE spécifiques découvertes.
Comment utiliser Vulners
Vulners est généralement inclus dans les scripts NSE standard de Nmap, mais l’utilisateur peut également cloner le script NSE de Vulners depuis son dépôt GitHub à l’aide de la commande git :
sudo git clone https://github.com/vulnersCom/Nmap-vulners.git /usr/share/Nmap/scripts/vulnersLe répertoire /usr/share/Nmap/scripts/vulscan est le répertoire présumé des scripts Nmap sur la machine de l’utilisateur, mais ce répertoire peut être modifié si nécessaire. Une fois cloné, Vulners peut être appelé avec l’option –script en utilisant la syntaxe suivante :
sudo Nmap -sV --script Nmap-vulners/vulners.nse <target host or IP address>Les utilisateurs peuvent cibler des ports spécifiques sur une adresse IP en ajoutant -p<#> (par exemple : -p80 pour cibler le port 80) à la fin de la ligne de commande. Les résultats affichent les CVE découvertes et renvoient vers le site web de Vulners pour plus d’informations.
Vuln, Vulners ou Vulscan
| Vuln | Vulners | Vulscan | |
|---|---|---|---|
| Scripts Nmap inclus | Oui | Oui | Non |
| Envoie des données CPE hors de l’organisation | Non | Oui* | Non |
| Nécessite le téléchargement d’une base de données de vulnérabilités | Non, mais nombre limité de CVE | Non* | Oui |
| Niveau de confiance | Élevé | Dépend | Dépend |
| Potentiellement perturbateur | Oui | Non | Non |
| Quand l’utiliser | Analyse approfondie et précise des principales vulnérabilités | Analyse approfondie, sans se soucier de l’envoi de données CPE | Analyse plus approfondie et volonté de ne pas divulguer les données CPE |
Vuln et Vulners sont inclus dans la base de données de scripts NSE de base et seront mis à jour lors de la mise à jour de tous les scripts de Nmap. Vulscan n’est pas inclus dans l’ensemble de scripts de base et doit être téléchargé et mis à jour séparément.
Vulners envoie les informations d’énumération de plateforme commune (CPE) reçues lors des analyses de ports à vulners.com via l’API du site afin de télécharger activement les informations les plus récentes sur les vulnérabilités et expositions communes (CVE) depuis la base de données du site. Vulners nécessite également un accès à Internet pour accéder aux bases de données externes de vulnérabilités.
Ce partage d’informations sur les vulnérabilités peut ne pas convenir aux organisations particulièrement soucieuses de préserver le secret de leur environnement. Vulscan permet d’utiliser une base de données locale, mais cela supprime généralement l’avantage d’utiliser la base de données entièrement à jour de Vulscan.
Vuln et Vulscan n’envoient pas d’informations CPE hors de l’organisation analysée et utilisent des bases de données locales de vulnérabilités.
L’avantage de l’envoi des informations CPE est que Vulners héberge un ensemble de CVE entièrement à jour. Vuln ne détecte que les 150 principales vulnérabilités des systèmes et Vulscan utilise une copie hors ligne des bases de données de vulnérabilités.
Vuln peut entraîner des perturbations car Vuln vérifie la présence de certaines vulnérabilités en tentant de confirmer leur exploitation ainsi que la perturbation ou la corruption du service concerné. Cependant, les sondes actives renforcent la confiance dans les résultats et réduisent le risque de faux positifs.
Vulners et Vulscan évitent le risque de perturbation car ils ne tentent pas de vérifier ou d’exploiter les vulnérabilités. La confiance accordée à ces deux outils dépend de l’exactitude et de la précision des capacités de détection de la version spécifique de Nmap. Ces deux outils peuvent également être induits en erreur par des versions non standard, personnalisées ou corrigées de certains services, ce qui peut entraîner davantage de faux positifs.
Parmi les trois outils, la catégorie de scripts Vuln peut produire immédiatement des analyses très précises pour un ensemble limité de vulnérabilités importantes. Cependant, bien que le nombre de vulnérabilités soit faible, l’exploration approfondie de la vulnérabilité peut prendre 3 à 4 fois plus de temps qu’avec Vulners ou Vulscan.
Bien que les deux analyseurs de vulnérabilités téléchargés manuellement offrent un choix beaucoup plus vaste et robuste de CVE à détecter, Vulners sera généralement l’analyse la plus à jour car les équipes informatiques peuvent oublier de mettre à jour manuellement les bases de données de Vulscan. En revanche, pour les organisations plus secrètes qui doivent éviter de divulguer des informations CPE, l’utilisation par Vulscan d’une base de données locale peut constituer le meilleur choix parmi les options de Nmap.
Comment les attaquants utilisent-ils Nmap ?
Les attaquants utilisent Nmap pour analyser rapidement de vastes réseaux en recourant à des paquets IP bruts afin d’identifier les hôtes et services disponibles sur le réseau et de déterminer leurs vulnérabilités. Les pirates et les pentesters ajoutent généralement des options spécifiques pour brouiller leurs traces.
Les analyses leurres ajoutent l’option -D (Nmap -p 123 -D decoyIP targetIP) afin de masquer l’adresse IP de l’attaquant et d’envoyer à la cible des paquets dont l’adresse source est usurpée, en plus des paquets de la machine d’analyse. Ces paquets supplémentaires compliquent la détection des analyses de ports par les défenseurs.
Les attaquants peuvent également exécuter des analyses zombies, également appelées analyses inactives. Cette attaque par canal auxiliaire tente d’envoyer des paquets SYN falsifiés à la cible en utilisant l’adresse IP du point de terminaison « zombie » sur le réseau. Cette méthode tente d’induire le système de détection des intrusions (IDS) en erreur en lui faisant prendre l’ordinateur zombie innocent pour l’attaquant. Une analyse plus approfondie des attaques utilisant Nmap est disponible dans le Guide ultime de Nmap : revue et analyse d’un produit de pentest.
Les systèmes hôtes détectent-ils les analyses Nmap ?
Les outils SIEM, les pare-feu, ainsi que d’autres outils de défense, peuvent recevoir des alertes des systèmes, et le système analysé consignera les requêtes TCP réussies provenant des nombreuses analyses de ports Nmap. Des outils IDS/IDP plus sophistiqués peuvent également détecter des requêtes TCP malformées, telles que les requêtes furtives de Nmap qui n’établissent pas complètement une connexion TCP. Les analyses perturbatrices qui entraînent une défaillance du système ou du service seront également détectées à coup sûr par les systèmes et les utilisateurs concernés.
Avantages et inconvénients de Nmap
Nmap offre de puissantes capacités d’analyse des vulnérabilités et devrait être envisagé par la plupart des organisations. Toutefois, de nombreuses raisons expliquent pourquoi Nmap n’est pas utilisé partout.
Avantages : raisons d’utiliser Nmap
- Open source et gratuit : il convient donc parfaitement aux pirates, aux étudiants et à toutes les organisations
- Analyses rapides : elles offrent un aperçu rapide des vulnérabilités potentielles
- Analyses TCP légères : elles ne consomment pas une quantité excessive de bande passante réseau et peuvent échapper à certains outils de sécurité réseau
- Un aperçu côté pirate pour les organisations qui vérifient leurs systèmes internes
- Analyses scriptables : elles permettent à une organisation de créer des analyses de vulnérabilités répétables utilisables par des personnes non techniques, et aux pirates d’intégrer des commandes et des analyses Nmap dans des logiciels malveillants
Inconvénients : raisons de ne pas utiliser Nmap
- Moins convivial que les outils commerciaux dotés d’interfaces graphiques plus avancées
- Risque d’erreur accru lors de la saisie de commandes dans la ligne de commande
- Manque de programmeurs au sein du personnel informatique de l’organisation pour créer des scripts personnalisés ou comprendre les scripts Nmap
- Assistance moins structurée que celle des outils commerciaux
- Analyses de vulnérabilités limitées via la commande vuln de base
Alternatives à l’analyseur de vulnérabilités Nmap
Nmap reste un outil populaire, mais il est loin d’être le seul analyseur de vulnérabilités disponible. Les analyseurs de vulnérabilités open source pour les applications comprennent OSV-Scanner ou OWASP Zed Attack Proxy (ZAP), tandis que ceux destinés aux infrastructures comprennent CloudSploit ou OpenVAS.
De nombreux analyseurs de vulnérabilités commerciaux sont également disponibles. Les meilleurs analyseurs de vulnérabilités pour les applications ou les infrastructures comprennent Invicti, Tenable.io, ManageEngine’s Vulnerability Manager Plus, ainsi que d’autres outils répertoriés ci-dessous :
En résumé : utiliser Nmap pour une analyse des vulnérabilités économique et efficace
Nmap offre une solution gratuite pour détecter les vulnérabilités, vérifier les résultats des analyseurs de vulnérabilités commerciaux ou obtenir un aperçu efficace de la manière dont un pirate pourrait percevoir les opportunités présentes dans l’infrastructure de l’organisation. Toute organisation, y compris celles qui choisissent d’utiliser un analyseur de vulnérabilités commercial, devrait envisager d’ajouter Nmap à son arsenal d’outils d’analyse des vulnérabilités.
À lire ensuite :
- Principaux outils de gestion des vulnérabilités
- Les 8 meilleurs outils d’analyse des vulnérabilités pour 2023
- Les 10 meilleurs outils open source d’évaluation des vulnérabilités pour 2023
Cet article a été initialement rédigé par Julien Maury le 8 février 2022, puis révisé par Chad Kime le 14 juillet 2023.





