19/09/2024

Introduction à Nmap : Qu’est-ce que Nmap ?

I. Présentation

Dans ce chapitre, nous allons évoquer les grandes lignes de l’outil de scan réseau Nmap. Nous verrons quels sont les éléments clés à connaître sur cet outil et son fonctionnement haut niveau. Cela nous permettra de mieux appréhender la suite de ce cours.

II. Présentation de l'outil Nmap

Nmap, pour Network Mapper, est un outil gratuit et open source utilisé pour la découverte et la cartographie d’un réseau et l’audit de sécurité. Il peut aussi être utilisé pour d’autres tâches comme l’inventaire réseau, le diagnostic ou la supervision.

Il permet de déterminer, sur un réseau, si les hôtes d’un réseau ciblé sont actifs et joignables, quels services réseau sont exposés par ces différents hôtes, quelles versions et technologies ces services utilisent, ainsi que la récupération de diverses informations concernant ces derniers. Nmap peut ainsi être utilisé à destination d’un seul service sur un hôte bien précis, ou à destination d’un très large réseau, comme Internet tout entier.

Les forces de l’outil Nmap sont multiples :

  • Puissance et flexibilité : Nmap peut facilement être utilisé sur de larges réseaux tout en réalisant des opérations et techniques avancées pour cartographier un réseau, détecter une version, échanger via UDP, TCP, ICMP, IPv4, IPv6 ou même détecter la présence d’une vulnérabilité. Il possède de très nombreuses options qui permettent d’adapter son utilisation à votre contexte et vos objectifs. Également, il est modulable et adaptable grâce à ses scripts NSE, que nous étudierons dans ce cours.
  • Facilité d’utilisation : les nombreuses options de Nmap sont très bien documentées, comme son code qui est open source. De nombreuses documentations, officielles et non officielles, détaillent son utilisation et permettent de facilement le prendre en main.
  • Popularité, évolution et support : Nmap existe depuis 1998 ! La dernière version en date d’écriture de ces pages est la version 7.95. Il s’agit d’une référence absolue dans son domaine et apprendre à l’utiliser aujourd’hui vous permettra de l’utiliser encore pendant de longues années. Bien que des outils concurrents existent, parfois sur des tâches bien spécifiques, il n’est pas prêt d’être détrôné. Sur Github, l’outil a fait l’objet de 13 000 commits.

Plusieurs apparitions au cinéma

Nmap est d’ailleurs l’un des outils de sécurité les plus connus du grand public. On peut même dire que plusieurs millions de personnes ont déjà vu Nmap en action, cela, car il a en effet fait son apparition dans de nombreux films et bloc-busters. Son apparition la plus remarquée est selon moi celle dans Matrix : Reloaded.

Nmap y apparaît en effet alors dans la toute première scène du film, utilisé par Trinity lors du piratage du système électrique d’un bâtiment :

Scène de Matrix : Reloaded faisant apparaître Nmap.
Scène de Matrix : Reloaded faisant apparaître Nmap.

Nmap est aussi présent dans de nombreux autres films.

Retour de l’auteur

En tant qu’administrateur pendant mes années d’étude, puis auditeur en cybersécurité et pentester depuis de nombreuses années, j’utilise Nmap de façon quasi quotidienne et, très fréquemment, je recommande aux administrateurs système des entreprises dans lesquelles j’interviens d’apprendre à l'utiliser.

III. Fonctionnement haut niveau

Nous allons à présent nous intéresser au fonctionnement haut niveau de cet outil. Ce qui vous donnera une meilleure idée de la façon dont il peut être utilisé.

Utilisable sous Linux, sur Windows comme sur MacOS, Nmap est majoritairement écrit en C, C++ et en Lua. Ce dernier langage est utilisé dans ses scripts NSE, qui permettent une grande modularité des analyses et tests faits par Nmap. Nous étudierons en profondeur ces scripts un peu plus tard dans le cours.

Nmap s’utilise majoritairement en ligne de commande, bien que plusieurs interfaces graphiques existent comme Zenmap ou NmapGUI. Je vous recommande de commencer par la ligne de commande, qui vous permettra de mieux comprendre l’utilisation et le fonctionnement de Nmap pour mieux utiliser les interfaces graphiques par la suite si vous le souhaitez. Voici un exemple simple d’utilisation de Nmap :

nmap 192.168.10.13 10.10.10.0/24 -sV -sC --top-ports 250

Pas de panique, nous étudierons en détail cette ligne de commande et ses options dans les prochains chapitres. Dans ce cours, nous utiliserons Nmap sous Linux, mais il peut être utilisé de la même façon sur tous les systèmes d’exploitation mentionnés. Nous détaillerons également son installation sur un système Windows, sur lequel Nmap repose sur la librairie Npcap pour envoyer et capturer les paquets réseau.

Nmap se présente et s’utilise donc sous la forme d’un binaire compilé, comme “ls” sous Linux ou “ipconfig” sous Windows. Il peut nécessiter des droits privilégiés sur le système sur lequel il est utilisé, car Nmap va parfois manipuler les paquets réseau de manière peu conventionnelle, c’est-à-dire en ne suivant pas toujours les bonnes pratiques décrites dans les RFC UDP, TCP, etc., cela parfois pour gagner du temps et optimiser ses scans, parfois pour causer de manière intentionnelle une réaction particulière de ses cibles et en déduire certaines informations.

III. Impacts de l’utilisation de Nmap

Avant d’utiliser Nmap, il faut bien être conscient de l’impact qu’il peut avoir sur le réseau ou le système scanné, et donc connaître son fonctionnement. Parmi les impacts fréquents de l’utilisation de Nmap dans des cas de cartographie, découverte réseau et audit de sécurité, nous pouvons noter :

  • L’envoi de plusieurs milliers, voire millions de paquets en un laps de temps très court, ce qui peut entraîner une saturation des ressources réseau à plusieurs niveaux.
  • L’envoi de paquets parfois mal formatés (à dessein), trop grands, ne respectant pas les RFC propres à chaque protocole, ce qui peut causer des dysfonctionnements sur les systèmes et services qui n’ont pas été bien conçus (je pense notamment aux automates industriels, prudence !).
  • L’envoi de paquets ou requêtes typiques d’une cyberattaque, notamment dans le cas où l’on utilise Nmap pour de l’analyse de vulnérabilités. L’utilisation de Nmap sur un réseau peut donc être détectée comme une cyberattaque et alerter des solutions de sécurité présentes sur le réseau ou les systèmes.

Plus globalement, l’utilisation de Nmap sur un système ou un réseau entier est une opération très verbeuse. L’objectif de l’outil étant de détecter le plus d’éléments possible, il doit pour cela émettre un très grand nombre de requêtes. Soyez-en conscient et allez jusqu’au bout de ce cours avant de l’utiliser dans des environnements réels d’entreprise.

IV. Conclusion

Ce chapitre nous a permis d’introduire Nmap dans les grandes lignes. Nous avons vu qu’il s’agit d’un outil de scan et de cartographie réseau reconnu, qui possède de nombreuses forces. Nous avons également évoqué son fonctionnement haut niveau pour comprendre son utilisation et préparer le terrain pour les prochains chapitres de ce cours !

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.