Effectuer des analyses de ports avec Nmap

NmapBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à effectuer diverses analyses de ports à l'aide de Nmap, un outil puissant d'analyse de réseau. Vous explorerez différents types de scans, notamment le scan TCP connect, le scan SYN, et les techniques de scan de ports spécifiques, de plages de ports et des "ports principaux" les plus courants. À la fin de ce laboratoire, vous aurez une compréhension pratique de l'utilisation de Nmap pour découvrir les ports et services ouverts sur un système cible, compétence fondamentale en reconnaissance réseau et en audit de sécurité.

Chaque type de scan possède des caractéristiques et des cas d'utilisation uniques. Par exemple, le scan TCP connect effectue la totalité de la procédure à trois voies de la connexion TCP, ce qui le rend fiable mais facilement détectable. En revanche, le scan SYN est plus furtif car il n'achève pas la procédure de connexion. Vous exécuterez des commandes Nmap dans le terminal Xfce et analyserez la sortie pour comprendre l'état des différents ports.

Exécuter un scan TCP Connect avec nmap -sT 127.0.0.1

Dans cette étape, vous effectuerez un scan TCP connect à l'aide de Nmap. Il s'agit d'une forme de scan TCP basique et fiable qui complète la procédure à trois voies de la connexion TCP pour établir une connexion avec le port cible. Bien que fiable, cette méthode est moins discrète que d'autres types de scan car elle établit et déconnecte complètement une connexion, ce qui peut être facilement enregistré par le système cible.

Passons brièvement en revue la procédure à trois voies de la connexion TCP :

  1. SYN (Synchronisation) : Le scanner envoie un paquet SYN au port cible.
  2. SYN/ACK (Synchronisation/Accusé de réception) : Si le port est ouvert, le système cible répond par un paquet SYN/ACK.
  3. ACK (Accusé de réception) : Le scanner complète la connexion en envoyant un paquet ACK au système cible.

L'option -sT de Nmap effectue explicitement ce scan TCP connect complet. Puisqu'il complète la connexion TCP, il ne nécessite pas de privilèges root, mais nous utiliserons sudo pour la cohérence avec les étapes suivantes qui en ont besoin.

Maintenant, effectuons un scan TCP connect sur 127.0.0.1 (l'hôte local). Cette adresse IP fait toujours référence à votre propre machine, ce qui en fait une cible sûre pour la pratique.

  1. Ouvrez le terminal Xfce. Vous devriez être dans votre répertoire personnel, ~/project.

  2. Exécutez la commande suivante pour effectuer le scan TCP connect :

    sudo nmap -sT 127.0.0.1

    Cette commande indique à Nmap d'effectuer un scan TCP connect (-sT) sur l'adresse IP 127.0.0.1. L'utilisateur labex possède les privilèges sudo sans mot de passe, vous pouvez donc simplement appuyer sur Entrée si vous y êtes invité.

  3. Observez la sortie dans le terminal. Vous verrez une liste des ports courants et de leur état sur votre machine locale. La sortie ressemblera à ceci :

    Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 13 :36 CEST
    Rapport de scan Nmap pour localhost (127.0.0.1)
    Hôte actif (latence de 0,000052 s).
    Non affiché : 995 ports fermés
    PORT     ÉTAT SERVICE
    22/tcp   ouvert ssh
    2121/tcp ouvert ccproxy-ftp
    2222/tcp ouvert EtherNetIP-1
    3001/tcp ouvert nessus
    8080/tcp ouvert http-proxy
    
    Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,04 secondes

    La sortie indique le numéro de PORT, son ÉTAT et le SERVICE que Nmap associe à ce port.

    • ouvert signifie que Nmap a réussi à établir une connexion TCP à ce port.
    • fermé signifie que Nmap a reçu un paquet TCP RST (Reset) en réponse à son paquet SYN, indiquant que le port n'écoute pas.
    • Notez que les ports 22, 2121, 2222, 3001 et 8080 sont ouverts. Les services personnalisés (2121, 2222, 8080) ont été configurés par l'environnement du laboratoire, ainsi que SSH sur le port 22 et un autre service sur le port 3001.

Exécuter un scan SYN avec nmap -sS 127.0.0.1

Dans cette étape, vous apprendrez à effectuer un scan SYN, également appelé scan « semi-ouvert ». Cette technique est généralement plus furtive qu'un scan TCP connect car elle n'achève pas la procédure à trois voies de la connexion TCP, ce qui la rend moins susceptible d'être enregistrée par les applications du système cible.

Voici comment fonctionne un scan SYN :

  1. SYN (Synchronisation) : Le scanner envoie un paquet SYN au port cible.
  2. SYN/ACK (Synchronisation/Accusé de réception) : Si le port est ouvert, le système cible répond par un paquet SYN/ACK.
  3. RST (Réinitialisation) : Au lieu d'envoyer un ACK pour compléter la connexion, le scanner envoie immédiatement un paquet RST pour interrompre brutalement la connexion.

Comme la connexion TCP complète n'est jamais établie, les scans SYN sont moins intrusifs et contournent souvent les règles de pare-feu plus simples qui surveillent uniquement les connexions établies. Cependant, les scans SYN nécessitent généralement des privilèges root pour créer des paquets bruts, c'est pourquoi nous utiliserons sudo.

Maintenant, effectuons un scan SYN sur 127.0.0.1.

  1. Assurez-vous que vous êtes dans le terminal Xfce.

  2. Exécutez la commande suivante :

    sudo nmap -sS 127.0.0.1

    Cette commande indique à Nmap d'effectuer un scan SYN (-sS) sur l'adresse IP 127.0.0.1. Appuyez sur Entrée si vous êtes invité à saisir un mot de passe.

  3. Observez la sortie. La sortie sera similaire au scan TCP connect, mais le mécanisme sous-jacent est différent.

    Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 13 :36 CEST
    Rapport de scan Nmap pour localhost (127.0.0.1)
    Hôte actif (latence de 0,0000040 s).
    Non affiché : 995 ports fermés
    PORT     ÉTAT SERVICE
    22/tcp   ouvert ssh
    2121/tcp ouvert ccproxy-ftp
    2222/tcp ouvert EtherNetIP-1
    3001/tcp ouvert nessus
    8080/tcp ouvert http-proxy
    
    Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,10 secondes

    La colonne ÉTAT indique l'état de chaque port.

    • ouvert signifie que Nmap a reçu un paquet SYN/ACK en réponse à son paquet SYN.
    • fermé signifie que Nmap a reçu un paquet RST.
    • filtré (que vous pourriez voir dans d'autres scénarios) signifie que Nmap n'a pas pu déterminer si le port est ouvert ou fermé car un filtrage réseau (comme un pare-feu) empêche Nmap d'atteindre le port.

Scanner des ports spécifiques avec nmap -p 2222,8080,2121 127.0.0.1

Dans cette étape, vous apprendrez à scanner des ports spécifiques sur un système cible à l'aide de Nmap. Ceci est particulièrement utile lorsque vous souhaitez concentrer votre scan sur des services ou applications spécifiques que vous soupçonnez d'être en cours d'exécution sur la cible, plutôt que de scanner tous les ports courants.

L'option -p de Nmap vous permet de spécifier les ports exacts que vous souhaitez scanner. Vous pouvez spécifier des ports individuels séparés par des virgules, une plage de ports ou une combinaison des deux. Dans ce cas, nous allons scanner les ports 2222, 8080 et 2121 sur 127.0.0.1. Ce sont les services TCP personnalisés qui ont été configurés par le script d'initialisation de l'environnement de laboratoire.

  • Le port 2222 est configuré pour exécuter un service SSH.
  • Le port 8080 est configuré pour exécuter un serveur web Nginx.
  • Le port 2121 est configuré pour exécuter un service FTP.
  1. Assurez-vous que vous êtes dans le terminal Xfce.

  2. Exécutez la commande suivante :

    sudo nmap -p 2222,8080,2121 127.0.0.1

    Cette commande indique à Nmap de scanner uniquement les ports 2222, 8080 et 2121 (-p 2222,8080,2121) sur l'adresse IP 127.0.0.1. Nmap utilisera la méthode de scan SYN par défaut étant donné que sudo est utilisé. Appuyez sur Entrée si vous êtes invité à saisir un mot de passe.

  3. Observez la sortie. Vous devriez voir que les trois ports spécifiés sont signalés comme ouverts.

    Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 13 :36 CEST
    Rapport de scan Nmap pour localhost (127.0.0.1)
    Hôte actif (latence de 0,000028 s).
    
    PORT     ÉTAT SERVICE
    2121/tcp ouvert ccproxy-ftp
    2222/tcp ouvert EtherNetIP-1
    8080/tcp ouvert http-proxy
    
    Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,10 secondes

    La sortie confirme l'état des ports spécifiés. ouvert signifie que Nmap a reçu un paquet SYN/ACK, indiquant que le port écoute activement les connexions.

Scanner une plage de ports avec nmap -p 1-9000 127.0.0.1

Dans cette étape, vous apprendrez à scanner une plage de ports sur un système cible à l'aide de Nmap. Ceci est utile lorsque vous souhaitez identifier tous les ports ouverts dans une plage numérique spécifique, ce qui peut vous aider à découvrir les services exécutés sur des ports non standard.

Comme vous l'avez appris dans l'étape précédente, l'option -p de Nmap vous permet de spécifier des ports. Pour scanner une plage de ports, vous utilisez la syntaxe début-fin, où début est le numéro de port de départ et fin est le numéro de port de fin. Dans ce cas, nous allons scanner les ports 1 à 9000 sur 127.0.0.1. Cette plage est choisie pour inclure les services personnalisés (2121, 2222, 8080) configurés dans votre environnement de laboratoire.

  1. Assurez-vous que vous êtes dans le terminal Xfce.

  2. Exécutez la commande suivante :

    sudo nmap -p 1-9000 127.0.0.1

    Cette commande indique à Nmap de scanner les ports 1 à 9000 (-p 1-9000) sur l'adresse IP 127.0.0.1. Nmap utilisera la méthode de scan SYN par défaut. Appuyez sur Entrée si vous êtes invité à saisir un mot de passe.

  3. Observez la sortie. Vous verrez une liste de tous les ports ouverts dans la plage spécifiée. Cela peut prendre un peu plus de temps que le scan de ports spécifiques en raison du plus grand nombre de ports vérifiés.

    Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 13 :36 CEST
    Rapport de scan Nmap pour localhost (127.0.0.1)
    Hôte actif (latence de 0,0000020 s).
    Non affiché : 8992 ports fermés
    PORT     ÉTAT SERVICE
    22/tcp   ouvert  ssh
    953/tcp  ouvert  rndc
    2121/tcp ouvert ccproxy-ftp
    2222/tcp ouvert EtherNetIP-1
    3001/tcp ouvert nessus
    3002/tcp ouvert exlm-agent
    5353/tcp ouvert mdns
    8080/tcp ouvert http-proxy
    
    Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,16 secondes

    La sortie affiche l'état des ports compris dans la plage 1-9000 sur votre machine locale. Vous devriez voir les ports personnalisés (2121, 2222, 8080) répertoriés comme ouverts, ainsi que d'autres services en cours d'exécution tels que SSH (22), des services liés au DNS (953, 5353) et des services supplémentaires (3001, 3002). Non affiché : 8992 ports fermés indique que Nmap affiche uniquement les ports ouverts ou filtrés par défaut lors du scan d'une large plage.

Scanner les ports les plus utilisés avec nmap --top-ports 10 127.0.0.1

Dans cette étape, vous apprendrez à scanner les ports les plus courants sur un système cible à l'aide de l'option --top-ports de Nmap. Ceci est utile pour identifier rapidement les services les plus probables en cours d'exécution sur un hôte sans scanner les 65 535 ports possibles. Nmap maintient une liste interne des ports les plus fréquemment utilisés, compilée à partir de données statistiques.

L'option --top-ports indique à Nmap de scanner un nombre spécifié de ces ports les plus courants. Par exemple, --top-ports 10 permettra de scanner les 10 ports TCP les plus courants.

Dans ce cas, nous allons scanner les 10 ports les plus courants sur 127.0.0.1.

  1. Assurez-vous que vous êtes dans le terminal Xfce.

  2. Exécutez la commande suivante :

    sudo nmap --top-ports 10 127.0.0.1

    Cette commande indique à Nmap de scanner les 10 ports les plus courants (--top-ports 10) sur l'adresse IP 127.0.0.1. Nmap utilisera la méthode de scan SYN par défaut. Appuyez sur Entrée si vous êtes invité à saisir un mot de passe.

  3. Observez la sortie. Vous verrez l'état des 10 ports les plus courants sur votre machine locale.

    Démarrage de Nmap 7.80 ( https://nmap.org ) le 2025-06-03 13 :36 CEST
    Rapport de scan Nmap pour localhost (127.0.0.1)
    Hôte actif (latence de 0,000010 s).
    
    PORT     ÉTAT  SERVICE
    21/tcp   fermé ftp
    22/tcp   ouvert ssh
    23/tcp   fermé telnet
    25/tcp   fermé smtp
    80/tcp   fermé http
    110/tcp  fermé pop3
    139/tcp  fermé netbios-ssn
    443/tcp  fermé https
    445/tcp  fermé microsoft-ds
    3389/tcp fermé ms-wbt-server
    
    Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 0,09 secondes

    La sortie affiche l'état des 10 ports les plus courants. Vous remarquerez peut-être que certains ports personnalisés (comme 8080, 2121, 2222) ne figurent pas dans cette liste, car ils ne font pas partie des 10 ports les plus courants au niveau mondial, mais plutôt spécifiques à notre configuration de laboratoire. Cela démontre que si --top-ports est efficace, il pourrait manquer des services moins courants mais tout aussi importants.

Résumé

Dans ce laboratoire, vous avez appris à effectuer diverses analyses de ports à l'aide de Nmap. Vous avez effectué un scan TCP connect avec l'option -sT sur 127.0.0.1, comprenant le processus complet de la poignée de main à trois voies TCP. Vous avez également exécuté un scan SYN avec -sS sur 127.0.0.1, qui est un scan plus furtif à moitié ouvert. Vous avez pratiqué le scan de ports spécifiques en utilisant -p 2222,8080,2121 et une plage de ports plus large avec -p 1-9000 sur 127.0.0.1. Enfin, vous avez appris à scanner efficacement les ports les plus courants en utilisant --top-ports 10 sur 127.0.0.1. Grâce à ces exercices pratiques, vous avez acquis une expérience pratique dans l'interprétation des résultats de Nmap et la compréhension des différents types de scans pour la reconnaissance de réseau.