Effectuer un scan agressif 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 agressif avec Nmap. Le laboratoire couvre l'exécution d'un balayage agressif sur une adresse IP cible, le balayage de ports spécifiques, l'ajout de verbeux au balayage, la sauvegarde des résultats du balayage, l'analyse de la sortie détaillée et la comparaison avec un balayage de base. Vous utiliserez des commandes telles que nmap -A, nmap -A -p, nmap -v -A et nmap -A -oN dans le terminal Xfce pour réaliser ces tâches.

Exécuter un balayage agressif avec nmap -A 192.168.1.1

Dans cette étape, nous allons effectuer un balayage agressif à l'aide de Nmap. Un balayage agressif combine plusieurs techniques de balayage pour recueillir des informations complètes sur une cible. L'option -A active la détection du système d'exploitation, la détection de la version, le balayage de scripts et la traçabilité. Ce type de balayage est utile pour identifier les ports ouverts, les services exécutés sur ces ports et le système d'exploitation de la cible.

Avant de commencer, clarifions ce qu'est une adresse IP. Une adresse IP est une étiquette numérique attribuée à chaque dispositif connecté à un réseau informatique qui utilise le Protocole Internet pour communiquer. Dans notre cas, 192.168.1.1 est une adresse IP privée, couramment utilisée dans les réseaux domestiques ou d'entreprise.

Maintenant, exécutons le balayage agressif. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Ensuite, exécutez la commande Nmap suivante :

sudo nmap -A 192.168.1.1

Vous devrez saisir votre mot de passe. Comme l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

Cette commande lancera un balayage agressif contre l'adresse IP cible 192.168.1.1. Nmap tentera d'identifier le système d'exploitation, de détecter les versions des services exécutés, d'exécuter les scripts par défaut et de réaliser une traçabilité.

La sortie affichera un rapport détaillé des résultats du balayage, y compris les ports ouverts, les versions des services et autres informations recueillies pendant le balayage. La sortie exacte dépendra du système cible et de sa configuration. Voici un exemple de ce que pourrait ressembler la sortie (bien que vos résultats puissent différer) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
| ssh-hostkey:
|   2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp  open  http     Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
443/tcp open  ssl/http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2018-08-22T12:20:36
| Not valid after:  2028-08-19T12:20:36
| ...
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.00 ms 192.168.1.1

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

Cette sortie montre les ports ouverts (22, 80 et 443 dans cet exemple), les services exécutés sur ces ports (SSH et HTTP) et des informations sur le système d'exploitation (Linux). La section de traçabilité montre le chemin vers la cible.

Balayer des ports spécifiques avec nmap -A -p 22,80 127.0.0.1

Dans cette étape, nous allons concentrer notre balayage Nmap sur des ports spécifiques. Au lieu de balayer tous les ports ou de compter sur la sélection de ports par défaut de Nmap, nous spécifierons que Nmap doit uniquement balayer les ports 22 et 80 sur l'adresse IP cible 127.0.0.1. Cela est utile lorsque vous voulez rapidement vérifier l'état de services connus ou réduire le temps de balayage.

Avant de continuer, comprenons ce que sont les ports. En réseau, un port est un point virtuel où les connexions réseau commencent et se terminent. Les ports sont basés sur le logiciel et gérés par le système d'exploitation. Ils permettent à plusieurs applications d'utiliser simultanément une seule connexion réseau. Le port 22 est couramment utilisé pour SSH (Secure Shell), un protocole sécurisé pour l'accès distant, et le port 80 est généralement utilisé pour HTTP (Hypertext Transfer Protocol), la base de la communication de données sur le World Wide Web.

127.0.0.1 est l'adresse de bouclage, également connue sous le nom de localhost. Elle fait référence à la machine sur laquelle vous travaillez actuellement. Balayer 127.0.0.1 est utile pour tester les services exécutés sur votre propre machine.

Maintenant, exécutons la commande Nmap pour balayer des ports spécifiques. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Ensuite, exécutez la commande Nmap suivante :

sudo nmap -A -p 22,80 127.0.0.1

Vous devrez saisir votre mot de passe. Comme l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

Cette commande lancera un balayage agressif, mais uniquement sur les ports 22 et 80 de 127.0.0.1. Nmap tentera d'identifier les services exécutés sur ces ports et de recueillir d'autres informations.

La sortie affichera un rapport des résultats du balayage, spécifiquement pour les ports 22 et 80. Voici un exemple de ce que pourrait ressembler la sortie (bien que vos résultats puissent différer) :

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

Cette sortie montre que le port 22 est ouvert et exécute SSH, et que le port 80 est ouvert et exécute le serveur Apache HTTP. Les informations de version pour chaque service sont également affichées.

Ajouter la détaillement avec nmap -v -A 192.168.1.1

Dans cette étape, nous allons ajouter du détaillement à notre balayage agressif Nmap. Le détaillement dans Nmap signifie augmenter la quantité d'informations affichées pendant le balayage. Cela peut être utile pour comprendre ce que fait Nmap et pour résoudre tout problème éventuel. L'option -v augmente le niveau de détaillement. Utiliser -v plusieurs fois (par exemple, -vv ou -vvv) augmente encore le niveau de détaillement, fournissant une sortie encore plus détaillée.

Clarifions pourquoi le détaillement est utile. Par défaut, Nmap fournit un résumé des résultats du balayage. Cependant, lors du dépannage ou de l'essai de comprendre le processus de balayage, des informations plus détaillées peuvent être précieuses. La sortie détaillée montre l'avancée du balayage, les sondes envoyées et les réponses reçues.

Maintenant, exécutons la commande Nmap avec détaillement. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Ensuite, exécutez la commande Nmap suivante :

sudo nmap -v -A 192.168.1.1

Vous devrez saisir votre mot de passe. Comme l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

Cette commande lancera un balayage agressif contre l'adresse IP cible 192.168.1.1, avec un détaillement accru. Nmap affichera plus d'informations sur le processus de balayage au fur et à mesure qu'il progresse.

La sortie sera plus détaillée que le précédent balayage agressif. Vous verrez des informations sur les sondes envoyées, les réponses reçues et l'avancée de chaque étape du balayage. Voici un exemple de ce que pourrait ressembler la sortie (bien que vos résultats puissent différer) :

Starting Nmap 7.80 ( https://nmap.org )
NSE: Chargé 151 scripts pour le balayage.
NSE: Pré-balayage des scripts.
NSE: Démarrage du balayage au niveau 1 (sur 3).
NSE: Exécution du script msrpc-enum sur 192.168.1.1
NSE: Démarrage du balayage au niveau 2 (sur 3).
NSE: Démarrage du balayage au niveau 3 (sur 3).
NSE: Fin du pré-balayage des scripts.
Lancement d'un balayage Ping à 14:35
Balayage de 192.168.1.1 [4 ports]
Balayage Ping terminé à 14:35, 0.00s écoulé (1 hôte au total)
Lancement de la résolution DNS parallèle de 1 hôte. à 14:35
Résolution DNS parallèle de 1 hôte terminée à 14:35, 0.00s écoulé
Lancement d'un balayage SYN Stealth à 14:35
Balayage de 192.168.1.1 [1000 ports]
Port 22/tcp ouvert découvert sur 192.168.1.1
Port 80/tcp ouvert découvert sur 192.168.1.1
Port 443/tcp ouvert découvert sur 192.168.1.1
Balayage SYN Stealth terminé à 14:35, 0.15s écoulé (1000 ports au total)
Lancement d'un balayage des services à 14:35
Balayage de 3 services sur 192.168.1.1
Balayage des services terminé à 14:35, 5.23s écoulé (3 services au total)
Lancement de la détection du système d'exploitation à 14:35
Détaillement de la détection du système d'exploitation terminé à 14:35, 5.18s écoulé
Rapport de balayage Nmap pour 192.168.1.1
Hôte actif (latence de 0.00078s).
Ports non affichés : 997 fermés
... (le reste de la sortie) ...

La sortie détaillée montre les différentes étapes du balayage, telles que le balayage Ping, le balayage des ports, la détection des services et la détection du système d'exploitation. Elle montre également les scripts exécutés par le Nmap Scripting Engine (NSE).

Enregistrer un balayage agressif avec nmap -A -oN aggressive.txt 127.0.0.1

Dans cette étape, nous allons apprendre à enregistrer la sortie d'un balayage agressif Nmap dans un fichier. Cela est utile pour une analyse ultérieure, la rédaction de rapports ou la comparaison avec d'autres balayages. Nmap propose plusieurs options pour enregistrer la sortie dans différents formats. Nous utiliserons l'option -oN, qui enregistre la sortie au format "normal" lisible par l'homme.

L'option -oN suivie d'un nom de fichier indique à Nmap d'enregistrer les résultats du balayage dans le fichier spécifié au format de sortie normal. Ce format est conçu pour être facilement lu par les humains.

Maintenant, exécutons la commande Nmap pour enregistrer la sortie du balayage agressif dans un fichier. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Ensuite, exécutez la commande Nmap suivante :

sudo nmap -A -oN aggressive.txt 127.0.0.1

Vous devrez saisir votre mot de passe. Comme l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

Cette commande lancera un balayage agressif contre l'adresse IP cible 127.0.0.1 et enregistrera la sortie au format normal dans un fichier nommé aggressive.txt dans le répertoire ~/project.

Une fois le balayage terminé, vous pouvez visualiser le contenu du fichier aggressive.txt à l'aide d'un éditeur de texte tel que nano ou cat.

Pour visualiser le contenu du fichier à l'aide de nano, exécutez la commande suivante :

nano aggressive.txt

Cela ouvrira le fichier aggressive.txt dans l'éditeur de texte nano. Vous pouvez parcourir le fichier pour visualiser les résultats du balayage.

Alternativement, vous pouvez utiliser la commande cat pour afficher le contenu du fichier dans le terminal :

cat aggressive.txt

Cela imprimera le contenu du fichier aggressive.txt dans le terminal.

Le contenu du fichier aggressive.txt sera similaire à la sortie que vous voyez à l'écran lorsqu'on exécute Nmap sans l'option -oN, mais il est maintenant enregistré dans un fichier pour une utilisation ultérieure.

## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN aggressive.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

Analyser la sortie détaillée dans le terminal Xfce

Dans cette étape, nous allons analyser la sortie détaillée du balayage agressif que nous avons enregistré dans l'étape précédente. Comprendre la sortie des balayages Nmap est crucial pour identifier les vulnérabilités potentielles et les configurations erronées dans un système. Nous utiliserons la commande cat pour visualiser le contenu du fichier aggressive.txt dans le terminal Xfce et discuter des parties clés de la sortie.

Le balayage agressif (nmap -A) effectue plusieurs types de balayages, notamment :

  • Balayage TCP Connect : Vérifie si les ports sont ouverts en achevant la connexion TCP en trois étapes.
  • Détection de la version du service : Détermine la version du logiciel exécuté sur les ports ouverts.
  • Détection du système d'exploitation : Tente d'identifier le système d'exploitation de l'hôte cible.
  • Traceroute : Trace le chemin réseau vers la cible.
  • Nmap Scripting Engine (NSE) : Exécute des scripts pour identifier les vulnérabilités et recueillir plus d'informations.

Maintenant, analysons la sortie. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Ensuite, utilisez la commande cat pour afficher le contenu du fichier aggressive.txt :

cat aggressive.txt

La sortie sera affichée dans le terminal. Analysons les parties clés :

  1. Rapport de balayage Nmap : Cette section fournit des informations générales sur le balayage, y compris l'adresse IP cible, le nom d'hôte (le cas échéant) et les horaires de début et de fin du balayage.

    ## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN aggressive.txt 127.0.0.1
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000028s latency).
    Other addresses for localhost (not scanned): ::1
  2. Résultats du balayage des ports : Cette section liste les ports ouverts, fermés et filtrés sur l'hôte cible. Pour chaque port ouvert, Nmap tente d'identifier le service exécuté sur ce port et sa version.

    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
    | ssh-hostkey:
    |   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
    |   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
    |_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
    80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
    |_http-server-header: Apache/2.4.41 (Ubuntu)
    • PORT : Le numéro de port et le protocole (par exemple, 22/tcp).
    • STATE : L'état du port (open, closed, filtered).
    • SERVICE : Le service identifié exécuté sur le port (par exemple, ssh, http).
    • VERSION : La version du service (par exemple, OpenSSH 8.2p1, Apache httpd 2.4.41).
    • ssh-hostkey : L'empreinte digitale de la clé hôte SSH.
    • http-server-header : L'en-tête du serveur HTTP.
  3. Informations sur les services : Cette section fournit des informations supplémentaires sur les services exécutés sur l'hôte cible, telles que le système d'exploitation.

    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  4. Détection du système d'exploitation : Cette section affiche les résultats des tentatives de détection du système d'exploitation de Nmap. Nmap compare les réponses qu'il reçoit de l'hôte cible avec une base de données d'empreintes digitales de systèmes d'exploitation connus pour identifier le système d'exploitation.

    OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  5. Résultats du Nmap Scripting Engine (NSE) : Cette section montre la sortie de tout script NSE exécuté pendant le balayage. Ces scripts peuvent fournir une large gamme d'informations, telles que l'identification de vulnérabilités, la collecte d'informations sur les utilisateurs et la détection de configurations erronées. (Cette section peut ne pas être présente si aucun script n'a été exécuté ou s'ils n'ont produit aucune sortie.)

  6. Résumé du balayage : Cette section résume les résultats du balayage, y compris le nombre d'adresses IP balayées et le temps total de balayage.

    ## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

En analysant la sortie détaillée du balayage agressif, vous pouvez acquérir une compréhension complète des services réseau, du système d'exploitation et des vulnérabilités potentielles du système cible.

Comparaison avec un balayage de base dans le terminal Xfce

Dans cette étape, nous allons effectuer un balayage Nmap de base et comparer sa sortie avec le balayage agressif que nous avons effectué précédemment. Cette comparaison mettra en évidence les différences dans le niveau de détail et les types d'informations recueillies par chaque balayage. Un balayage de base effectue généralement seulement un balayage TCP connect, qui est plus rapide mais fournit moins d'informations qu'un balayage agressif.

Un balayage Nmap de base, sans aucune option spécifique, effectue un balayage TCP connect sur les 1000 ports les plus courants. Il identifie si ces ports sont ouverts, fermés ou filtrés. Il ne réalise pas la détection de la version du service, la détection du système d'exploitation ou l'exécution de scripts NSE par défaut.

Maintenant, exécutons un balayage Nmap de base et comparons les résultats. Ouvrez votre terminal Xfce. Assurez-vous d'être dans le répertoire ~/project.

cd ~/project

Exécutez la commande Nmap suivante pour effectuer un balayage de base contre l'adresse IP cible 127.0.0.1 :

sudo nmap 127.0.0.1

Vous devrez saisir votre mot de passe. Comme l'utilisateur labex a des privilèges sudo sans mot de passe, appuyez simplement sur Entrée.

La sortie du balayage de base sera affichée dans le terminal. Elle montrera les ports ouverts, fermés et filtrés sur l'hôte cible.

Starting Nmap 7.80 ( https://nmap.org ) at Mon Nov 21 15:00:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
631/tcp  open  ipp

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

Maintenant, comparons cette sortie avec la sortie du balayage agressif que nous avons enregistré dans le fichier aggressive.txt. Vous pouvez utiliser la commande cat pour visualiser à nouveau le contenu du fichier aggressive.txt :

cat aggressive.txt

Comparez la sortie du balayage de base avec le contenu du fichier aggressive.txt. Vous remarquerez les différences suivantes :

  • Détection de la version du service : Le balayage agressif identifie les versions spécifiques des services exécutés sur les ports ouverts (par exemple, OpenSSH 8.2p1, Apache httpd 2.4.41), tandis que le balayage de base ne détecte que le nom du service (par exemple, ssh, http).
  • Détection du système d'exploitation : Le balayage agressif tente d'identifier le système d'exploitation de l'hôte cible, tandis que le balayage de base ne le fait pas.
  • Scripts NSE : Le balayage agressif peut exécuter des scripts NSE pour recueillir des informations supplémentaires, tandis que le balayage de base ne le fait pas.
  • Nombre de ports balayés : Le balayage de base ne balaye que les 1000 ports les plus courants, tandis que le balayage agressif peut balayer plus de ports selon les options utilisées.

En résumé, le balayage agressif fournit une vue plus détaillée et complète du système cible que le balayage de base. Cependant, il prend également plus de temps pour être effectué et est peut-être plus susceptible d'être détecté par les systèmes de détection d'intrusions. Le choix du type de balayage à utiliser dépend des objectifs spécifiques de l'évaluation et des contraintes de l'environnement.

Sommaire

Dans ce laboratoire, les participants ont appris à effectuer un balayage agressif à l'aide de Nmap. Ils ont exécuté des commandes telles que nmap -A pour effectuer des balayages complets qui combinent la détection du système d'exploitation, la détection de la version, le balayage de scripts et la tracé de route. Ils ont également appris à balayer des ports spécifiques avec -p, à ajouter de la verbosité avec -v et à enregistrer les résultats du balayage dans un fichier à l'aide de -oN. En outre, ils ont analysé les sorties détaillées des balayages et les ont comparées avec des balayages de base dans le terminal Xfce.