Qu'est-ce que Nmap et comment l'utiliser - Un tutoriel pour le meilleur outil de numérisation de tous les temps

Nmap est l'outil d'analyse le plus connu utilisé par les testeurs d'intrusion. Dans cet article, nous examinerons certaines fonctionnalités de base de Nmap ainsi que quelques commandes utiles.

Qu'est-ce que Nmap?

Nmap est l'abréviation de Network Mapper. Il s'agit d'un outil de ligne de commande Linux open source utilisé pour analyser les adresses IP et les ports d'un réseau et pour détecter les applications installées.

Nmap permet aux administrateurs réseau de trouver les périphériques qui fonctionnent sur leur réseau, de découvrir les ports et services ouverts et de détecter les vulnérabilités.

Gordon Lyon (pseudonyme Fyodor) a écrit Nmap comme un outil pour aider à cartographier facilement un réseau entier et à trouver ses ports et services ouverts.

Nmap est devenu extrêmement populaire, étant présenté dans des films comme The Matrix et la série populaire Mr. Robot.

Pourquoi utiliser Nmap?

Il existe un certain nombre de raisons pour lesquelles les professionnels de la sécurité préfèrent Nmap aux autres outils d'analyse.

Premièrement, Nmap vous aide à cartographier rapidement un réseau sans commandes ni configurations sophistiquées. Il prend également en charge des commandes simples (par exemple, pour vérifier si un hôte est actif) et des scripts complexes via le moteur de script Nmap.

Les autres fonctionnalités de Nmap incluent:

  • Capacité à reconnaître rapidement tous les appareils, y compris les serveurs, les routeurs, les commutateurs, les appareils mobiles, etc. sur un ou plusieurs réseaux.
  • Aide à identifier les services exécutés sur un système, y compris les serveurs Web, les serveurs DNS et d'autres applications courantes. Nmap peut également détecter les versions d'application avec une précision raisonnable pour aider à détecter les vulnérabilités existantes.
  • Nmap peut trouver des informations sur le système d'exploitation fonctionnant sur les appareils. Il peut fournir des informations détaillées telles que les versions du système d'exploitation, ce qui facilite la planification d'approches supplémentaires pendant les tests de pénétration.
  • Pendant l'audit de sécurité et l'analyse des vulnérabilités, vous pouvez utiliser Nmap pour attaquer les systèmes à l'aide de scripts existants du moteur de script Nmap.
  • Nmap a une interface utilisateur graphique appelée Zenmap. Il vous aide à développer des mappages visuels d'un réseau pour une meilleure convivialité et des rapports.

Commandes

Regardons quelques commandes Nmap. Si vous n'avez pas installé Nmap, vous pouvez l'obtenir à partir d'ici.

Analyses de base

L'analyse de la liste des périphériques actifs sur un réseau est la première étape du mappage du réseau. Il existe deux types d'analyses que vous pouvez utiliser pour cela:

  • Ping scan - Analyse la liste des périphériques en cours d'exécution sur un sous-réseau donné.
> nmap -sp 192.168.1.1/24
  • Analyser un seul hôte - Analyse un hôte unique pour 1000 ports connus. Ces ports sont ceux utilisés par les services populaires tels que SQL, SNTP, apache et autres.
> nmap scanme.nmap.org

Analyse furtive

L'analyse furtive est effectuée en envoyant un paquet SYN et en analysant la réponse. Si SYN / ACK est reçu, cela signifie que le port est ouvert et que vous pouvez ouvrir une connexion TCP.

Cependant, une analyse furtive ne termine jamais la négociation en trois étapes, ce qui rend difficile pour la cible de déterminer le système d'analyse.

> nmap -sS scanme.nmap.org

Vous pouvez utiliser la commande '-sS' pour effectuer une analyse furtive. N'oubliez pas que l'analyse furtive est plus lente et pas aussi agressive que les autres types d'analyse, vous devrez donc peut-être attendre un certain temps pour obtenir une réponse.

Analyse de version

La recherche de versions d'application est un élément crucial des tests d'intrusion.

Cela vous facilite la vie car vous pouvez trouver une vulnérabilité existante dans la base de données Common Vulnerabilities and Exploits (CVE) pour une version particulière du service. Vous pouvez ensuite l'utiliser pour attaquer une machine à l'aide d'un outil d'exploitation comme Metasploit.

> nmap -sV scanme.nmap.org

Pour effectuer une analyse de version, utilisez la commande '-sV'. Nmap fournira une liste de services avec ses versions. Gardez à l'esprit que les analyses de version ne sont pas toujours précises à 100%, mais cela vous rapproche d'un pas de plus pour réussir à entrer dans un système.

Analyse du système d'exploitation

En plus des services et de leurs versions, Nmap peut fournir des informations sur le système d'exploitation sous-jacent à l'aide de l'empreinte TCP / IP. Nmap essaiera également de trouver le temps de fonctionnement du système lors d'une analyse du système d'exploitation.

> nmap -sV scanme.nmap.org

Vous pouvez utiliser les indicateurs supplémentaires tels que osscan-limit pour limiter la recherche à quelques cibles attendues. Nmap affichera le pourcentage de confiance pour chaque estimation du système d'exploitation.

Encore une fois, la détection du système d'exploitation n'est pas toujours précise, mais elle contribue grandement à aider un stylo testeur à se rapprocher de sa cible.

Analyse agressive

Nmap a un mode agressif qui permet la détection du système d'exploitation, la détection de version, l'analyse de script et le traceroute. Vous pouvez utiliser l'argument -A pour effectuer une analyse agressive.

> nmap -A scanme.nmap.org

Les analyses agressives fournissent des informations bien meilleures que les analyses régulières. Cependant, un scan agressif envoie également plus de sondes, et il est plus susceptible d'être détecté lors des audits de sécurité.

Analyse de plusieurs hôtes

Nmap a la capacité d'analyser plusieurs hôtes simultanément. Cette fonctionnalité est très pratique lorsque vous gérez une vaste infrastructure réseau.

Vous pouvez analyser plusieurs hôtes grâce à de nombreuses approches:

  • Écrivez toutes les adresses IP sur une seule ligne pour analyser tous les hôtes en même temps.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • Utilisez l'astérisque (*) pour analyser tous les sous-réseaux à la fois.
> nmap 192.164.1.*
  • Ajoutez des virgules pour séparer les fins d'adresses au lieu de taper les domaines entiers.
> nmap 192.164.0.1,2,3,4
  • Utilisez un trait d'union pour spécifier une plage d'adresses IP
> nmap 192.164.0.0–255

Balayage des ports

L'analyse des ports est l'une des fonctionnalités les plus fondamentales de Nmap. Vous pouvez rechercher des ports de plusieurs manières.

  • Utilisation du paramètre -p pour rechercher un seul port
> nmap -p 973 192.164.0.1
  • Si vous spécifiez le type de port, vous pouvez rechercher des informations sur un type particulier de connexion, par exemple pour une connexion TCP.
> nmap -p T:7777, 973 192.164.0.1
  • Une plage de ports peut être analysée en les séparant par un trait d'union.
> nmap -p 76–973 192.164.0.1
  • Vous pouvez également utiliser l' indicateur -top-ports pour spécifier les n premiers ports à analyser.
> nmap --top-ports 10 scanme.nmap.org

Numérisation à partir d'un fichier

Si vous souhaitez analyser une grande liste d'adresses IP, vous pouvez le faire en important un fichier avec la liste des adresses IP.

> nmap -iL /input_ips.txt

La commande ci-dessus produira les résultats de l'analyse de tous les domaines donnés dans le fichier «input_ips.txt». Outre la simple numérisation des adresses IP, vous pouvez également utiliser des options et des indicateurs supplémentaires.

Verbosité et exportation des résultats d'analyse

Les tests de pénétration peuvent durer des jours, voire des semaines. L'exportation des résultats Nmap peut être utile pour éviter un travail redondant et pour aider à créer des rapports finaux. Voyons quelques façons d'exporter les résultats de l'analyse Nmap.

Sortie verbeuse

> nmap -v scanme.nmap.org

La sortie détaillée fournit des informations supplémentaires sur l'analyse en cours. Il est utile de surveiller étape par étape les actions que Nmap effectue sur un réseau, en particulier si vous êtes un étranger analysant le réseau d'un client.

Sortie normale

Les scans Nmap peuvent également être exportés vers un fichier texte. Il sera légèrement différent de la sortie de ligne de commande d'origine, mais il capturera tous les résultats d'analyse essentiels.

> nmap -oN output.txt scanme.nmap.org

Sortie XML

Les scans Nmap peuvent également être exportés vers XML. C'est également le format de fichier préféré de la plupart des outils de test de stylet, ce qui le rend facilement analysable lors de l'importation des résultats d'analyse.

> nmap -oX output.xml scanme.nmap.org

Formats multiples

Vous pouvez également exporter les résultats de l'analyse dans tous les formats disponibles à la fois à l'aide de la commande -oA.

> nmap -oA output scanme.nmap.org

La commande ci-dessus exportera le résultat de l'analyse dans trois fichiers - output.xml, output. Nmap et output.gnmap.

Aide Nmap

Nmap a une commande d'aide intégrée qui répertorie tous les indicateurs et options que vous pouvez utiliser. C'est souvent pratique étant donné le nombre d'arguments de ligne de commande fournis par Nmap.

> nmap -h

Moteur de script Nmap

Nmap Scripting Engine (NSE) est un outil incroyablement puissant que vous pouvez utiliser pour écrire des scripts et automatiser de nombreuses fonctionnalités réseau.

Vous pouvez trouver de nombreux scripts répartis sur Nmap ou écrire votre propre script en fonction de vos besoins. Vous pouvez même modifier les scripts existants en utilisant le langage de programmation Lua.

NSE dispose également de scripts d'attaque utilisés pour attaquer le réseau et divers protocoles réseau.

Passer en revue le moteur de script en profondeur serait hors de portée de cet article, voici donc plus d'informations sur le moteur de script Nmap.

Zenmap

Zenmap est une interface utilisateur graphique pour Nmap. C'est un logiciel gratuit et open-source qui vous aide à être opérationnel avec Nmap.

En plus de fournir des mappages visuels du réseau, Zenmap vous permet également d'enregistrer et de rechercher vos numérisations pour une utilisation future.

Zenmap est idéal pour les débutants qui souhaitent tester les capacités de Nmap sans passer par une interface de ligne de commande.

Conclusion

Nmap est clairement le «couteau suisse» de la mise en réseau, grâce à son inventaire de commandes polyvalentes.

Il vous permet d'analyser et de découvrir rapidement les informations essentielles sur votre réseau, les hôtes, les ports, les pare-feu et les systèmes d'exploitation.

Nmap a de nombreux paramètres, indicateurs et préférences qui aident les administrateurs système à analyser un réseau en détail.

Si vous souhaitez apprendre Nmap en profondeur, voici une excellente ressource pour vous.

Vous avez aimé cet article? Rejoignez ma Newsletteret obtenez un résumé de mes articles et vidéos tous les lundis.