Randomiser les cibles 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, nous allons explorer la manière de randomiser l'ordre des hôtes cibles lors de scans Nmap. Nous commencerons par effectuer un scan de sous-réseau standard sur 192.168.1.0/24 pour identifier les hôtes actifs.

Ensuite, nous utiliserons l'option --randomize-hosts pour mélanger l'ordre dans lequel Nmap scanne les adresses IP cibles, à la fois pour un sous-réseau (192.168.1.0/24) et une plage spécifique (192.168.1.1-10). Nous ajouterons également la verbeux avec le drapeau -v et enregistrer les résultats de scan randomisés dans un fichier nommé random.txt. Enfin, nous comparerons les sorties dans le terminal Xfce pour observer l'effet de la randomisation.

Scanner normalement un sous-réseau avec nmap 192.168.1.0/24

Dans cette étape, nous allons effectuer un scan de réseau de base à l'aide de Nmap pour identifier les hôtes actifs dans le sous-réseau 192.168.1.0/24. Il s'agit d'une technique fondamentale pour la reconnaissance de réseau et la compréhension des dispositifs présents sur un réseau.

Avant de commencer, parlons brièvement de ce que sont Nmap et le scan de sous-réseau :

  • Nmap (Network Mapper) : Un utilitaire gratuit et open-source pour la découverte de réseau et l'audit de sécurité. Il est utilisé pour découvrir des hôtes et des services sur un réseau informatique en envoyant des paquets et en analysant les réponses.
  • Sous-réseau : Une subdivision logique d'un réseau IP. La notation /24 (notation CIDR) indique le masque de sous-réseau, qui dans ce cas est 255.255.255.0. Cela signifie que les trois premiers octets (192.168.1) définissent le réseau, et le dernier octet (0-255) définit les adresses hôtes dans ce réseau.
  • Scan de sous-réseau : Le processus consistant à scanner toutes les adresses IP possibles dans un sous-réseau pour identifier les hôtes actifs.

Maintenant, effectuons le scan. Ouvrez votre terminal Xfce dans la machine virtuelle LabEx. Rappelez-vous que votre répertoire par défaut est ~/project.

Exécutez la commande suivante :

sudo nmap 192.168.1.0/24

Vous serez invité à 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 indique à Nmap de scanner toutes les adresses IP de 192.168.1.0 à 192.168.1.255. Nmap enverra diverses sondes à chaque adresse IP pour déterminer si un hôte est actif.

La sortie vous montrera une liste d'hôtes découverts et leur statut (par exemple, "Hôte actif"). Elle peut également montrer les ports ouverts sur ces hôtes si Nmap est capable de les déterminer.

Exemple de sortie (la sortie réelle variera selon votre réseau) :

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: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
80/tcp  open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.00 seconds

Cette sortie indique que deux hôtes ont été trouvés actifs : 192.168.1.1 et 192.168.1.100. Elle montre également que le port 22 (SSH) est ouvert sur 192.168.1.1 et le port 80 (HTTP) est ouvert sur 192.168.1.100.

Randomiser les hôtes avec nmap --randomize-hosts 192.168.1.0/24

Dans cette étape, nous allons améliorer notre scan de réseau en randomisant l'ordre dans lequel Nmap scanne les hôtes dans le sous-réseau 192.168.1.0/24. Cette technique est utile pour contourner les systèmes de détection d'intrusions (IDS) de base et rendre le scan moins prévisible.

Par défaut, Nmap scanne les hôtes dans un ordre séquentiel. Cela peut être facilement détecté par des outils de surveillance de réseau. L'option --randomize-hosts mélange l'ordre des adresses IP cibles avant le scan, rendant ainsi plus difficile d'identifier le scan.

Pour randomiser l'ordre des hôtes, exécutez la commande suivante dans votre terminal Xfce :

sudo nmap --randomize-hosts 192.168.1.0/24

Comme précédemment, vous serez invité à 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 va scanner le même sous-réseau (192.168.1.0/24) que dans l'étape précédente, mais l'ordre dans lequel les adresses IP sont scannées sera randomisé.

La sortie sera similaire au scan précédent, montrant les hôtes découverts et leur statut. Cependant, l'ordre dans lequel les hôtes sont listés peut être différent.

Exemple de sortie (la sortie réelle variera selon votre réseau) :

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

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.10 seconds

Remarquez que l'ordre des hôtes (192.168.1.100 et 192.168.1.1) dans la sortie peut être différent du scan précédent. C'est dû à l'option --randomize-hosts.

Randomiser la plage avec nmap --randomize-hosts 192.168.1.1-10

Dans cette étape, nous allons nous concentrer sur le scan d'une plage spécifique d'adresses IP (de 192.168.1.1 à 192.168.1.10) et sur la randomisation de l'ordre dans lequel ces hôtes sont scannés. Cela est utile lorsque vous voulez cibler un sous-ensemble plus petit d'un réseau tout en maintenant un certain niveau de discrétion.

L'option --randomize-hosts, comme nous l'avons vu dans l'étape précédente, mélange l'ordre des adresses IP cibles. Cette fois, nous allons l'appliquer à une plage spécifique au lieu de l'ensemble du sous-réseau.

Pour randomiser l'ordre des hôtes dans la plage 192.168.1.1-10, exécutez la commande suivante dans votre terminal Xfce :

sudo nmap --randomize-hosts 192.168.1.1-10

Vous serez invité à 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 indique à Nmap de scanner les adresses IP de 192.168.1.1 à 192.168.1.10, mais dans un ordre aléatoire.

La sortie vous montrera une liste d'hôtes découverts dans cette plage et leur statut. L'ordre dans lequel les hôtes sont listés sera aléatoire chaque fois que vous exécuterez la commande.

Exemple de sortie (la sortie réelle variera selon votre réseau) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.5
Host is up (0.00025s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
80/tcp  open  http

Nmap done: 10 IP addresses (2 hosts up) scanned in 2.00 seconds

Dans cet exemple, Nmap a scanné les adresses IP de 192.168.1.1 à 192.168.1.10 dans un ordre aléatoire et a trouvé deux hôtes actifs : 192.168.1.5 et 192.168.1.1. Les ports affichés ne sont que des exemples et peuvent différer dans votre environnement.

Ajouter la détaillement avec nmap -v --randomize-hosts 192.168.1.0/24

Dans cette étape, nous allons ajouter un détaillement à notre scan Nmap tout en continuant de randomiser l'ordre des hôtes. Le détaillement fournit des informations plus détaillées sur le processus de scan, ce qui peut être utile pour le dépannage ou la compréhension du comportement de Nmap.

L'option -v dans Nmap augmente le niveau de détaillement. L'utilisation une fois fournit plus d'informations que la sortie par défaut. L'utilisation deux fois (-vv) fournit encore plus de détails.

Pour ajouter le détaillement et randomiser l'ordre des hôtes, exécutez la commande suivante dans votre terminal Xfce :

sudo nmap -v --randomize-hosts 192.168.1.0/24

Vous serez invité à 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 va scanner le sous-réseau 192.168.1.0/24, randomiser l'ordre des hôtes et fournir une sortie plus détaillée.

La sortie inclura désormais des détails sur le processus de scan, tels que les sondes envoyées, les ports scannés et les raisons pour certaines décisions.

Exemple de sortie (la sortie réelle variera selon votre réseau) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Initiating Ping Scan at 10:15
Scanning 256 hosts [2 ports/host]
Completed Ping Scan at 10:15, 0.72s elapsed (256 total hosts)
Initiating Parallel DNS resolution of 256 hosts. at 10:15
Completed Parallel DNS resolution of 256 hosts. at 10:15, 1.81s elapsed
Initiating SYN Stealth Scan at 10:15
Scanning 256 hosts [1000 ports/host]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.100
Completed SYN Stealth Scan at 10:16, 3.21s elapsed (256 total hosts)
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.74 seconds

La sortie montre désormais plus d'informations sur le processus de scan, telles que le chronogramme du scan Ping et de la résolution DNS. Cela peut être utile pour comprendre comment Nmap fonctionne et pour résoudre tout problème.

Sauvegarder les résultats avec nmap --randomize-hosts -oN random.txt 192.168.1.0/24

Dans cette étape, nous allons apprendre à sauvegarder les résultats d'un scan Nmap dans un fichier. Cela est crucial pour une analyse ultérieure, la rédaction de rapports ou la comparaison avec des scans antérieurs. Nous allons continuer de randomiser l'ordre des hôtes tout en sauvegardant la sortie.

Nmap propose plusieurs options pour sauvegarder les résultats du scan, chacune avec un format différent. L'option -oN spécifie une sortie "normale", qui est lisible par l'homme et adaptée pour être analysée avec des outils simples.

Pour sauvegarder les résultats d'un scan d'hôtes randomisés dans un fichier nommé random.txt, exécutez la commande suivante dans votre terminal Xfce :

sudo nmap --randomize-hosts -oN random.txt 192.168.1.0/24

Vous serez invité à 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 indique à Nmap de scanner le sous-réseau 192.168.1.0/24, de randomiser l'ordre des hôtes et de sauvegarder la sortie au format "normal" dans un fichier nommé random.txt dans votre répertoire courant (~/project).

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

cat random.txt

Exemple de sortie (la sortie réelle variera selon votre réseau) :

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.00 seconds

Le fichier random.txt contient désormais les mêmes informations qui ont été affichées à l'écran pendant le scan. Vous pouvez désormais utiliser ce fichier pour une analyse ou une rédaction de rapport plus approfondie.

#Comparer les sorties dans le terminal Xfce

Dans cette étape, nous allons comparer les sorties des différents scans Nmap que nous avons effectués dans les étapes précédentes. Cela nous aidera à comprendre les effets des diverses options que nous avons utilisées, telles que la randomisation des hôtes et le détaillement.

Tout d'abord, revenons sur les commandes que nous avons exécutées :

  1. sudo nmap 192.168.1.0/24 (Scan normal)
  2. sudo nmap --randomize-hosts 192.168.1.0/24 (Hôtes randomisés)
  3. sudo nmap --randomize-hosts 192.168.1.1-10 (Plage randomisée)
  4. sudo nmap -v --randomize-hosts 192.168.1.0/24 (Détaillement, hôtes randomisés)
  5. sudo nmap --randomize-hosts -oN random.txt 192.168.1.0/24 (Hôtes randomisés, enregistrés dans un fichier)

Pour comparer les sorties, vous pouvez utiliser plusieurs méthodes :

  • Comparaison directe dans le terminal : Vous pouvez remonter dans l'historique de votre terminal pour comparer les sorties des quatre premières commandes. Remarquez les différences dans l'ordre des hôtes scannés (le cas échéant) et le niveau de détail fourni par le scan détaillé.

  • Comparer le scan normal avec le fichier enregistré : Vous pouvez exécuter la première commande à nouveau et comparer sa sortie avec le contenu du fichier random.txt que nous avons créé dans l'étape précédente.

    sudo nmap 192.168.1.0/24
    cat random.txt

    Remarquez que la sortie devrait être similaire, mais l'ordre des hôtes scannés peut être différent en raison de l'option --randomize-hosts utilisée lors de la création de random.txt.

  • Utiliser la commande diff (Facultatif) : Pour une comparaison plus détaillée, vous pouvez enregistrer la sortie du scan normal dans un fichier (par exemple, normal.txt) et puis utiliser la commande diff pour comparer les deux fichiers.

    sudo nmap -oN normal.txt 192.168.1.0/24
    diff normal.txt random.txt

    La commande diff mettra en évidence toutes les différences entre les deux fichiers. Si la seule différence est l'ordre des hôtes, la sortie montrera les lignes qui sont ajoutées et supprimées, mais le contenu sera le même.

En comparant les sorties, vous devriez être en mesure d'observer ce qui suit :

  • L'option --randomize-hosts change l'ordre dans lequel Nmap scanne les hôtes.
  • L'option -v fournit des informations plus détaillées sur le processus de scan.
  • L'option -oN enregistre les résultats du scan dans un fichier au format lisible par l'homme.

Cela conclut le laboratoire Nmap. Vous avez appris à effectuer des scans Nmap de base, à randomiser l'ordre des hôtes, à augmenter le détaillement et à enregistrer les résultats dans un fichier. Ces sont des compétences fondamentales pour la reconnaissance de réseau et l'audit de sécurité.

Sommaire

Dans ce laboratoire, nous avons exploré les capacités de Nmap pour le scan de réseau et la découverte d'hôtes. Nous avons commencé par effectuer un scan de sous-réseau standard en utilisant nmap 192.168.1.0/24 pour identifier les hôtes actifs dans la plage de réseau spécifiée. Cette étape de base a démontré la manière dont Nmap sond les adresses IP pour déterminer la disponibilité des hôtes.

Subsequent, nous avons appris à randomiser l'ordre dans lequel Nmap scanne les cibles en utilisant l'option --randomize-hosts, en l'appliquant à la fois à un sous-réseau (192.168.1.0/24) et à une plage d'adresses IP spécifique (192.168.1.1-10). Nous avons également amélioré le scan avec un détaillement (-v) pour une sortie plus détaillée et enregistré les résultats dans un fichier (random.txt) pour une comparaison ultérieure, mettant en évidence des techniques pratiques pour contrôler et documenter les scans Nmap.