Effectuer un scan de ports avec Nmap

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à effectuer un balayage de ports à l'aide de Nmap. Le laboratoire couvre différents types de scans, y compris le scan TCP connect, le scan SYN, le scan de ports spécifiques, de plages de ports et des ports les plus courants. Vous allez exécuter des commandes telles que nmap -sT, nmap -sS et d'autres sur différentes adresses IP et plages, puis vérifier les résultats dans le terminal Xfce.

Chaque type de scan a ses propres caractéristiques et cas d'utilisation. Par exemple, le scan TCP connect effectue la totalité de la main - shake TCP en trois étapes, ce qui est fiable mais moins discrètement. À la fin du laboratoire, vous aurez une meilleure compréhension de la manière d'utiliser Nmap pour effectuer un balayage de ports.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/tcp_connect_scan("Basic TCP Connect Scan") nmap/NmapGroup -.-> nmap/common_ports("Common Ports Scanning") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} nmap/common_ports -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} nmap/port_scanning -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} nmap/target_specification -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} nmap/syn_scan -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} nmap/stealth_scanning -.-> lab-530176{{"Effectuer un scan de ports avec Nmap"}} end

Exécutez un scan TCP connect avec nmap -sT 127.0.0.1

Dans cette étape, vous allez apprendre à effectuer un scan TCP connect à l'aide de Nmap. Un scan TCP connect est une forme de base de balayage TCP qui effectue la totalité de la main - shake TCP en trois étapes pour établir une connexion avec la cible. Cette méthode est moins discrète que les autres types de scans, mais elle est fiable et ne nécessite pas de privilèges spéciaux.

Avant de commencer, comprenons la main - shake TCP en trois étapes :

  1. SYN (Synchronize) : Le scanner envoie un paquet SYN à la cible.
  2. SYN/ACK (Synchronize/Acknowledge) : Si le port est ouvert, la cible répond avec un paquet SYN/ACK.
  3. ACK (Acknowledge) : Le scanner termine la connexion en envoyant un paquet ACK à la cible.

L'option -sT de Nmap effectue ce scan TCP connect complet. Étant donné qu'il termine la connexion TCP, il est facilement enregistré par le système cible.

Maintenant, effectuons un scan TCP connect sur 127.0.0.1 (localhost). Cette adresse fait toujours référence à votre propre machine.

  1. Ouvrez le terminal Xfce.

  2. Exécutez la commande suivante :

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. Vous devrez saisir votre mot de passe. Étant donné que l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

  1. Observez la sortie. Vous devriez voir une liste des ports ouverts sur votre machine locale. La sortie ressemblera à ceci :
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000063s latency).
Other addresses for localhost: ::1

PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    closed smtp
80/tcp    closed http
111/tcp   closed rpcbind
139/tcp   closed netbios-ssn
445/tcp   closed microsoft-ds
631/tcp   closed ipp
3306/tcp  closed mysql
5432/tcp  closed postgresql
8080/tcp  closed http-proxy
8443/tcp  closed https-alt
9090/tcp  closed zeus-admin
10000/tcp closed snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

La sortie montre les ports qui sont ouverts, fermés ou filtrés sur le système cible. Dans ce cas, il est en train de scanner votre propre machine. La colonne STATE indique l'état de chaque port. open signifie que Nmap a été capable d'établir une connexion TCP à ce port. closed signifie que Nmap a reçu un paquet TCP reset (RST) en réponse à son paquet SYN.

Exécutez un scan SYN avec nmap -sS 192.168.1.1

Dans cette étape, vous allez apprendre à effectuer un scan SYN (également connu sous le nom de "scan semi - ouvert") à l'aide de Nmap. Un scan SYN est une technique plus discrète qu'un scan TCP connect car il ne termine pas la totalité de la main - shake TCP en trois étapes.

Voici comment fonctionne un scan SYN :

  1. SYN (Synchronize) : Le scanner envoie un paquet SYN à la cible.
  2. SYN/ACK (Synchronize/Acknowledge) : Si le port est ouvert, la cible répond avec un paquet SYN/ACK.
  3. RST (Reset) : Au lieu d'envoyer un ACK pour terminer la connexion, le scanner envoie un paquet RST pour interrompre brutalement la connexion.

Étant donné que la connexion TCP complète n'est jamais établie, les scans SYN sont moins susceptibles d'être enregistrés par le système cible comparativement aux scans TCP connect. Cependant, les scans SYN nécessitent généralement des privilèges root pour créer des paquets bruts.

L'option -sS de Nmap effectue un scan SYN.

Maintenant, effectuons un scan SYN sur 192.168.1.1. Notez : Cette adresse IP est probablement une adresse IP privée sur un réseau local. Assurez - vous d'avoir la permission de scanner cette adresse. Dans un scénario réel, scanner un réseau sans autorisation est illégal. Dans le cadre de ce laboratoire, nous supposerons que cette adresse IP représente une cible sûre dans votre environnement de test. Si vous n'avez pas de dispositif à cette adresse, le scan montrera probablement tous les ports comme filtrés.

  1. Ouvrez le terminal Xfce.

  2. Exécutez la commande suivante :

sudo nmap -sS 192.168.1.1

Cette commande indique à Nmap d'effectuer un scan SYN (-sS) sur l'adresse IP 192.168.1.1. Vous devrez saisir votre mot de passe. Étant donné que l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

  1. Observez la sortie. La sortie variera selon le système cible. Elle pourrait ressembler à ceci :
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp closed https

Nmap done: 1 IP address (1 host up) scanned in 2.58 seconds

La sortie montre les ports qui sont ouverts, fermés ou filtrés sur le système cible. La colonne STATE indique l'état de chaque port. open signifie que Nmap a reçu un paquet SYN/ACK en réponse à son paquet SYN. closed signifie que Nmap a reçu un paquet RST. filtered signifie que Nmap n'a pas pu déterminer si le port est ouvert ou fermé car un filtrage réseau empêche Nmap d'atteindre le port.

Scan des ports spécifiques avec nmap -p 22,80 192.168.1.1

Dans cette étape, vous allez apprendre à scanner des ports spécifiques sur un système cible à l'aide de Nmap. Cela est utile lorsque vous voulez concentrer votre scan sur des services ou applications particuliers que vous soupçonnez de fonctionner sur la cible.

L'option -p de Nmap vous permet de spécifier les ports que vous voulez scanner. Vous pouvez spécifier des ports individuels, une plage de ports ou une combinaison des deux. Dans ce cas, nous allons scanner les ports 22 et 80 sur l'adresse IP 192.168.1.1.

  • Le port 22 est couramment utilisé pour SSH (Secure Shell), un protocole d'accès distant sécurisé.
  • Le port 80 est couramment utilisé pour HTTP (Hypertext Transfer Protocol), le protocole utilisé pour la navigation web.

Note : Comme dans l'étape précédente, 192.168.1.1 est probablement une adresse IP privée sur un réseau local. Assurez-vous d'avoir la permission de scanner cette adresse. Dans un scénario réel, scanner un réseau sans autorisation est illégal. Dans le cadre de ce laboratoire, nous supposerons que cette adresse IP représente une cible sûre dans votre environnement de test. Si vous n'avez pas de dispositif à cette adresse, le scan montrera probablement les ports comme filtrés ou fermés.

  1. Ouvrez le terminal Xfce.

  2. Exécutez la commande suivante :

sudo nmap -p 22,80 192.168.1.1

Cette commande indique à Nmap de scanner les ports 22 et 80 (-p 22,80) sur l'adresse IP 192.168.1.1. Nmap utilisera le scan SYN par défaut à moins d'être spécifié autrement. Vous devrez saisir votre mot de passe. Étant donné que l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

  1. Observez la sortie. La sortie variera selon le système cible. Elle pourrait ressembler à ceci :
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

La sortie montre l'état des ports 22 et 80 sur le système cible. open signifie que Nmap a reçu un paquet SYN/ACK en réponse à son paquet SYN, indiquant que le port est en écoute pour les connexions.

Scan une plage de ports avec nmap -p 1-100 127.0.0.1

Dans cette étape, vous allez apprendre à scanner une plage de ports sur un système cible à l'aide de Nmap. Cela est utile lorsque vous voulez identifier tous les ports ouverts dans une plage spécifique, ce qui peut vous aider à comprendre les services en cours d'exécution sur la cible.

Comme vous l'avez appris dans l'étape précédente, l'option -p de Nmap vous permet de spécifier les ports que vous voulez scanner. Pour scanner une plage de ports, vous pouvez utiliser la syntaxe start - end, où start est le numéro de port de départ et end est le numéro de port de fin. Dans ce cas, nous allons scanner les ports de 1 à 100 sur l'adresse IP 127.0.0.1.

127.0.0.1 est l'adresse de bouclage, également connue sous le nom de localhost. Elle fait toujours référence à la machine actuelle. Scanner 127.0.0.1 est sécurisé et ne nécessite pas de permissions spéciales.

  1. Ouvrez le terminal Xfce.

  2. Exécutez la commande suivante :

nmap -p 1-100 127.0.0.1

Cette commande indique à Nmap de scanner les ports de 1 à 100 (-p 1-100) sur l'adresse IP 127.0.0.1. Étant donné que nous sommes en train de scanner la machine locale, sudo n'est pas nécessaire. Nmap utilisera le scan SYN par défaut à moins d'être spécifié autrement, mais puisque nous n'utilisons pas sudo, il utilisera un scan TCP connect.

  1. Observez la sortie. La sortie variera selon les services en cours d'exécution sur votre VM LabEx. Elle pourrait ressembler à ceci :
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000081s latency).
Not shown: 97 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
631/tcp open  ipp
992/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

La sortie montre l'état des ports de 1 à 100 sur la machine locale. open signifie que Nmap a pu établir une connexion TCP au port, indiquant que le port est en écoute pour les connexions. closed signifie que Nmap a reçu un paquet RST, indiquant que le port n'est pas en écoute. filtered signifie que Nmap n'a pas pu déterminer si le port est ouvert ou fermé.

Scan les ports les plus courants avec nmap --top-ports 10 192.168.1.0/24

Dans cette étape, vous allez apprendre à scanner les ports les plus courants sur un réseau à l'aide de Nmap. Cela est utile lorsque vous voulez rapidement identifier les services les plus probables en cours d'exécution sur une plage d'hôtes. Nmap maintient une liste des ports les plus fréquemment utilisés, et l'option --top-ports vous permet de scanner un nombre spécifié de ces ports.

L'option --top-ports indique à Nmap de scanner le nombre spécifié de ports les plus courants, en se basant sur la liste de fréquence des services de Nmap. Cette liste est compilée à partir de données statistiques recueillies au cours de nombreuses années de balayage de réseau.

Dans ce cas, nous allons scanner les 10 ports les plus courants sur le réseau 192.168.1.0/24.

  • 192.168.1.0/24 est une notation CIDR (Classless Inter-Domain Routing) qui représente une plage de réseau. Le /24 indique que les 24 premiers bits de l'adresse IP sont fixes, ce qui signifie que le réseau inclut toutes les adresses IP de 192.168.1.0 à 192.168.1.255.

Important : Scannez une plage de réseau peut potentiellement avoir un impact sur les performances du réseau et peut être considéré comme intrusif. Assurez-vous d'avoir la permission de scanner le réseau avant de continuer. Dans le cadre de ce laboratoire, nous supposerons que cette adresse IP représente une cible sûre dans votre environnement de test. Si vous n'avez pas de réseau à cette adresse, le scan ne trouvera probablement aucun port ouvert.

  1. Ouvrez le terminal Xfce.

  2. Exécutez la commande suivante :

sudo nmap --top-ports 10 192.168.1.0/24

Cette commande indique à Nmap de scanner les 10 ports les plus courants (--top-ports 10) sur le réseau 192.168.1.0/24. Vous devrez saisir votre mot de passe. Étant donné que l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée. Nmap utilisera le scan SYN par défaut.

  1. Observez la sortie. La sortie variera selon les dispositifs de votre réseau. Elle pourrait ressembler à ceci :
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   open  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   open  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap scan report for 192.168.1.2
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   filtered  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   filtered  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.52 seconds

La sortie montre l'état des 10 ports les plus courants sur chaque hôte dans la plage de réseau. open signifie que Nmap a reçu un paquet SYN/ACK en réponse à son paquet SYN, indiquant que le port est en écoute pour les connexions. filtered signifie que Nmap n'a pas pu déterminer si le port est ouvert ou fermé, généralement parce qu'un pare-feu bloque la connexion.

Vérifier les résultats dans le terminal Xfce

Dans cette étape, vous allez réviser les résultats des balayages Nmap que vous avez effectués dans les étapes précédentes. Le terminal Xfce affiche la sortie de chaque commande, vous permettant d'analyser les résultats du balayage et d'identifier les ports ouverts et les services sur les systèmes cibles.

  1. Réviser la sortie du scan TCP connect :

    Faites défiler vers le haut dans le terminal Xfce pour trouver la sortie de la commande nmap -sT 127.0.0.1. Ce scan a utilisé la méthode de scan TCP connect pour déterminer l'état des ports sur votre machine locale. Recherchez la colonne ÉTAT pour voir si un port est ouvert, fermé ou filtré.

  2. Réviser la sortie du scan SYN :

    Trouvez la sortie de la commande sudo nmap -sS 192.168.1.1. Ce scan a utilisé la méthode de scan SYN, qui est généralement plus rapide et plus discrète que le scan TCP connect. Encore une fois, examinez la colonne ÉTAT pour déterminer l'état des ports balayés.

  3. Réviser la sortie du scan de port spécifique :

    Localisez la sortie de la commande sudo nmap -p 22,80 192.168.1.1. Ce scan a ciblé les ports 22 et 80 sur l'adresse IP spécifiée. Vérifiez la sortie pour voir si ces ports sont ouverts, fermés ou filtrés.

  4. Réviser la sortie du scan de plage de ports :

    Trouvez la sortie de la commande nmap -p 1-100 127.0.0.1. Ce scan a balayé les ports de 1 à 100 sur votre machine locale. Analysez la sortie pour identifier tout port ouvert dans cette plage.

  5. Réviser la sortie du scan des ports les plus courants :

    Localisez la sortie de la commande sudo nmap --top-ports 10 192.168.1.0/24. Ce scan a balayé les 10 ports les plus courants sur le réseau spécifié. Examinez la sortie pour voir quels de ces ports sont ouverts sur les hôtes du réseau.

En révisant les résultats de ces scans, vous pouvez obtenir des informations précieuses sur les services en cours d'exécution sur votre réseau et identifier des vulnérabilités de sécurité potentiellement dangereuses. Rappelez-vous que la sortie spécifique variera selon la configuration de votre VM LabEx et du réseau que vous êtes en train de scanner.

Sommaire

Dans ce laboratoire, vous avez appris à effectuer divers scans de ports à l'aide de Nmap. Vous avez effectué un scan TCP connect avec l'option -sT sur 127.0.0.1, en comprenant la totalité de la main - shake TCP en trois étapes. Vous avez également exécuté un scan SYN avec -sS sur 192.168.1.1, scanné des ports spécifiques avec -p 22,80 sur 192.168.1.1, scanné une plage de ports avec -p 1 - 100 sur 127.0.0.1 et scanné les ports les plus courants avec --top - ports 10 sur 192.168.1.0/24. Tous les résultats ont été vérifiés dans le terminal Xfce.