Apprenez la syntaxe de base des commandes Nmap

CybersecurityCybersecurityBeginner
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 apprendrez la syntaxe de base des commandes de Nmap, un puissant outil de découverte de réseau et d'audit de sécurité. Large ment utilisé par les administrateurs systèmes et les professionnels de la sécurité, Nmap permet de scanner des réseaux, de détecter les ports ouverts et d'identifier les vulnérabilités potentielles.

Notre scénario se déroule en 2145 au Luna Gateway Spaceport, le plus grand et le plus important port spatial de la lune. En tant que chef de l'équipe de cybersécurité, votre mission est de protéger l'infrastructure réseau du port spatial contre les menaces. Avec les récentes informations signalant une augmentation des activités suspectes, vous soupçonnez que des hackers tentent d'infiltrer les systèmes. À la fin de ce laboratoire, vous aurez acquis une expérience pratique dans l'utilisation de Nmap pour la reconnaissance réseau essentielle, une compétence cruciale pour sécuriser tout réseau, même celui d'un port spatial futuriste.

Comprendre Nmap et vérifier son installation

Nmap, qui signifie Network Mapper (Cartographe de réseau), est un outil open - source. Dans le domaine de la sécurité des réseaux, il joue un rôle crucial dans la découverte d'hôtes et de services sur un réseau informatique. Imaginez - le comme un détective capable de découvrir ce qui se passe dans un réseau. Dans notre scénario fictif du Luna Gateway Spaceport, Nmap est extrêmement précieux pour assurer la sécurité de son infrastructure réseau complexe.

Avant de commencer à utiliser Nmap, nous devons nous assurer qu'il est installé sur notre système. Voici comment vous pouvez vérifier son installation :

  1. Tout d'abord, vous devez ouvrir une fenêtre de terminal. Dans l'environnement LabEx, le terminal est généralement déjà ouvert et configuré sur le répertoire /home/labex/project. Le terminal est comme un centre de contrôle où vous pouvez taper des commandes pour interagir avec le système.

  2. Maintenant, nous allons exécuter une commande pour vérifier la version de Nmap installée. Tapez la commande suivante dans le terminal et appuyez sur Entrée :

    nmap --version

    Cette commande demande au système d'afficher des informations sur la version de Nmap installée. L'option --version est une manière courante dans de nombreux programmes d'obtenir des détails liés à la version.

  3. Après avoir exécuté la commande, prenez un moment pour examiner la sortie. Vous verrez des détails tels que la version spécifique de Nmap, la manière dont elle a été compilée et d'autres informations pertinentes. Cela vous aide à confirmer que Nmap est correctement installé et vous donne également une idée des fonctionnalités disponibles en fonction de la version.

Configuration d'un service de test

Avant de commencer à pratiquer avec Nmap, vous avez besoin d'une cible à scanner. Imaginez Nmap comme un outil de détection dans le monde de la cybersécurité, et vous avez besoin d'un suspect (la cible) à enquêter. Dans ce cas, nous allons configurer un simple service réseau sur votre machine locale en utilisant un outil appelé netcat (nc). Netcat est un utilitaire réseau polyvalent qui peut lire et écrire des données sur des connexions réseau.

  1. Tout d'abord, vérifions que netcat est installé sur votre système. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

    nc -h

    Cette commande demande à netcat d'afficher ses informations d'aide. Si netcat est installé, vous verrez une liste des options disponibles et de leur utilisation. Si vous obtenez une erreur, cela signifie que netcat n'est pas installé, et vous devrez l'installer avant de continuer.

  2. Maintenant, ouvrez une nouvelle fenêtre de terminal. Cela est important car nous utiliserons le terminal d'origine pour d'autres commandes plus tard, et nous devons maintenir le service netcat en cours d'exécution dans une fenêtre séparée. Vous pouvez ouvrir une nouvelle fenêtre de terminal en cliquant avec le bouton droit dans la zone du terminal et en sélectionnant "Nouveau terminal" ou en utilisant le raccourci clavier (généralement Ctrl+Shift+T).

  3. Dans cette nouvelle fenêtre de terminal, nous allons démarrer un simple service réseau qui restera ouvert. Exécutez la commande suivante :

    while true; do nc -n -lvp 7777; done

    Cette commande crée une boucle infinie. Chaque fois qu'une connexion au service netcat se termine, la boucle redémarre netcat, garantissant que le service est toujours disponible pour être scanné. Vous devriez voir une sortie indiquant que netcat écoute sur le port 7777.

    • -n : Ce paramètre indique à netcat d'utiliser directement les adresses IP au lieu d'essayer de résoudre les noms d'hôtes. Cela accélère le processus et évite les problèmes potentiels liés au DNS.
    • -l : Ce paramètre indique à netcat d'entrer en mode écoute. Il attend les connexions entrantes au lieu d'essayer d'en initier.
    • -v : Ce paramètre active la sortie détaillée. Netcat fournira des informations plus détaillées sur ce qu'il fait, ce qui est utile pour le débogage et la compréhension de ce qui se passe.
    • -p 7777 : Ce paramètre spécifie le numéro de port sur lequel netcat doit écouter. Dans ce cas, nous avons choisi le port 7777.
  4. Gardez cette fenêtre de terminal ouverte. Nous l'utiliserons pour observer les connexions entrantes lorsque nous scannerons avec Nmap dans les prochaines étapes. Le service netcat en cours d'exécution dans cette fenêtre servira de cible pour nos scans Nmap, nous permettant de voir comment Nmap interagit avec un service réseau du monde réel.

Effectuer un scan Nmap de base

Maintenant que nous avons réussi à configurer un service, il est temps d'utiliser Nmap pour le découvrir. Nmap est un outil de scan réseau puissant qui peut nous aider à trouver les ports ouverts et les services sur une machine cible. Dans cette étape, nous allons effectuer un scan de base de l'hôte local pour trouver le service que nous venons de configurer.

  1. Tout d'abord, revenez à votre fenêtre de terminal d'origine. Assurez - vous qu'il ne s'agit pas de celle qui exécute netcat. Nous devons utiliser ce terminal pour exécuter nos commandes Nmap.

  2. Ensuite, exécutez la commande Nmap suivante :

    nmap -v -p 7777 localhost

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

    • nmap : C'est la commande de base pour exécuter Nmap. Elle indique au système que nous voulons utiliser l'outil Nmap pour le scan réseau.
    • -v : Cette option active la sortie détaillée. Lorsque nous utilisons -v, Nmap nous donnera des informations plus détaillées sur le scan, telles que la progression et des détails supplémentaires sur la cible.
    • -p 7777 : Cette option indique à Nmap de scanner uniquement le port 7777. Les ports sont comme des portes sur un ordinateur, et différents services utilisent différents ports. En spécifiant -p 7777, nous demandons à Nmap de vérifier si le port 7777 est ouvert sur la machine cible.
    • localhost : C'est la cible que nous voulons scanner. Dans ce cas, localhost fait référence à votre propre machine. C'est un moyen de tester le scan réseau dans votre environnement local.
  3. Après avoir exécuté la commande, observez la sortie. Vous devriez voir quelque chose de similaire à ceci :

    Starting Nmap ( http://nmap.org )
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000040s latency).
    PORT     STATE SERVICE
    7777/tcp open  cbt

    Cette sortie fournit des informations importantes. Elle nous indique que Nmap a commencé le scan, et que la cible (localhost) est en ligne et fonctionne. La ligne 7777/tcp open cbt indique que le port 7777 est ouvert sur l'hôte local, et le service exécuté sur ce port est identifié comme cbt.

  4. Pour conserver une trace de ce scan pour une référence future, enregistrons la sortie dans un fichier. Exécutez à nouveau la commande avec redirection de sortie :

    nmap -v -p 7777 localhost > /home/labex/project/nmap_scan_output.txt

    Cette commande effectue le même scan que précédemment, mais le symbole > redirige la sortie vers un fichier nommé nmap_scan_output.txt dans le répertoire /home/labex/project. De cette façon, nous pouvons facilement accéder aux résultats du scan plus tard.

  5. Vous pouvez afficher le contenu de ce fichier en utilisant la commande cat. Exécutez la commande suivante :

    cat /home/labex/project/nmap_scan_output.txt

    La commande cat est utilisée pour afficher le contenu d'un fichier sur le terminal. En exécutant cette commande, vous pouvez voir la sortie du scan enregistrée.

  6. Enfin, vérifiez le terminal netcat. Vous devriez remarquer que Nmap a tenté de se connecter au service. En raison de la boucle que nous avons configurée dans netcat, il aura fermé et rouvert, garantissant que le service reste disponible pour de futurs scans. Cela est important car cela nous permet de continuer à tester et à explorer le réseau en utilisant Nmap.

Exploration de la sortie de Nmap

Maintenant que nous avons réussi à effectuer un scan de base avec Nmap, il est temps d'examiner de plus près la sortie générée par Nmap. Comprendre cette sortie est crucial car elle fournit des informations précieuses sur le système cible, telles que les ports ouverts et les services en cours d'exécution.

  1. Tout d'abord, nous devons ouvrir le fichier de sortie du scan Nmap. Ce fichier contient tous les détails du scan que nous venons de réaliser. Pour l'ouvrir, nous utiliserons l'éditeur de texte nano. nano est un éditeur de texte simple et convivial qui nous permet de visualiser et de modifier facilement les fichiers texte. Exécutez la commande suivante dans votre terminal :

    nano /home/labex/project/nmap_scan_output.txt

    Cette commande ouvrira le fichier spécifié dans l'éditeur de texte nano.

  2. Une fois le fichier ouvert, examinez son contenu. Vous remarquerez que le fichier est divisé en plusieurs sections, chacune fournissant différents types d'informations :

    • Rapport de scan Nmap : Cette section montre la cible du scan. Dans notre cas, la cible est localhost, qui fait référence à la machine locale sur laquelle nous travaillons actuellement.
    • État de l'hôte : Cette partie indique si l'hôte (le système cible) est en ligne et fonctionne. Elle fournit également des informations sur la latence de l'hôte, qui est le temps qu'il faut pour qu'un signal voyage de notre machine à la cible et retour.
    • Table des ports : Cette table montre l'état du ou des ports scannés. Elle nous indique si un port est ouvert, fermé ou filtré. De plus, elle montre le service que Nmap pense être peut - être en cours d'exécution sur ce port.
  3. Vous pourriez remarquer que Nmap identifie le service sur le port 7777 comme "cbt". Cependant, il est important de noter que ce n'est que la meilleure supposition de Nmap basée sur les attributions de ports courantes. Pour les ports non standard comme le 7777, cette identification peut ne pas toujours être précise.

  4. Lorsque vous avez terminé d'examiner le fichier, vous pouvez quitter l'éditeur de texte nano en appuyant sur Ctrl+X.

  5. Maintenant, essayons un scan un peu plus complet. Nous utiliserons une nouvelle commande qui inclut des options supplémentaires pour recueillir plus d'informations sur la cible. Exécutez la commande suivante dans votre terminal :

    nmap -v -p 7777 -sV localhost > /home/labex/project/nmap_service_scan.txt

    Voici ce que chaque partie de la commande signifie :

    • -v : Cette option active le mode verbeux, ce qui signifie que Nmap fournira des informations plus détaillées sur le processus de scan.
    • -p 7777 : Cela spécifie que nous voulons scanner uniquement le port 7777.
    • -sV : Ce paramètre indique à Nmap de sonder les ports ouverts pour déterminer le service et sa version en cours d'exécution sur ces ports.
    • localhost : C'est la cible de notre scan, qui est la machine locale.
    • > /home/labex/project/nmap_service_scan.txt : Cela redirige la sortie du scan vers le fichier spécifié.
  6. Après avoir exécuté le scan, nous voulons afficher le contenu de ce nouveau fichier. Pour ce faire, nous utiliserons la commande cat, qui est utilisée pour afficher le contenu d'un fichier dans le terminal. Exécutez la commande suivante :

    cat /home/labex/project/nmap_service_scan.txt

    Vous devriez voir des informations supplémentaires sur le port 7777 dans la sortie. Même si Nmap ne peut pas déterminer le service exact en cours d'exécution sur le port, il fournira toujours une sortie plus détaillée par rapport au scan de base.

  7. Lorsque vous parcourez la sortie, recherchez des lignes telles que :

    PORT     STATE SERVICE VERSION
    7777/tcp open  cbt?

    Cette ligne indique que Nmap a détecté un port 7777 ouvert. Cependant, le point d'interrogation après "cbt" suggère que Nmap n'est pas certain de la classification du service. Cela signifie que Nmap n'a pas pu identifier de manière définitive le service en cours d'exécution sur ce port.

Effectuer un scan sur tout le réseau

Dans un scénario réel au port spatial Luna Gateway, vous devrez scanner plusieurs hôtes sur le réseau. Cela est important car il vous aide à comprendre quels appareils sont connectés au réseau et quels ports sont ouverts, ce qui est crucial pour la sécurité du réseau. Simulons cela en scannant une plage d'adresses IP.

  1. Tout d'abord, trouvons notre adresse IP. Votre adresse IP est comme l'"adresse domicile" de votre réseau, qui identifie de manière unique votre appareil sur le réseau. Pour la trouver, nous allons exécuter la commande suivante :

    ip addr show | grep inet

    La partie ip addr show de la commande liste toutes les interfaces réseau et les adresses IP associées de votre appareil. Le symbole | est un tuyau (pipe) qui prend la sortie de la commande ip addr show et la transmet à la commande grep inet. La commande grep inet filtre ensuite la sortie pour n'afficher que les lignes contenant le mot "inet", qui sont les lignes avec les adresses IP.

    Exemple de sortie :

    inet 127.0.0.1/8 scope host lo
    inet 172.18.0.3/16 brd 172.18.255.255 scope global eth1

    127.0.0.1/8 est l'adresse de bouclage (loopback), qui n'est pas utile pour notre objectif. Nous pouvons donc l'ignorer. 172.18.0.3/16 est l'adresse IP de l'interface réseau, qui est utile pour notre objectif. Nous pouvons donc utiliser cette adresse IP dans les étapes suivantes.

  2. Maintenant, scannons une plage d'adresses IP autour de la nôtre. Scanner une plage d'adresses IP vous aide à découvrir d'autres appareils sur le même réseau. Si votre adresse IP est 172.18.0.3, vous pouvez scanner les adresses de 172.18.0.1 à 172.18.0.10. Remplacez la plage d'adresses IP dans la commande suivante par une qui inclut votre adresse IP :

    sudo nmap -v -p 7777 172.18.0.1-10 > /home/labex/project/network_scan.txt

    La commande sudo est utilisée pour exécuter la commande suivante avec des privilèges d'administrateur, ce qui est souvent nécessaire pour le scan réseau. nmap est un outil de scan réseau puissant. L'option -v signifie "verbeux", ce qui signifie qu'il fournira des informations plus détaillées sur le scan. L'option -p 7777 spécifie que nous voulons scanner le port 7777 sur les adresses IP cibles. 172.18.0.1 - 10 est la plage d'adresses IP que nous voulons scanner. Le symbole > redirige la sortie de la commande nmap vers le fichier /home/labex/project/network_scan.txt.

    Cette commande scanne les 10 premières adresses IP du réseau 172.18.0.0 pour le port 7777.

  3. Affichez les résultats du scan :

    cat /home/labex/project/network_scan.txt

    La commande cat est utilisée pour afficher le contenu d'un fichier. Dans ce cas, elle vous montrera les résultats du scan réseau que nous avons enregistrés dans le fichier network_scan.txt. Vous devriez voir une liste d'adresses IP, avec des informations sur le port 7777 pour chacune d'elles.

  4. Dans un scénario réel, ce type de scan vous aiderait à identifier tous les appareils sur le réseau avec un port particulier ouvert, ce qui pourrait être crucial pour maintenir la sécurité du réseau du port spatial Luna Gateway. En sachant quels appareils ont un port spécifique ouvert, vous pouvez déterminer s'il y a des risques de sécurité potentiels ou des points d'accès non autorisés sur le réseau.

Résumé

Dans ce laboratoire, vous avez appris la syntaxe de base des commandes Nmap dans le contexte de la sécurisation de l'infrastructure réseau du port spatial Luna Gateway. Tout d'abord, vous avez vérifié l'installation de Nmap et configuré un service de test avec netcat. Ensuite, vous avez effectué des scans de base sur le localhost, appris à interpréter la sortie de Nmap et l'avez enregistrée pour une analyse plus approfondie.

Vous avez également progressé vers des techniques plus complexes, telles que la détection de la version des services, qui révèle des détails sur les services exécutés sur les ports ouverts. Enfin, vous avez simulé un scan sur tout le réseau, montrant comment Nmap peut examiner plusieurs hôtes. Ces compétences sont fondamentales pour la reconnaissance réseau et l'audit de sécurité, essentiels pour identifier les risques dans les opérations du port spatial.

N'oubliez pas d'utiliser Nmap de manière responsable et uniquement sur des réseaux autorisés. Un scan non autorisé peut être considéré comme une attaque et peut avoir des conséquences légales. Au fur et à mesure que vous continuez à apprendre, pensez à développer ces techniques de base de Nmap et à les combiner avec d'autres outils pour élaborer une stratégie de sécurité complète dans des environnements complexes comme le port spatial Luna Gateway.