Analyser les ports avec Nmap: liste des commandes Nmap

Nmap est le meilleur outil de découverte d'hôte et d'analyse de port disponible aujourd'hui. Nmap nous permettra d'obtenir une grande quantité d'informations sur les ordinateurs de notre réseau, il est capable de scanner quels hôtes sont actifs, et même de vérifier s'ils ont des ports ouverts, s'ils filtrent des ports (ils ont un pare-feu activé), et même savoir quel système d'exploitation utilise une certaine cible. Voulez-vous tout savoir sur Nmap et comment l'utiliser? Dans cet article, nous expliquons tout ce que vous devez savoir sur cet outil.

Main features

Nmap est un utilitaire totalement gratuit et open source, il nous permet de découvrir des réseaux et des hôtes, ainsi que d'effectuer des audits de sécurité. Ce programme est compatible avec Linux/Unix, Windows et les systèmes d'exploitation macOS, mais dans tous, il est utilisé via la ligne de commande, bien que nous ayons la possibilité d'installer ZenMap, qui est l'utilitaire graphique de Nmap pour effectuer des scans de port à travers l'interface utilisateur graphique. Si vous ne voulez pas vous battre avec des commandes via la console, cette interface utilisateur graphique pourrait être utile pour les premiers pas avec ce super programme, cependant, lorsque vous aurez plus d'expérience, vous exécuterez sûrement toutes les commandes directement depuis le terminal.

Analyser les ports avec Nmap

Nmap nous permet de détecter des hôtes sur un réseau local, et également via Internet, de cette manière, nous pouvons savoir si ces hôtes (ordinateurs, serveurs, routeurs, commutateurs, IdO périphériques) sont actuellement connectés à Internet ou au réseau local. Cet outil nous permet également d'effectuer une analyse des ports vers les différents hôtes, de voir quels services nous avons actifs dans lesdits hôtes grâce au fait qu'il nous indiquera l'état de leurs ports, nous pouvons savoir quel système d'exploitation un certain ordinateur utilise , et nous pouvons même automatiser différents tests de pentesting pour vérifier la sécurité de l'équipement.

Nmap a différents types de scans de ports, ils peuvent être via des segments TCP, des datagrammes UDP ou des paquets ICMP, en plus, il permet d'effectuer des scans de manière cachée afin qu'ils soient difficiles à détecter par les pare-feu. Bien sûr, nous pourrons faire un scan de port sur certains ports spécifiques, entre plages de ports, plages d'adresses IP, possibilité d'utiliser des paquets TCP null, FIN, Xmas et ACK en plus de SYN, pour localiser les ports TCP ouverts.

Les autres fonctionnalités que cet outil nous offre est la possibilité de faire un inventaire complet du réseau, et même de vérifier si un certain hôte ou service est toujours opérationnel. Ce programme a été conçu pour analyser un grand nombre d'hôtes, donc si vous devez analyser plusieurs cibles, vous n'aurez aucun problème. Ce programme est très flexible, il intègre des dizaines de techniques avancées pour scanner les hôtes et les ports, en plus, il permet également des audits via NSE (Nmap Search Engine), donc il est vraiment puissant.

Nmap a différents états sur les ports qui apparaîtront lorsque nous effectuons une analyse de port. Il est essentiel de savoir ce que signifie chaque état de Nmap, car avec n'importe quel scan de port, il retournera différents états.

État du port avec Nmap

  • Ouvert - Une application accepte activement les connexions TCP ou UDP. Le port est ouvert et peut être utilisé, les pentesters pourront utiliser ce port ouvert pour exploiter le système. C'est l'état par défaut si nous n'avons pas de pare-feu bloquant l'accès.
  • Fermé : Un port fermé est accessible car il répond à Nmap, mais aucune application n'est en cours d'exécution sur ce port. Il est utile pour découvrir qu'un hôte est actif ou dans le cadre de la détection d'un système d'exploitation. Pour l'administrateur système, il est recommandé de filtrer ces ports avec le pare-feu afin qu'ils ne soient pas accessibles. En ce qui concerne le pentester, il est conseillé de laisser ces ports «fermés» pour analyser plus tard, au cas où ils mettraient un nouveau service.
  • Filtré : Dans cet état, Nmap ne peut pas déterminer si le port est ouvert, car il existe un pare-feu filtrant les paquets Nmap sur ce port. Ces ports filtrés sont ceux qui apparaîtront lorsque nous aurons activé un pare-feu. Nmap essaiera à plusieurs reprises de se connecter, ce qui ralentit considérablement l'analyse des ports.
  • Ouvrir | Filtré : Nmap ne sait pas si le port est ouvert ou filtré. Cela se produit car le port ouvert n'envoie aucune réponse et cette absence de réponse peut provenir du pare-feu. Cet état apparaît lorsque nous utilisons UDP et IP, et que nous utilisons les scans FIN, NULL et Xmas.
  • Fermé | Filtré : dans cet état, on ne sait pas si le port est fermé ou filtré. Cet état n'est utilisé que dans le scan de veille IP.

Une fois que nous aurons vu les principales fonctionnalités de Nmap et l'état des ports dont nous disposons, nous allons l'installer et l'utiliser.

Téléchargez et installez Nmap sur n'importe quel système

La première chose que nous devons faire pour utiliser ce puissant programme est de le télécharger puis de l'installer. dans le Section de téléchargement Nmap vous pouvez trouver tous les liens, binaires et code source pour l'installation dans les systèmes d'exploitation Windows, Linux et MacOS. Nous avons actuellement ce programme disponible dans tous les référentiels des systèmes d'exploitation basés sur Linux, donc son installation est vraiment simple. Nous avons installé ce programme dans Ubuntu, mais simplement en exécutant la commande d'installation de votre système d'exploitation suivie de «nmap», vous installerez le programme sans difficultés.

sudo apt install nmap

Une fois installé, nous pouvons l'utiliser à partir d'un terminal, que ce soit sous Windows, Linux ou macOS. Dans tous les exemples que nous vous donnerons ci-dessous, nous avons utilisé le système d'exploitation Ubuntu, mais nous avons les mêmes commandes disponibles pour Windows et macOS, sans aucune modification.

Exemples d'utilisation de Nmap

Analyse rapide des ports

Si vous souhaitez effectuer une analyse rapide des ports vers un hôte spécifique, nous devons taper la commande suivante.

nmap [ip]

Par exemple, si nous voulons effectuer une analyse rapide des ports principaux vers un hôte avec l'adresse IP 192.168.1.2, l'ordre serait le suivant:

nmap 192.168.1.2

Le programme renverra les ports ouverts sur l'ordinateur cible.

puertosnmap_foto_2

Analyser une gamme de ports

Au lieu d'analyser tous les ports, nous pouvons définir une plage de ports à vérifier. Pour cela, nous allons exécuter:

nmap -p [rango] [ip]

Si nous voulons effectuer une analyse de port de TCP 20 à TCP 200 à l'adresse IP 192.168.1.2, exécutez simplement la commande suivante:

nmap -p 20-200 192.168.1.2

Le programme indiquera dans cette plage quels ports sont ouverts.

puertosnmap_foto_3

Détecter le système d'exploitation et plus de données hôte

Nous pouvons dire à Nmap de détecter le système d'exploitation. Il le fait en envoyant des paquets et en analysant la façon dont il les renvoie, étant totalement différent dans chaque système. Parallèlement à cela, il effectuera une analyse des ports et des services pour les vulnérabilités. En outre, l'analyse renverra des informations utiles. Pour cela, nous devons exécuter:

nmap -A -v [ip]

Si nous voulons effectuer cette analyse vers l'adresse IP 192.168.1.2, nous pouvons exécuter la commande suivante:

nmap -A -v 192.168.1.2

puertosnmap_foto_4

Liste de toutes les commandes s

Ce programme est vraiment complet, jusqu'à présent nous avons utilisé les commandes de base pour découvrir les hôtes et aussi pour voir s'il a des ports ouverts, cependant, cela ne reste pas ainsi, et nous avons une grande liste de commandes pour en tirer le meilleur parti outil.

Sélectionnez les objectifs

Adresses ou plages IP, noms de systèmes, réseaux, etc.

  • Exemple: scanme.nmap.org, microsoft.com/24, 192.168.0.1, 10.0.0-255.1-254
  • -iL liste de fichiers dans le fichier -iR n choisir les cibles au hasard, 0 ne se termine jamais
  • –Exclude –excludefile fichier exclure les systèmes du fichier

Découvrez les systèmes

  • -PS n tcp sync
  • -PA n ping TCP ACK
  • -PU et ping UDP
  • -PM Demande de masque de réseau
  • -PP Demande d'horodatage
  • -Demande d'écho PE
  • -sL analyse de la liste
  • -PO ping par protocole
  • -PN ne pas ping
  • -n ne fait pas de DNS
  • -R Résoudre DNS sur tous les systèmes cibles
  • –Traceroute: trace la route vers le système (pour les topologies de réseau)
  • -sP ping, identique à –PP –PM –PS443 –PA80

Techniques d'analyse des ports

  • -sS analyse à l'aide de TCP SYN
  • -sT analyse en utilisant TCP CONNECT
  • -sU analyse en utilisant UDP
  • -s AND analyse à l'aide de SCTP INIT
  • -sZ avec COOKIE ECHO de SCTP
  • -sO protocole IP
  • -sW Fenêtre TCP -sN
  • –SF -sX NULL, FIN, NOEL
  • –SA TCP ACK

Ports à analyser et ordre d'analyse

  • -p n-mrango
  • -p– tous les ports
  • -pn, m, z spécifié
  • -p U: nm, z T: n, m U pour UDP, T pour TCP
  • -F rapide, le commun 100
  • –Top-ports n analysent les ports les plus utilisés
  • -r pas aléatoire

Durée et exécution:

  • -T0 paranoïaque
  • -T1 furtif
  • -T2 sophistiqué
  • -T3 normale
  • -T4 agressif
  • -T5 folie
  • –Groupe hôte min
  • –Groupe d'hôtes max
  • –Taux min
  • –Taux max
  • –Min-parallélisme
  • –Max-parallélisme
  • –Min-rtt-timeout
  • –Max-rtt-timeout
  • –Délai d'expiration initial-rtt
  • –Max-tentatives
  • –Host-timeout –scan-délai

Détection de service et de version

  • -sV: détection de version des services
  • –Tous les ports n'excluent pas les ports
  • –Version-tout teste chaque scan
  • –Activité d'analyse des versions de trace de version
  • -Ou activer la détection du système d'exploitation
  • –Détection du système d'exploitation par estimation floue
  • –Max-os-try définit le nombre maximum de tentatives contre le système cible

Pare-feu / évasion IDS

  • -f paquets de fragments
  • -D d1, analyse de manteau d2 avec des leurres
  • -S adresse de source d'usurpation IP
  • –Port de source d'usurpation de source G
  • –Ordre aléatoire des hôtes
  • –Spoof-mac modifier le MAC source

Niveau de détail et paramètres de débogage

  • -v Augmente le niveau de détail
  • –Raisons de raison par système et port
  • -d (1-9) définir le niveau de débogage
  • –Chemin du paquet de trace de paquet

Autre options

  • –Le fichier de reprise continue l'analyse abandonnée (prenant les formats de sortie avec -oN ou -oG)
  • -6 activer la numérisation IPV6
  • -A agressif, idem -O -sV -sC -traceroute

Options interactives

  • v / V augmenter / diminuer le niveau de détail de l'analyse
  • d / D augmenter / diminuer le niveau de débogage
  • p / P activer / désactiver la trace des paquets

Scripts

  • -sC effectuer une analyse avec des scripts par défaut
  • –Script d'exécution de fichier script (ou tout)
  • –Script-args n = v fournit des arguments
  • –Script-trace affiche les communications entrantes et sortantes

Formats de sortie

  • -oN enregistrer au format normal
  • -oX enregistrer au format XML
  • -oG enregistrer au format pour une utilisation ultérieure de Grep
  • -oA enregistrer dans tous les formats précédents

Ce sont principalement les commandes disponibles pour Nmap. Avant de terminer, nous devons dire que Nmap dispose d'une multitude d'options pour effectuer une analyse complète du réseau. Nous pouvons consulter toutes les options disponibles en tapant:

nmap --help

puertosnmap_foto_5

Nmap est sans aucun doute un outil très simple et complet pour effectuer des audits réseau, mais cela ne s'arrête pas là, nous avons également Nmap NSE disponible pour effectuer des pentesting avancés.

Nmap NSE: qu'est-ce que c'est et à quoi ça sert

Nmap Search Engine ou également connu sous le nom de Nmap NSE, est une grande base de données avec des milliers de scripts qui nous permettront d'automatiser le pentesting des systèmes et des réseaux. Cet ensemble de scripts nous permettra d'automatiser de nombreuses actions, telles que la réalisation d'attaques par force brute sur les serveurs Samba, les serveurs FTP, les serveurs SSH, la vérification si un serveur Web a une vulnérabilité connue, et bien plus encore.

Par exemple, si nous voulons mener une attaque par force brute, basée sur une liste d'utilisateurs (avec un fichier appelé users.txt) et une liste de mots de passe à tester (avec un fichier appelé keys.txt) vers un serveur SSH de un certain ordinateur qui a l'IP 99.99.99.99, nous pouvons mettre la commande suivante:

nmap -p 22 --script ssh-brute --script-args userdb=usarios.txt,passdb=claves.txt --script-args ssh-brute.timeout=4s 99.99.99.99

Nous vous recommandons de visiter le site officiel de NSE où vous trouverez tous les scripts qui sont actuellement dans cette grande base de données, en plus, vous aurez des exemples sur la façon de les utiliser.