Effectuer un scan de fenêtre 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 fenêtres dans Nmap, une compétence précieuse en matière de sécurité réseau. Le laboratoire commence par l'exécution d'un balayage de fenêtres de base sur une adresse IP cible, puis passe au balayage d'une plage de ports spécifique. Vous ajouterez également la verbeosité au balayage, enregistrerez les résultats dans un fichier, analyserez le balayage dans le terminal Xfce et le comparerez avec un balayage ACK. Cette expérience pratique vous aidera à mieux comprendre les capacités de balayage de fenêtres de Nmap.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/output_formats -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/save_output -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/port_scanning -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/scan_types -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/target_specification -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/verbosity -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} nmap/service_detection -.-> lab-547107{{"Effectuer un scan de fenêtre avec Nmap"}} end

Exécuter un balayage de fenêtres avec nmap -sW 192.168.1.1

Dans cette étape, nous allons effectuer un balayage de fenêtres à l'aide de Nmap. Un balayage de fenêtres est un type de balayage TCP qui peut parfois révéler plus d'informations sur les ports ouverts et filtrés que les autres types de balayage. Il est particulièrement utile lorsque des pare - feux sont en place et peuvent bloquer d'autres types de balayages.

Avant de commencer, parlons brièvement de ce que fait un balayage de fenêtres. Le balayage de fenêtres exploite une particularité de certaines implémentations TCP. Il envoie un paquet TCP avec le drapeau SYN défini vers l'hôte cible. Si le port est ouvert, la cible répond avec un paquet SYN/ACK. Nmap examine ensuite la taille de fenêtre TCP de la réponse. Sur la base de cette taille de fenêtre, Nmap peut déterminer si le port est ouvert ou filtré.

Maintenant, exécutons le balayage de fenêtres. Nous utiliserons la commande suivante :

nmap -sW 192.168.1.1

Remplacez 192.168.1.1 par l'adresse IP réelle de la cible que vous souhaitez scanner. Si vous n'êtes pas sûr de quelle adresse IP utiliser, vous pouvez utiliser l'adresse de bouclage 127.0.0.1 qui fait référence à votre propre machine.

Ouvrez votre terminal Xfce. Vous pouvez trouver l'icône du terminal sur le bureau ou dans le menu des applications.

Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

nmap -sW 127.0.0.1

Cette commande indique à Nmap d'effectuer un balayage de fenêtres (-sW) sur l'adresse de bouclage (127.0.0.1).

Vous devriez voir une sortie similaire à la suivante :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
Other addresses for localhost (alias(es)): localhost

PORT     STATE  SERVICE
135/tcp  closed msrpc
139/tcp  closed netbios-ssn
445/tcp  closed microsoft-ds

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

La sortie montre les ports ouverts, fermés ou filtrés sur la machine cible. Dans cet exemple, les ports 135, 139 et 445 sont fermés. Les ports spécifiques et leur état varieront selon le système cible.

Balayer une plage de ports avec nmap -sW -p 1-100 127.0.0.1

Dans cette étape, nous allons étendre le balayage de fenêtres en spécifiant une plage de ports. Cela nous permet de concentrer notre balayage sur un ensemble spécifique de ports, ce qui peut être utile pour identifier les services en cours d'exécution sur une machine cible.

Par défaut, Nmap balaye un ensemble prédéfini de ports couramment utilisés. Cependant, vous pouvez personnaliser le balayage pour cibler des ports spécifiques ou une plage de ports en utilisant l'option -p. Cela est particulièrement utile lorsque vous voulez vérifier si un service spécifique est en cours d'exécution sur un port non standard ou lorsque vous voulez limiter le temps de balayage en vous concentrant sur un ensemble plus réduit de ports.

Maintenant, exécutons le balayage de fenêtres avec une plage de ports. Nous utiliserons la commande suivante :

nmap -sW -p 1-100 127.0.0.1

Cette commande indique à Nmap d'effectuer un balayage de fenêtres (-sW) sur les ports de 1 à 100 (-p 1-100) de l'adresse de bouclage (127.0.0.1).

Ouvrez votre terminal Xfce.

Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

nmap -sW -p 1-100 127.0.0.1

Vous devriez voir une sortie similaire à la suivante :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http

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

La sortie montre les ports ouverts, fermés ou filtrés dans la plage spécifiée (1-100) sur la machine cible. Dans cet exemple, les ports 22, 25 et 80 sont fermés. Les ports spécifiques et leur état varieront selon le système cible.

Ajouter la verbeux avec nmap -v -sW 192.168.1.1

Dans cette étape, nous allons ajouter de la verbeux au balayage de fenêtres. La verbeux fournit des informations plus détaillées sur le processus de balayage, ce qui peut être utile pour le dépannage ou la compréhension des résultats.

L'option de verbeux de Nmap (-v) augmente la quantité d'informations affichées pendant le balayage. Cela peut inclure des détails sur les phases de balayage, les paquets envoyés et reçus, et les raisons pour lesquelles Nmap prend certaines décisions. Utiliser la verbeux peut être particulièrement utile lorsque vous essayez de diagnostiquer des problèmes de réseau ou lorsque vous voulez comprendre comment Nmap interprète les réponses de la cible.

Maintenant, exécutons le balayage de fenêtres avec la verbeux. Nous utiliserons la commande suivante :

nmap -v -sW 192.168.1.1

Remplacez 192.168.1.1 par l'adresse IP réelle de la cible que vous souhaitez scanner. Si vous n'êtes pas sûr de quelle adresse IP utiliser, vous pouvez utiliser l'adresse de bouclage 127.0.0.1 qui fait référence à votre propre machine.

Ouvrez votre terminal Xfce.

Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

nmap -v -sW 127.0.0.1

Cette commande indique à Nmap d'effectuer un balayage de fenêtres (-sW) sur l'adresse de bouclage (127.0.0.1) et d'augmenter le niveau de verbeux (-v).

Vous devriez voir une sortie similaire à la suivante (la sortie exacte variera) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Chargé 0 scripts pour le balayage.
Lancement du Balayage de Fenêtres à 10:10
Balayage de localhost (127.0.0.1) [1000 ports]
Découverte d'un port ouvert 22/tcp sur 127.0.0.1
Découverte d'un port ouvert 80/tcp sur 127.0.0.1
Terminé le Balayage de Fenêtres à 10:10, 0.12s écoulé (1000 ports au total)
Rapport de balayage Nmap pour localhost (127.0.0.1)
L'hôte est actif (0.000039s de latence).
Autres adresses pour localhost (alias(es)): localhost

PORT   ÉTAT  SERVICE
22/tcp ouvert ssh
80/tcp ouvert http

Lecture des fichiers de données à partir de : /usr/bin/../share/nmap
Nmap terminé : 1 adresse IP (1 hôte actif) balayé en 0.19 secondes

La sortie inclut désormais plus d'informations sur le processus de balayage, telles que les horaires de début et de fin, le nombre de ports balayés et tout script chargé. Les détails spécifiques varieront selon le système cible et la configuration de Nmap.

Enregistrer le balayage de fenêtres avec nmap -sW -oN window.txt 127.0.0.1

Dans cette étape, nous allons enregistrer les résultats du balayage de fenêtres dans un fichier. Cela est utile pour une analyse ultérieure ou pour partager les résultats avec d'autres.

Nmap propose plusieurs options pour enregistrer les résultats du balayage dans différents formats. L'option -oN enregistre les résultats au format "normal" lisible par l'homme. Ce format est facile à lire et à comprendre, mais il peut ne pas être adapté pour un parsage automatisé. D'autres options incluent -oX pour le format XML et -oS pour le format "script kiddie".

Maintenant, exécutons le balayage de fenêtres et enregistrons les résultats dans un fichier nommé window.txt dans le répertoire ~/project. Nous utiliserons la commande suivante :

nmap -sW -oN window.txt 127.0.0.1

Cette commande indique à Nmap d'effectuer un balayage de fenêtres (-sW) sur l'adresse de bouclage (127.0.0.1) et d'enregistrer les résultats au format normal (-oN) dans le fichier window.txt.

Ouvrez votre terminal Xfce.

Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

nmap -sW -oN window.txt 127.0.0.1

Vous devriez voir une sortie similaire à la suivante :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http

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

Les résultats du balayage sont désormais enregistrés dans le fichier window.txt dans votre répertoire ~/project.

Pour vérifier que le fichier a été créé et contient les résultats du balayage, vous pouvez utiliser la commande cat pour afficher le contenu du fichier :

cat window.txt

Vous devriez voir le rapport de balayage Nmap dans la sortie.

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Analyser le balayage de fenêtres dans le terminal Xfce

Dans cette étape, nous allons analyser les résultats du balayage de fenêtres que nous avons enregistrés dans le fichier window.txt dans l'étape précédente. Comprendre la sortie des balayages Nmap est crucial pour identifier les vulnérabilités potentielles et les risques de sécurité.

Le fichier window.txt contient un rapport lisible par l'homme des résultats du balayage. Le rapport inclut des informations sur l'hôte cible, les ports qui ont été balayés et l'état de chaque port.

Ouvrez votre terminal Xfce.

Tout d'abord, affichons le contenu du fichier window.txt en utilisant la commande cat :

cat window.txt

Vous devriez voir une sortie similaire à la suivante (la sortie exacte dépendra du système cible et des options de balayage utilisées) :

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Analysons les parties clés de cette sortie :

  • Nmap scan report for localhost (127.0.0.1) : Cette ligne indique que le balayage a été effectué sur l'adresse de bouclage 127.0.0.1.
  • Host is up : Cette ligne confirme que l'hôte cible est accessible.
  • PORT STATE SERVICE : Cette section liste les ports qui ont été balayés et leurs états et services correspondants.
  • 22/tcp closed ssh : Cette ligne indique que le port 22 (SSH) est fermé.
  • 25/tcp closed smtp : Cette ligne indique que le port 25 (SMTP) est fermé.
  • 80/tcp closed http : Cette ligne indique que le port 80 (HTTP) est fermé.

La colonne ÉTAT est particulièrement importante. Dans un balayage de fenêtres, les états possibles sont généralement ouvert, fermé ou filtré.

  • ouvert : Indique que le port est en écoute pour les connexions.
  • fermé : Indique que le port n'est pas en écoute pour les connexions, mais que l'hôte est accessible.
  • filtré : Indique que Nmap ne peut pas déterminer si le port est ouvert ou fermé car un filtrage réseau empêche Nmap d'atteindre le port.

Dans cet exemple, tous les ports balayés sont rapportés comme étant fermés. Cela signifie que l'hôte cible est accessible, mais qu'il n'accepte pas de connexions sur ces ports.

Vous pouvez utiliser ces informations pour identifier les vulnérabilités potentielles ou les risques de sécurité. Par exemple, si un port est inopinément ouvert, cela peut indiquer qu'un service vulnérable est en cours d'exécution sur ce port.

Maintenant, utilisons la commande grep pour trouver les ports ouverts dans le fichier window.txt.

grep "open" window.txt

Si aucun port n'est ouvert, la commande ne renverra aucune sortie. Dans notre exemple, la sortie est vide.

Comparaison avec un balayage ACK dans le terminal Xfce

Dans cette étape, nous allons effectuer un balayage ACK et comparer ses résultats avec le balayage de fenêtres que nous avons effectué précédemment. Cette comparaison nous aidera à comprendre les différences entre ces deux types de balayage et comment ils peuvent être utilisés pour recueillir différents types d'informations sur un système cible.

Un balayage ACK (-sA) envoie des paquets TCP ACK à l'hôte cible. Contrairement à un balayage SYN, un balayage ACK n'essaie pas d'établir une connexion. Au lieu de cela, il est utilisé pour déterminer si un pare-feu est présent et comment il traite les paquets ACK non sollicités.

Si un pare-feu est présent et configuré pour bloquer les paquets ACK non sollicités, le balayage ACK signalera tous les ports comme étant filtré. Si un pare-feu n'est pas présent ou est configuré pour autoriser les paquets ACK non sollicités, le balayage ACK signalera les ports comme étant soit non filtré soit fermé.

Maintenant, effectuons un balayage ACK sur l'adresse de bouclage (127.0.0.1) et enregistrons les résultats dans un fichier nommé ack.txt.

Ouvrez votre terminal Xfce.

Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

nmap -sA -oN ack.txt 127.0.0.1

Vous devriez voir une sortie similaire à la suivante :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE      SERVICE
22/tcp  unfiltered ssh
25/tcp  unfiltered smtp
80/tcp  unfiltered http

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

Maintenant, comparons les résultats du balayage ACK avec ceux du balayage de fenêtres.

Rappelez-vous la sortie du balayage de fenêtres (à partir de window.txt) :

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Dans le balayage de fenêtres, les ports ont été signalés comme étant fermés. Dans le balayage ACK, les ports sont signalés comme étant non filtrés. Cette différence est due à la manière dont ces deux types de balayage fonctionnent. Le balayage de fenêtres tente d'établir une connexion, tandis que le balayage ACK envoie seulement des paquets ACK.

L'état non filtré dans le balayage ACK signifie que Nmap ne peut pas déterminer si le port est ouvert ou fermé car les paquets ACK ne sont pas filtrés. Cela pourrait indiquer qu'il n'y a pas de pare-feu présent, ou que le pare-feu est configuré pour autoriser les paquets ACK non sollicités.

Vous pouvez également utiliser la commande cat pour afficher le contenu du fichier ack.txt :

cat ack.txt

Vous devriez voir le rapport de balayage Nmap dans la sortie.

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE      SERVICE
22/tcp  unfiltered ssh
25/tcp  unfiltered smtp
80/tcp  unfiltered http

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

Sommaire

Dans ce laboratoire, les participants apprennent à effectuer un balayage de fenêtres dans Nmap. Ils commencent par exécuter un balayage de fenêtres de base en utilisant la commande nmap -sW suivie d'une adresse IP, en comprenant comment elle exploite les particularités de la mise en œuvre TCP pour révéler les états des ports. Ils balayent ensuite une plage de ports spécifique avec nmap -sW -p 1-100, ajoutent de la détail au balayage en utilisant -v et enregistrent les résultats du balayage dans un fichier avec -oN. Enfin, ils analysent le balayage de fenêtres et le comparent avec un balayage ACK dans le terminal Xfce.