Effectuer des scans Nmap et enregistrer les résultats dans différents formats

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 (lab), vous apprendrez à utiliser Nmap, un puissant outil de numérisation (scanning) réseau, pour effectuer des reconnaissances réseau de base. Nmap est un outil clé pour les professionnels de la sécurité, qui l'aident à découvrir les hôtes (hosts), les services et les vulnérabilités potentielles sur un réseau.

Comprendre comment enregistrer les résultats des scans Nmap dans différents formats est crucial pour l'évaluation et le rapportage de la sécurité. En maîtrisant cette compétence, vous pouvez documenter vos découvertes, partager les résultats avec les membres de votre équipe, importer des données dans d'autres outils et créer des rapports de sécurité complets. Ce laboratoire convivial pour les débutants vous guidera à travers les scans Nmap de base et l'enregistrement des résultats dans différents formats, vous dotant ainsi des compétences essentielles pour l'évaluation de la sécurité réseau.


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/target_specification("Target Specification") subgraph Lab Skills nmap/basic_syntax -.-> lab-415928{{"Effectuer des scans Nmap et enregistrer les résultats dans différents formats"}} nmap/output_formats -.-> lab-415928{{"Effectuer des scans Nmap et enregistrer les résultats dans différents formats"}} nmap/save_output -.-> lab-415928{{"Effectuer des scans Nmap et enregistrer les résultats dans différents formats"}} nmap/port_scanning -.-> lab-415928{{"Effectuer des scans Nmap et enregistrer les résultats dans différents formats"}} nmap/target_specification -.-> lab-415928{{"Effectuer des scans Nmap et enregistrer les résultats dans différents formats"}} end

Effectuer votre premier scan Nmap et enregistrer la sortie

Dans cette étape, nous allons apprendre à effectuer un scan Nmap de base et à enregistrer les résultats dans un fichier texte. Documenter les activités de reconnaissance réseau est crucial car cela vous aide à suivre ce que vous avez découvert et peut être utilisé pour des références futures ou des rapports. Ainsi, maîtriser cette compétence est essentielle pour tout le monde intéressé par la sécurité réseau.

Comprendre les bases de Nmap

Nmap, abréviation de Network Mapper, est un outil puissant, gratuit et open - source largement utilisé. Son objectif principal est la découverte de réseau et l'audit de sécurité. Il fonctionne en envoyant des paquets IP bruts au réseau ou à l'hôte (host) cible. Sur la base des réponses qu'il reçoit, Nmap peut déduire beaucoup d'informations. Il peut vous indiquer quels hôtes sont disponibles sur le réseau, quels services ces hôtes proposent (comme des serveurs web, des serveurs de messagerie, etc.), quels systèmes d'exploitation ils utilisent et de nombreuses autres caractéristiques importantes. Ces informations sont inestimables lorsque vous essayez de comprendre la posture de sécurité d'un réseau.

Créer un répertoire pour les résultats des scans

Tout d'abord, ouvrez une fenêtre de terminal. Par défaut, le terminal devrait déjà être dans le répertoire /home/labex/project. Nous avons besoin d'un endroit dédié pour stocker tous les résultats de nos scans Nmap. Cela facilite l'organisation et la gestion des données. Donc, créons un répertoire à cet effet en utilisant la commande suivante :

mkdir -p /home/labex/project/scans

Le drapeau -p dans la commande mkdir est très utile. Il garantit que le répertoire est créé même si les répertoires parents n'existent pas. Dans notre cas, le répertoire parent existe déjà, mais c'est une bonne pratique d'utiliser ce drapeau au cas où vous voudriez créer une structure de répertoires plus complexe à l'avenir. Si la commande s'exécute avec succès, vous ne verrez aucune sortie. C'est normal et cela signifie que le répertoire a été créé.

Exécuter un scan Nmap de base

À des fins de démonstration, nous allons scanner le localhost, qui est votre propre machine, sur le port 9999. Dans une situation réelle, vous aurez besoin d'une autorisation appropriée pour scanner des hôtes réseau réels. Scanner sans autorisation est contraire à l'éthique et peut même être illégal.

Maintenant, exécutons un scan Nmap de base et enregistrons la sortie dans un fichier texte. Exécutez la commande suivante :

nmap -p 9999 localhost -oN /home/labex/project/scans/initial_scan.txt

Décortiquons cette commande pour comprendre ce que chaque partie fait :

  • nmap : C'est la commande pour démarrer l'outil Nmap. Elle indique au système que nous voulons utiliser Nmap pour notre scan réseau.
  • -p 9999 : L'option -p est utilisée pour spécifier le port que nous voulons scanner. Dans ce cas, nous scannons le port 9999.
  • localhost : C'est la cible de notre scan. Comme nous utilisons localhost, nous scannons notre propre machine.
  • -oN /home/labex/project/scans/initial_scan.txt : L'option -oN est utilisée pour enregistrer la sortie au format "normal". Le chemin /home/labex/project/scans/initial_scan.txt spécifie où le fichier de sortie sera enregistré.

Après avoir exécuté la commande, vous devriez voir une sortie similaire à ceci :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE  SERVICE
9999/tcp closed unknown

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

Voir les résultats du scan enregistrés

Maintenant que nous avons exécuté le scan et enregistré les résultats dans un fichier, vérifions si les résultats ont été correctement enregistrés. Nous pouvons le faire en visualisant le contenu du fichier enregistré à l'aide de la commande cat :

cat /home/labex/project/scans/initial_scan.txt

La sortie que vous voyez devrait être similaire à celle affichée dans le terminal lorsque vous avez exécuté le scan. Ce fichier sert désormais de registre de vos activités de reconnaissance réseau. Vous pouvez y faire référence chaque fois que vous avez besoin de revoir les informations.

Comprendre les résultats du scan

Les résultats du scan contiennent plusieurs informations importantes :

  • Lorsque le scan a été effectué : Cela vous aide à suivre la chronologie de votre reconnaissance réseau.
  • La cible qui a été scannée : Dans notre cas, c'était localhost.
  • L'état de l'hôte : Il vous indique si l'hôte est actif (atteignable) ou inactif (non atteignable).
  • L'état du port spécifié : Il peut être ouvert, fermé ou filtré. Un port ouvert signifie qu'un service écoute sur ce port, un port fermé signifie qu'aucun service n'écoute, et un port filtré signifie que le port est bloqué par un pare - feu ou un autre dispositif de sécurité.
  • Le service généralement associé à ce port : Par exemple, le port 80 est généralement associé aux services HTTP.
  • Des statistiques sur la durée du scan : Cela vous donne une idée de combien de temps le scan a pris.

Maintenant que vous avez réussi à effectuer votre premier scan Nmap et à enregistrer les résultats dans un fichier à des fins de documentation, dans l'étape suivante, nous explorerons différents formats de sortie pris en charge par Nmap.

Enregistrer les résultats de Nmap au format XML

Dans cette étape, nous allons apprendre à enregistrer les résultats d'un scan Nmap au format XML. XML, ou Extensible Markup Language (Langage de balisage extensible), est un format de données structuré. C'est comme un classeur bien organisé où chaque information a son propre tiroir étiqueté. Cette structure facilite le traitement des données par d'autres outils de sécurité et des scripts. Dans le domaine de la cybersécurité, où l'automatisation est essentielle, avoir des données dans un format qui peut être facilement intégré dans des flux de travail automatisés est extrêmement précieux.

Comprendre les différents formats de sortie

Nmap, un puissant outil de numérisation (scanning) réseau, prend en charge plusieurs formats de sortie. Chaque format a ses propres caractéristiques uniques et ses cas d'utilisation.

  1. Sortie normale (-oN): C'est un format lisible par l'homme. Dans l'étape précédente, nous avons utilisé ce format pour visualiser les résultats du scan d'une manière facile à comprendre. Il présente les informations de manière directe, sous forme de texte.
  2. Sortie XML (-oX): Comme mentionné précédemment, XML est un format structuré. Il organise les données de manière hiérarchique en utilisant des balises et des éléments. Cela le rend idéal pour que d'autres programmes le parsent et extraient des informations spécifiques.
  3. Sortie filtrée (grepable) (-oG): Ce format est conçu pour être facilement traité par des outils de ligne de commande comme grep. Si vous souhaitez rechercher rapidement des motifs spécifiques dans les résultats du scan, la sortie filtrée est très utile.
  4. Sortie pour les script kiddies (-oS): C'est un format plus adapté aux "script kiddies". Cependant, il est rarement utilisé dans les évaluations de sécurité professionnelles.

Dans les évaluations de sécurité professionnelles, le format XML est fréquemment utilisé. La raison en est qu'il peut être importé dans d'autres outils de sécurité pour une analyse plus approfondie. Par exemple, vous pouvez prendre la sortie XML d'un scan Nmap et l'utiliser dans un système de gestion des vulnérabilités pour obtenir une vue plus approfondie de l'état de sécurité du réseau.

Exécuter un scan Nmap avec sortie XML

Maintenant, exécutons un autre scan sur le port 9999 du localhost. Mais cette fois, nous enregistrerons la sortie au format XML. Voici la commande :

nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml

Décortiquons cette commande pour comprendre ce que chaque partie fait :

  • nmap : C'est la commande pour exécuter l'outil Nmap. C'est le point de départ de toutes nos opérations de numérisation réseau.
  • -p 9999 : L'option -p est utilisée pour spécifier le port que nous voulons scanner. Dans ce cas, nous scannons le port 9999.
  • localhost : C'est la cible que nous scannons. localhost fait référence à votre machine locale. Donc, nous scannons le port 9999 de notre propre machine.
  • -oX /home/labex/project/scans/advanced_scan.xml : L'option -oX indique à Nmap d'enregistrer la sortie au format XML. Le chemin /home/labex/project/scans/advanced_scan.xml spécifie où le fichier XML sera enregistré.

Lorsque vous exécutez cette commande, vous devriez voir une sortie similaire à celle que vous avez vue dans l'Étape 1. Mais maintenant, les résultats sont également enregistrés au format XML dans le fichier spécifié.

Visualiser la sortie XML

Regardons le contenu du fichier XML que nous venons de créer. Nous pouvons utiliser la commande cat pour afficher le contenu du fichier :

cat /home/labex/project/scans/advanced_scan.xml

La sortie sera au format XML. Elle ressemble assez différemment de la sortie normale. XML utilise des balises et des éléments pour structurer les données. Cette structure facilite le parsage des informations par les ordinateurs. Voici un exemple simplifié de ce que vous pourriez voir :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nmaprun>
<nmaprun scanner="nmap" args="nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml" start="1635598800" startstr="Sat Oct 30 12:00:00 2023" version="7.80" xmloutputversion="1.04">
<scaninfo type="syn" protocol="tcp" numservices="1" services="9999"/>
<verbose level="0"/>
<debugging level="0"/>
<host starttime="1635598800" endtime="1635598800">
<status state="up" reason="localhost-response" reason_ttl="0"/>
<address addr="127.0.0.1" addrtype="ipv4"/>
<hostnames>
<hostname name="localhost" type="user"/>
<hostname name="localhost" type="PTR"/>
</hostnames>
<ports>
<port protocol="tcp" portid="9999">
<state state="closed" reason="conn-refused" reason_ttl="0"/>
<service name="unknown" method="table" conf="3"/>
</port>
</ports>
<times srtt="97" rttvar="5000" to="100000"/>
</host>
<runstats>
<finished time="1635598800" timestr="Sat Oct 30 12:00:00 2023" elapsed="0.07" summary="Nmap done at Sat Oct 30 12:00:00 2023; 1 IP address (1 host up) scanned in 0.07 seconds" exit="success"/>
<hosts up="1" down="0" total="1"/>
</runstats>
</nmaprun>

Avantages de la sortie XML

Le format XML offre plusieurs avantages :

  1. Données structurées : Les informations dans XML sont organisées dans une structure hiérarchique. Chaque élément a une relation claire avec les autres éléments, ce qui facilite la compréhension de l'organisation des données.
  2. Lisible par machine : D'autres programmes et scripts peuvent facilement parser les données XML. Cela permet une intégration transparente avec différents outils dans votre flux de travail de sécurité.
  3. Intégration : La sortie XML peut être importée dans d'autres outils de sécurité comme Metasploit, OpenVAS ou des tableaux de bord de sécurité personnalisés. Cela vous permet de combiner les résultats de votre scan Nmap avec d'autres outils d'analyse de sécurité.
  4. Transformation de données : Vous pouvez convertir les données XML en d'autres formats comme HTML ou PDF. Cela est utile pour créer des rapports faciles à partager et à présenter.
  5. Extraction de données : En utilisant des outils de parsage XML, vous pouvez extraire des informations spécifiques du fichier XML. Par exemple, vous pouvez extraire tous les ports ouverts ou les détails d'un hôte particulier.

Applications pratiques

Dans une évaluation de sécurité réelle, enregistrer les résultats de scan au format XML peut être très utile. Voici quelques applications pratiques :

  • Importation dans des systèmes de gestion des vulnérabilités : Vous pouvez importer la sortie XML dans un système de gestion des vulnérabilités pour obtenir une vue globale des vulnérabilités de sécurité du réseau.
  • Création de rapports personnalisés à l'aide de transformations XSLT : XSLT (Extensible Stylesheet Language Transformations) peut être utilisé pour transformer les données XML en rapports personnalisés. Cela vous permet de présenter les informations de la manière la plus pertinente pour vos besoins.
  • Traitement avec des scripts automatisés pour extraire des informations spécifiques : Vous pouvez écrire des scripts automatisés pour parser le fichier XML et extraire des informations spécifiques, telles que tous les hôtes avec des ports ouverts sur un service particulier.
  • Partage de données structurées avec les membres de l'équipe ou les clients : Les données XML peuvent être facilement partagées avec d'autres personnes. Les membres de l'équipe ou les clients peuvent utiliser les données structurées pour leur propre analyse.
  • Maintenance d'une base de données de données de reconnaissance réseau : Vous pouvez stocker les fichiers XML dans une base de données pour conserver un enregistrement de vos activités de reconnaissance réseau au fil du temps.

En apprenant à enregistrer la sortie de Nmap dans différents formats, vous avez franchi une étape importante dans le développement de vos compétences en sécurité réseau. Ces formats vous permettent de documenter efficacement vos découvertes et de vous intégrer avec d'autres outils de sécurité dans votre flux de travail.

Résumé

Dans ce laboratoire, vous avez appris des compétences essentielles pour la documentation de la reconnaissance réseau à l'aide de Nmap. Vous avez effectué avec succès des scans Nmap de base sur des ports spécifiques du localhost et enregistré les résultats du scan à la fois au format texte normal et au format XML. Le format texte est facile à lire pour l'homme, tandis que le format XML facilite l'intégration avec d'autres outils de sécurité et le traitement automatisé.

Ces compétences sont cruciales pour les professionnels de la sécurité afin de documenter leurs découvertes, créer des rapports et partager les résultats. Enregistrer les résultats de scan dans différents formats permet une gestion efficace des données de reconnaissance réseau et une intégration transparente dans les flux de travail de sécurité. Au fur et à mesure de votre progression dans le domaine de la cybersécurité, une documentation appropriée des tests de sécurité s'avérera aussi importante que les tests eux - mêmes. La possibilité de sauvegarder les sorties de Nmap dans différents formats vous permet de choisir le format le plus adapté à différents scénarios.