Comparer les résultats d'analyse dans 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 à comparer les résultats des scans dans Nmap. Le laboratoire consiste à effectuer des scans SYN et TCP contre une adresse IP cible, à enregistrer les résultats dans des fichiers distincts, puis à comparer ces fichiers à l'aide de la commande diff. Vous allez également explorer les scans détaillés et analyser les différences observées dans le terminal Xfce.

Le processus commence par l'exécution d'un scan SYN à l'aide de nmap -sS -oN syn.txt 192.168.1.1 et d'un scan TCP à l'aide de nmap -sT -oN tcp.txt 192.168.1.1, en enregistrant les résultats dans syn.txt et tcp.txt respectivement. Ces fichiers sont ensuite comparés à l'aide de diff syn.txt tcp.txt. De plus, des scans détaillés sont effectués avec nmap -v -sS 127.0.0.1 et nmap -v -sT 127.0.0.1, et les notes de comparaison sont enregistrées dans l'éditeur de texte Xfce pour être analysées dans le terminal Xfce.


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/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-547091{{"Comparer les résultats d'analyse dans Nmap"}} nmap/save_output -.-> lab-547091{{"Comparer les résultats d'analyse dans Nmap"}} nmap/timing_performance -.-> lab-547091{{"Comparer les résultats d'analyse dans Nmap"}} nmap/verbosity -.-> lab-547091{{"Comparer les résultats d'analyse dans Nmap"}} nmap/syn_scan -.-> lab-547091{{"Comparer les résultats d'analyse dans Nmap"}} end

Exécuter un scan SYN et enregistrer avec nmap -sS -oN syn.txt 192.168.1.1

Dans cette étape, vous allez effectuer un scan SYN à l'aide de Nmap et enregistrer la sortie dans un fichier. Un scan SYN, également connu sous le nom de scan semi-ouvert, est un type de scan de port TCP qui tente de déterminer l'état des ports TCP sur un système cible. Il est appelé "semi-ouvert" car l'hôte de scan ne termine pas la mainmise de connexion TCP. Au lieu de cela, il envoie un paquet SYN et analyse la réponse. Cette technique est plus discrète qu'un scan de connexion TCP complet car elle n'établit pas une connexion complète, évitant potentiellement la détection par certains pare-feu et systèmes de détection d'intrusions.

Voici une décomposition de la commande :

  • nmap : Le scanner de ligne de commande Nmap.
  • -sS : Spécifie la technique de scan SYN.
  • -oN syn.txt : Spécifie que la sortie devrait être enregistrée au format normal (lisible par l'homme) dans un fichier nommé syn.txt.
  • 192.168.1.1 : L'adresse IP cible à scanner. Remplacez cela par l'adresse IP réelle de la cible que vous souhaitez scanner. Si vous exécutez ce laboratoire dans un environnement virtuel, vous pouvez utiliser 127.0.0.1 (localhost) comme cible.

Exécutons la commande. Tout d'abord, assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Maintenant, exécutez le scan SYN :

sudo nmap -sS -oN syn.txt 192.168.1.1

Remarque : Vous pouvez peut-être avoir besoin de privilèges sudo pour effectuer un scan SYN, car cela nécessite l'envoi de paquets bruts. Si vous utilisez une autre adresse IP cible, remplacez 192.168.1.1 par l'IP correcte. Si vous scannez localhost, vous pouvez utiliser 127.0.0.1.

Une fois le scan terminé, vous pouvez afficher le contenu du fichier syn.txt à l'aide d'un éditeur de texte ou de la commande cat :

cat syn.txt

La sortie montrera les ports ouverts et autres informations recueillies pendant le scan. La sortie exacte dépendra du système cible et de sa configuration.

Exemple de sortie (la sortie spécifique variera) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Cette sortie indique que les ports 22, 80 et 443 sont ouverts sur le système cible. Les ports "filtrés" signifient que Nmap n'a pas pu déterminer si ces ports étaient ouverts ou fermés en raison de règles de pare-feu ou de conditions réseau.

Exécuter un scan TCP et enregistrer avec nmap -sT -oN tcp.txt 192.168.1.1

Dans cette étape, vous allez effectuer un scan de connexion TCP à l'aide de Nmap et enregistrer la sortie dans un fichier. Un scan de connexion TCP, spécifié par l'option -sT, est une forme de base de scan TCP où Nmap tente d'établir une connexion TCP complète avec l'hôte cible sur chaque port. Cela implique de compléter la mainmise en trois étapes (SYN, SYN-ACK, ACK). Bien que fiable, cette méthode est également facilement détectable, car le système cible enregistre la connexion.

Voici une décomposition de la commande :

  • nmap : Le scanner de ligne de commande Nmap.
  • -sT : Spécifie la technique de scan de connexion TCP.
  • -oN tcp.txt : Spécifie que la sortie devrait être enregistrée au format normal (lisible par l'homme) dans un fichier nommé tcp.txt.
  • 192.168.1.1 : L'adresse IP cible à scanner. Remplacez cela par l'adresse IP réelle de la cible que vous souhaitez scanner. Si vous exécutez ce laboratoire dans un environnement virtuel, vous pouvez utiliser 127.0.0.1 (localhost) comme cible.

Exécutons la commande. Tout d'abord, assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Maintenant, exécutez le scan de connexion TCP :

sudo nmap -sT -oN tcp.txt 192.168.1.1

Remarque : Bien que sudo ne soit pas strictement nécessaire pour un scan de connexion TCP, il est bon de le utiliser pour la cohérence et pour éviter les problèmes potentiels de permissions. Si vous utilisez une autre adresse IP cible, remplacez 192.168.1.1 par l'IP correcte. Si vous scannez localhost, vous pouvez utiliser 127.0.0.1.

Une fois le scan terminé, vous pouvez afficher le contenu du fichier tcp.txt à l'aide d'un éditeur de texte ou de la commande cat :

cat tcp.txt

La sortie montrera les ports ouverts et autres informations recueillies pendant le scan. La sortie exacte dépendra du système cible et de sa configuration.

Exemple de sortie (la sortie spécifique variera) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Cette sortie indique que les ports 22, 80 et 443 sont ouverts sur le système cible. Les ports "fermés" signifient que Nmap a reçu un paquet RST (réinitialisation) en réponse à son paquet SYN, indiquant que le port est fermé.

#Comparer les fichiers avec diff syn.txt tcp.txt

Dans cette étape, vous allez comparer les fichiers syn.txt et tcp.txt que vous avez créés dans les étapes précédentes à l'aide de la commande diff. La commande diff est un outil puissant pour identifier les différences entre deux fichiers. Elle compare les fichiers ligne par ligne et met en évidence toute addition, suppression ou modification.

Avant d'exécuter la commande diff, il est important de comprendre pourquoi les sorties du scan SYN (-sS) et du scan de connexion TCP (-sT) peuvent différer. Le scan SYN est un scan "semi-ouvert", ce qui signifie qu'il ne termine pas la mainmise TCP complète. Cela peut le rendre plus discret mais également moins fiable dans certains cas, car les pare-feu ou les dispositifs de réseau peuvent bloquer le paquet SYN initial ou la réponse. Le scan de connexion TCP, quant à lui, termine la mainmise TCP complète, ce qui le rend plus fiable mais également plus facilement détectable.

Pour comparer les fichiers, utilisez la commande suivante :

diff syn.txt tcp.txt

Cette commande comparera les fichiers syn.txt et tcp.txt et affichera toute différence dans le terminal.

Exemple de sortie (la sortie spécifique variera selon le système cible et les conditions réseau) :

2,4c2,4
< Nmap scan report for 192.168.1.1
< Host is up (0.00020s latency).
< Not shown: 997 filtered ports
---
> Nmap scan report for 192.168.1.1
> Host is up (0.00020s latency).
> Not shown: 997 closed ports
5c5
< 22/tcp  open  ssh
---
> 22/tcp  open  ssh
6c6
< 80/tcp  open  http
---
> 80/tcp  open  http
7c7
< 443/tcp open  https
---
> 443/tcp open  https
10c10
< Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds
---
> Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

Dans cet exemple, la sortie montre que la principale différence entre les deux fichiers est la ligne "Not shown". Le scan SYN (syn.txt) montre "997 filtered ports", tandis que le scan de connexion TCP (tcp.txt) montre "997 closed ports". Cela indique que le scan SYN n'a pas été capable de déterminer l'état de certains ports en raison du filtrage, tandis que le scan de connexion TCP a été capable de déterminer que ces ports étaient fermés.

La sortie de diff utilise les symboles suivants :

  • < : Indique une ligne qui existe seulement dans le premier fichier (syn.txt).
  • > : Indique une ligne qui existe seulement dans le second fichier (tcp.txt).
  • c : Indique que les lignes sont différentes et doivent être modifiées pour que les fichiers soient identiques.

En analysant la sortie de diff, vous pouvez obtenir des informations sur les différences entre les deux types de scan et sur la manière dont ils perçoivent le système cible.

Exécuter des scans détaillés avec nmap -v -sS 127.0.0.1 et nmap -v -sT 127.0.0.1

Dans cette étape, vous allez exécuter à la fois des scans SYN et de connexion TCP sur localhost (127.0.0.1) avec l'option de détail activée. L'option -v dans Nmap augmente le niveau de détail, fournissant des informations plus détaillées sur le processus de scan. Cela peut être utile pour comprendre comment Nmap fonctionne et pour résoudre tout problème éventuel.

Tout d'abord, exécutons le scan SYN détaillé :

sudo nmap -v -sS 127.0.0.1

Cette commande effectuera un scan SYN sur localhost et affichera une sortie détaillée dans le terminal. Vous verrez plus d'informations sur la progression du scan, y compris les ports qui sont scannés, le chronométrage du scan et tout message d'erreur ou d'avertissement qui se produit.

Exemple de sortie (la sortie spécifique variera) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:15, 2.50s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Ensuite, exécutons le scan de connexion TCP détaillé :

sudo nmap -v -sT 127.0.0.1

Cette commande effectuera un scan de connexion TCP sur localhost et affichera une sortie détaillée.

Exemple de sortie (la sortie spécifique variera) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:16 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Connect Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed Connect Scan at 10:16, 3.00s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Observez les différences dans la sortie. La sortie détaillée fournit plus de détails sur le processus de scan, tels que le type de scan effectué ("SYN Stealth Scan" ou "Connect Scan"), le nombre de ports scannés et le temps nécessaire pour terminer le scan. Vous pouvez également voir les ports qui ont été trouvés ouverts.

En comparant la sortie détaillée des scans SYN et de connexion TCP, vous pouvez mieux comprendre comment chaque type de scan fonctionne et comment ils interagissent avec le système cible.

Enregistrer les notes de comparaison dans l'éditeur de texte Xfce

Dans cette étape, vous utiliserez l'éditeur de texte Xfce pour enregistrer vos observations et comparaisons des étapes précédentes. Cette étape est cruciale pour documenter vos résultats et comprendre les différences entre les types de scans Nmap.

Tout d'abord, ouvrez l'éditeur de texte Xfce. Vous pouvez le faire en cherchant "Editeur de texte" dans le menu des applications Xfce ou en exécutant la commande suivante dans le terminal :

mousepad notes.txt

Cette commande ouvrira l'éditeur de texte Xfce (Mousepad) et créera un nouveau fichier nommé notes.txt dans votre répertoire ~/projet.

Maintenant, dans l'éditeur de texte, notez vos observations sur les différences entre le scan SYN et le scan de connexion TCP. Considérez les points suivants :

  • Vitesse : Quel type de scan était plus rapide?
  • Précision : Les deux types de scan ont-ils identifié les mêmes ports ouverts? Si non, pourquoi pourrait-il en être ainsi?
  • Discrétion : Quel type de scan est considéré plus discret et pourquoi?
  • Évasion de pare-feu : Comment les pare-feu pourraient-ils traiter différemment chaque type de scan?
  • Sortie détaillée : Quelles informations supplémentaires avez-vous obtenu des scans détaillés?

Voici un exemple de ce que vos notes pourraient ressembler :

Notes de comparaison de scan Nmap :

Scan SYN (-sS) :
- Plus rapide que le scan de connexion TCP.
- Peut être moins précis en raison des ports filtrés.
- Considéré plus discret car il ne termine pas la mainmise TCP complète.
- Les pare-feu peuvent bloquer les paquets SYN, entraînant des résultats inexacts.

Scan de connexion TCP (-sT) :
- Plus lent que le scan SYN.
- Plus fiable car il termine la mainmise TCP complète.
- Moins discret car il est facilement détectable.
- Moins susceptible d'être bloqué par les pare-feu, fournissant des résultats plus précis.

Sortie détaillée (-v) :
- Fournit des informations plus détaillées sur le processus de scan.
- Utile pour comprendre comment Nmap fonctionne et résoudre les problèmes.
- Montre le type de scan effectué et le nombre de ports scannés.

Différences observées :
- Le scan SYN a rapporté des ports "filtrés", tandis que le scan de connexion TCP a rapporté des ports "fermés".
- Cela suggère que certains ports étaient filtrés, empêchant le scan SYN de déterminer leur état.

Une fois que vous avez fini de rédiger vos notes, enregistrez le fichier en cliquant sur "Fichier" -> "Enregistrer" dans l'éditeur de texte, ou en appuyant sur Ctrl+S.

Ce fichier notes.txt sera utilisé dans l'étape suivante pour analyser les différences dans le terminal Xfce.

Analyser les différences dans le terminal Xfce

Dans cette étape, vous utiliserez le terminal Xfce pour analyser plus en détail les différences entre les scans SYN et de connexion TCP, en vous appuyant sur les notes que vous avez enregistrées dans l'étape précédente. Vous utiliserez des outils de ligne de commande pour rechercher des motifs spécifiques et comparer les résultats des scans.

Tout d'abord, ouvrez le terminal Xfce.

Maintenant, utilisons la commande cat pour afficher le contenu des fichiers syn.txt et tcp.txt, qui contiennent les résultats des scans Nmap des deux premières étapes :

cat syn.txt
cat tcp.txt

Examinez la sortie des deux commandes. Attention aux différences dans les résultats des scans, telles que les états des ports rapportés (ouverts, fermés, filtrés) et le temps nécessaire pour terminer les scans.

Ensuite, utilisez la commande grep pour rechercher des mots clés spécifiques dans les résultats des scans. Par exemple, vous pouvez rechercher le mot "ouvert" dans les deux fichiers :

grep "ouvert" syn.txt
grep "ouvert" tcp.txt

Comparez la sortie de ces commandes. Les deux scans rapportent-ils les mêmes ports ouverts? Si non, quelles sont les différences?

Vous pouvez également rechercher d'autres mots clés, tels que "fermé" ou "filtré", pour analyser plus en détail les résultats des scans.

Maintenant, utilisons à nouveau la commande diff pour comparer les fichiers syn.txt et tcp.txt :

diff syn.txt tcp.txt

Revoyez la sortie de la commande diff. Cela mettra en évidence les lignes qui diffèrent entre les deux fichiers. Attention aux lignes qui indiquent des différences dans les états des ports rapportés.

Enfin, utilisez la commande cat pour afficher le contenu de votre fichier notes.txt, qui contient vos observations de l'étape précédente :

cat notes.txt

Réfléchissez à vos observations et comparez-les aux résultats des scans et à la sortie de la commande diff. Vos observations correspondent-elles aux résultats des scans? Pouvez-vous expliquer les divergences?

En utilisant le terminal Xfce et des outils de ligne de commande pour analyser les résultats des scans Nmap, vous pouvez mieux comprendre les différences entre les scans SYN et de connexion TCP et la manière dont ils interagissent avec le système cible. Cette analyse vous aidera à prendre des décisions éclairées sur le type de scan à utiliser dans différentes situations.

Sommaire

Dans ce laboratoire, nous avons commencé par effectuer un scan SYN sur une adresse IP cible (192.168.1.1 ou localhost) à l'aide de Nmap avec la commande nmap -sS -oN syn.txt 192.168.1.1. Cela a impliqué de comprendre le but d'un scan SYN en tant que scan de ports TCP "semi-ouvert" plus discret qui évite d'établir une connexion complète. La sortie du scan a été enregistrée dans un fichier nommé syn.txt au format normal.

Le point clé d'apprentissage était la manière d'exécuter un scan SYN à l'aide de Nmap, d'interpréter les paramètres de la commande (-sS pour le scan SYN, -oN pour la sortie normale dans un fichier) et de comprendre le besoin potentiel de privilèges sudo en raison de l'utilisation de paquets bruts. Nous avons également appris à visualiser les résultats du scan à l'aide de cat syn.txt.