Identifier les systèmes d'exploitation 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 à identifier les systèmes d'exploitation à l'aide de Nmap. Le laboratoire couvre diverses commandes Nmap pour la détection d'OS, y compris l'exécution de scans d'OS de base, l'activation du mode d'adivination, la combinaison de scans d'OS et de ports, l'affinement des scans et l'exportation des résultats. Vous exécuterez des commandes telles que nmap -O <target_ip> dans le terminal Xfce et visualiserez les détails de l'OS dans la sortie.

Ces étapes pratiques vous aideront à acquérir des compétences pratiques dans l'utilisation de Nmap pour détecter les systèmes d'exploitation des machines cibles, avec des exemples montrant comment Nmap analyse les réponses pour fournir des informations sur l'OS.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") 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/os_version_detection("OS and Version Detection") subgraph Lab Skills nmap/basic_syntax -.-> lab-530180{{"Identifier les systèmes d'exploitation avec Nmap"}} nmap/output_formats -.-> lab-530180{{"Identifier les systèmes d'exploitation avec Nmap"}} nmap/save_output -.-> lab-530180{{"Identifier les systèmes d'exploitation avec Nmap"}} nmap/port_scanning -.-> lab-530180{{"Identifier les systèmes d'exploitation avec Nmap"}} nmap/os_version_detection -.-> lab-530180{{"Identifier les systèmes d'exploitation avec Nmap"}} end

Exécutez la détection d'OS avec nmap -O 192.168.1.1

Dans cette étape, nous allons utiliser Nmap pour effectuer une détection d'OS sur une machine cible. La détection d'OS est une technique utilisée pour identifier le système d'exploitation en cours d'exécution sur un hôte distant. Nmap envoie une série de paquets soigneusement élaborés à la cible et analyse les réponses pour déterminer l'OS.

Avant de commencer, comprenons la syntaxe de base de la commande que nous allons utiliser :

nmap -O <target_ip>
  • nmap : C'est l'outil de ligne de commande que nous utilisons.
  • -O : Cette option indique à Nmap d'activer la détection d'OS.
  • <target_ip> : C'est l'adresse IP de la machine cible que vous voulez scanner. Dans ce cas, il s'agit de 192.168.1.1.

Maintenant, exécutons la commande pour effectuer la détection d'OS sur la machine cible avec l'adresse IP 192.168.1.1. Ouvrez votre terminal Xfce et tapez la commande suivante :

nmap -O 192.168.1.1

Après avoir exécuté la commande, Nmap enverra diverses sondes à la machine cible et analysera les réponses. La sortie affichera les détails de l'OS si Nmap parvient à l'identifier avec succès. La sortie pourrait ressembler à ceci (la sortie exacte variera selon l'OS cible) :

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.00043s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Dans l'exemple ci-dessus, Nmap a identifié la machine cible comme exécutant un système d'exploitation Linux. La sortie fournit également des détails sur la version du noyau.

Si Nmap est incapable de déterminer exactement l'OS, il peut fournir une liste de candidats d'OS possibles. Dans certains cas, Nmap peut ne pas être en mesure de détecter l'OS du tout. Cela peut se produire si la machine cible se trouve derrière un pare-feu ou si l'OS est configuré pour cacher son identité.

Activez la fonction d'adivination avec nmap -O --osscan-guess 127.0.0.1

Dans cette étape, nous allons utiliser Nmap pour effectuer une détection d'OS avec l'option --osscan-guess sur l'hôte local (127.0.0.1). Cette option force Nmap à être plus agressif dans ses tentatives de détection d'OS. Lorsque Nmap est incertain quant à l'OS, cette option peut aider à faire une hypothèse plus éclairée.

Analysons la commande :

nmap -O --osscan-guess 127.0.0.1
  • nmap : C'est l'outil de ligne de commande que nous utilisons.
  • -O : Cette option indique à Nmap d'activer la détection d'OS.
  • --osscan-guess : Cette option indique à Nmap de deviner l'OS de manière plus agressive.
  • 127.0.0.1 : C'est l'adresse IP de la machine cible que vous voulez scanner, qui est l'hôte local dans ce cas.

Maintenant, exécutons la commande pour effectuer la détection d'OS avec l'option --osscan-guess sur l'hôte local. Ouvrez votre terminal Xfce et tapez la commande suivante :

nmap -O --osscan-guess 127.0.0.1

Après avoir exécuté la commande, Nmap enverra diverses sondes à la machine cible et analysera les réponses. La sortie affichera les détails de l'OS si Nmap parvient à l'identifier avec succès. Étant donné que nous sommes en train de scanner l'hôte local, la détection d'OS devrait être relativement précise. La sortie pourrait ressembler à ceci (la sortie exacte variera selon votre système) :

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.000039s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
631/tcp  open  ipp
9929/tcp open  nping-echo

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.23 seconds

Notez que la sortie ne montrera pas toujours explicitement le nom de l'OS. Parfois, elle ne montrera que les ports ouverts et autres informations. Cependant, Nmap effectue toujours la détection d'OS en arrière-plan, et l'option --osscan-guess augmente les chances d'obtenir un résultat plus précis.

Combinez la détection d'OS et les ports avec nmap -O -p 1-100 192.168.1.1

Dans cette étape, nous allons combiner la détection d'OS et la numérotation de ports à l'aide de Nmap. Cela nous permet d'identifier le système d'exploitation d'une machine cible et également de découvrir quels ports sont ouverts sur cette machine. En combinant ces deux techniques, nous pouvons obtenir une compréhension plus complète du système cible.

Analysons la commande :

nmap -O -p 1-100 192.168.1.1
  • nmap : C'est l'outil de ligne de commande que nous utilisons.
  • -O : Cette option indique à Nmap d'activer la détection d'OS.
  • -p 1-100 : Cette option indique à Nmap de scanner les ports de 1 à 100.
  • 192.168.1.1 : C'est l'adresse IP de la machine cible que vous voulez scanner.

Maintenant, exécutons la commande pour effectuer la détection d'OS et la numérotation de ports sur la machine cible avec l'adresse IP 192.168.1.1. Ouvrez votre terminal Xfce et tapez la commande suivante :

nmap -O -p 1-100 192.168.1.1

Après avoir exécuté la commande, Nmap enverra diverses sondes à la machine cible et analysera les réponses. La sortie affichera les détails de l'OS et une liste des ports ouverts. La sortie pourrait ressembler à ceci (la sortie exacte variera selon l'OS cible et les ports ouverts) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Dans l'exemple ci-dessus, Nmap a identifié la machine cible comme exécutant un système d'exploitation Linux et a découvert que les ports 22 (SSH) et 80 (HTTP) sont ouverts.

En combinant la détection d'OS et la numérotation de ports, vous pouvez rapidement identifier le système d'exploitation et les services en cours d'exécution sur une machine cible. Cette information peut être précieuse pour les évaluations de sécurité et le dépannage réseau.

Consultez les détails de l'OS dans le terminal Xfce

Dans les étapes précédentes, vous avez exécuté des commandes Nmap pour détecter le système d'exploitation des machines cibles. Les résultats de ces scans ont été affichés directement dans le terminal Xfce. Cette étape porte sur la compréhension de la manière d'interpréter les détails de l'OS présentés dans la sortie du terminal.

Lorsque Nmap identifie avec succès le système d'exploitation, il affichera généralement des informations telles que le nom de l'OS, la version et parfois même la version du noyau. Il peut également fournir un identifiant CPE (Common Platform Enumeration), qui est un schéma de nommage standardisé pour le logiciel et le matériel.

Revoyons un exemple de sortie d'une étape précédente :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Dans cet exemple, la ligne OS details: Linux 3.2 - 4.9 indique que Nmap a détecté un système d'exploitation Linux avec une version de noyau comprise entre 3.2 et 4.9. La ligne Device type: general purpose suggère que l'appareil est un ordinateur standard. La ligne Running: Linux 3.X|4.X fournit des informations similaires. Les lignes OS CPE fournissent des identifiants plus spécifiques pour l'OS et le noyau.

Si Nmap est incapable de déterminer exactement l'OS, il peut fournir une "hypothèse" basée sur les informations disponibles. Dans de tels cas, la sortie peut inclure une déclaration comme "OS details: Unknown" ou "OS details: Possibly Windows." L'option --osscan-guess utilisée dans une étape précédente peut aider à améliorer la précision de ces hypothèses.

Pour consulter les détails de l'OS, examinez simplement la sortie des commandes Nmap que vous avez exécutées dans les étapes précédentes. Les informations sur l'OS seront généralement affichées près du haut de la sortie, après les résultats de la numérotation de ports.

Rappelez-vous que la détection d'OS n'est pas toujours parfaite et que les résultats de Nmap doivent être interprétés avec prudence. Des facteurs tels que les pare-feu et les configurations réseau peuvent interférer avec la détection d'OS.

Cette étape ne nécessite pas d'exécuter de nouvelles commandes. Il s'agit de comprendre et d'interpréter la sortie que vous avez déjà générée.

Ajustez le scan avec nmap -O --osscan-limit 192.168.1.1

Dans cette étape, nous allons affiner notre scan de détection d'OS en utilisant l'option --osscan-limit. Cette option indique à Nmap de ne tenter la détection d'OS que sur les hôtes ayant au moins un port TCP ouvert et un port TCP fermé. Cela peut considérablement accélérer le scan et réduire la probabilité de faux positifs, en particulier lors du balayage de grands réseaux.

L'option --osscan-limit est utile car la détection d'OS repose sur l'analyse des réponses à diverses sondes TCP. Si un hôte n'a que des ports ouverts ou seulement des ports fermés, Nmap peut ne pas être en mesure de collecter suffisamment d'informations pour déterminer avec précision le système d'exploitation.

Exécutons la commande pour effectuer un scan de détection d'OS affiné sur la machine cible avec l'adresse IP 192.168.1.1. Ouvrez votre terminal Xfce et tapez la commande suivante :

nmap -O --osscan-limit 192.168.1.1

Après avoir exécuté la commande, Nmap effectuera la détection d'OS, mais seulement sur les hôtes qui répondent aux critères d'avoir au moins un port TCP ouvert et un port TCP fermé. La sortie affichera les détails de l'OS si Nmap est capable d'identifier le système d'exploitation. La sortie pourrait ressembler à ceci (la sortie exacte variera selon l'OS cible et les ports ouverts/fermés) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Dans cet exemple, Nmap a identifié la machine cible comme exécutant un système d'exploitation Linux. La ligne "Not shown: 999 closed ports" indique que Nmap a seulement scanné le port ouvert (22) et a déterminé l'OS sur la base de celui-ci et des ports fermés qu'il a trouvés.

L'utilisation de l'option --osscan-limit peut rendre vos scans de détection d'OS plus efficaces et précis, en particulier lorsqu'il s'agit de grands réseaux ou d'hôtes avec des configurations de ports inhabituelles.

Exporte les résultats avec nmap -O -oN os.txt 127.0.0.1

Dans cette étape, nous allons apprendre à exporter les résultats d'un scan de détection d'OS Nmap vers un fichier. Cela est utile pour une analyse ultérieure, la rédaction de rapports ou l'intégration avec d'autres outils. Nous utiliserons l'option -oN, qui spécifie que la sortie doit être au format "normal".

Le nom de fichier os.txt est arbitraire ; vous pouvez choisir n'importe quel nom que vous voulez, mais il est recommandé d'utiliser un nom descriptif. Le fichier de sortie sera créé dans votre répertoire de travail actuel, qui est ~/projet.

Pour exporter les résultats du scan de détection d'OS vers un fichier, ouvrez votre terminal Xfce et tapez la commande suivante :

nmap -O -oN os.txt 127.0.0.1

Cette commande effectuera un scan de détection d'OS sur la machine cible avec l'adresse IP 127.0.0.1 (localhost) et enregistrera les résultats au format normal dans le fichier os.txt dans votre répertoire ~/projet.

Une fois le scan terminé, vous pouvez afficher le contenu du fichier os.txt à l'aide de la commande cat :

cat os.txt

La sortie affichera les résultats du scan Nmap, y compris les détails de l'OS, sous un format lisible par l'homme. La sortie pourrait ressembler à ceci (la sortie exacte variera selon l'OS cible) :

## Nmap 7.80 scan initiated Tue Oct 27 10:20:00 2023 as: nmap -O -oN os.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Tue Oct 27 10:20:05 2023 -- 1 IP address (1 host up) scanned in 5.23 seconds

Vous pouvez également utiliser un éditeur de texte comme nano pour afficher ou modifier le fichier os.txt :

nano os.txt

Cela ouvrira le fichier os.txt dans l'éditeur de texte nano, vous permettant d'examiner les résultats en détail.

L'exportation des résultats Nmap vers un fichier est une compétence précieuse pour documenter vos découvertes et les partager avec les autres.

Sommaire

Dans ce laboratoire, les participants apprennent à utiliser Nmap pour la détection du système d'exploitation. Ils commencent par exécuter une détection d'OS de base avec la commande nmap -O <adresse_ip_cible>, en utilisant 192.168.1.1 comme exemple. Ils apprennent également à activer la devinette avec nmap -O --osscan-guess, à combiner la détection d'OS et le balayage de ports avec nmap -O -p 1-100, à affiner les scans avec nmap -O --osscan-limit et à exporter les résultats vers un fichier texte avec nmap -O -oN os.txt. En outre, ils consultent les détails de l'OS dans le terminal Xfce.