Effectuer un scan de ports UDP 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 apprendrez à utiliser Nmap pour effectuer un balayage de ports UDP (User Datagram Protocol), une compétence essentielle pour les professionnels de la sécurité des réseaux. Le UDP, un protocole sans connexion, n'établit pas de connexion dédiée de bout en bout avant le transfert de données. Cela le rend plus rapide mais moins fiable que le TCP.

Le balayage de réseaux est crucial en cybersécurité, car il permet aux professionnels d'identifier les ports ouverts, les services en cours d'exécution et les vulnérabilités potentielles. Nmap, un outil open - source puissant pour la découverte de réseaux et l'audit de sécurité, est largement utilisé par les administrateurs systèmes et les experts en cybersécurité. À la fin de ce laboratoire, vous maîtriserez la configuration d'un serveur UDP, l'exécution d'un balayage de ports UDP de base avec Nmap et l'interprétation des résultats du balayage, qui sont essentiels pour l'exploration des réseaux et l'évaluation de la sécurité.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/udp_scanning("UDP Scanning Techniques") subgraph Lab Skills nmap/installation -.-> lab-415938{{"Effectuer un scan de ports UDP avec Nmap"}} nmap/save_output -.-> lab-415938{{"Effectuer un scan de ports UDP avec Nmap"}} nmap/port_scanning -.-> lab-415938{{"Effectuer un scan de ports UDP avec Nmap"}} nmap/udp_scanning -.-> lab-415938{{"Effectuer un scan de ports UDP avec Nmap"}} end

Configuration d'un serveur UDP

Dans cette étape, vous allez configurer un serveur UDP. Ce serveur servira de cible pour vos balayages Nmap. En procédant ainsi, vous comprendrez mieux le fonctionnement des services UDP et la manière dont les outils de balayage peuvent les détecter.

Compréhension du protocole UDP

Avant de commencer à configurer le serveur, prenons un moment pour comprendre ce qu'est le UDP (User Datagram Protocol). Le UDP fait partie importante de la suite de protocoles Internet (IP).

  • Le UDP est un protocole sans connexion. Cela signifie que, contrairement au TCP, il n'établit pas de connexion avant d'envoyer des données. Lorsqu'on utilise le TCP, une connexion est d'abord établie entre l'émetteur et le récepteur, tandis que le UDP saute cette étape.
  • Le UDP est plus rapide que le TCP. Étant donné qu'il n'a pas à passer par le processus d'établissement d'une connexion, les données peuvent être envoyées plus rapidement. Cependant, cette vitesse a un coût. Le UDP est moins fiable que le TCP car il n'y a aucune garantie que les données seront livrées, qu'elles arriveront dans le bon ordre ou qu'il n'y aura pas de données en double.
  • Le UDP est couramment utilisé dans les applications où la vitesse est plus importante que la fiabilité. Par exemple, la diffusion de médias tels que des vidéos et de la musique, les jeux en ligne et les recherches DNS reposent tous sur le UDP. Dans ces cas, un petit retard dans la livraison des données peut être plus perceptible et perturbateur qu'une petite perte de données.

Configuration du serveur UDP

Pour configurer un serveur UDP, nous allons utiliser un outil appelé netcat, souvent abrégé en nc. netcat est un utilitaire de réseau très utile qui vous permet de lire et d'écrire sur des connexions réseau en utilisant soit le TCP, soit le UDP.

  1. Tout d'abord, ouvrez une fenêtre de terminal. Une fois le terminal ouvert, vous devez accéder au répertoire du projet. C'est là que se trouvent tous les fichiers et configurations pertinents pour ce laboratoire. Vous pouvez le faire en exécutant la commande suivante dans le terminal :
cd /home/labex/project
  1. Maintenant, il est temps de démarrer le serveur UDP. Nous voulons que le serveur écoute sur le port 9999. Vous pouvez démarrer le serveur avec la commande suivante :
nc -u -l -p 9999 -k

Décortiquons ce que signifie chaque option de cette commande :

  • -u : Cette option indique à netcat d'utiliser le UDP au lieu du TCP par défaut. Étant donné que nous configurons un serveur UDP, nous devons le spécifier.
  • -l : Cela met netcat en mode écoute. En mode écoute, netcat agit comme un serveur, attendant les connexions entrantes.
  • -p 9999 : Cette option spécifie le numéro de port sur lequel le serveur écoutera. Dans ce cas, nous avons choisi le port 9999.
  • -k : Cette option indique au serveur de continuer à fonctionner même après la déconnexion d'un client. Cela est utile car il permet au serveur d'accepter de nouvelles connexions sans avoir à le redémarrer chaque fois qu'un client quitte.

Après avoir exécuté cette commande, votre terminal peut sembler figé ou bloqué. C'est un comportement normal. Cela signifie que netcat écoute maintenant activement les connexions UDP entrantes sur le port 9999.

Gardez cette fenêtre de terminal ouverte car nous en aurons besoin pour l'étape suivante. Pour continuer le laboratoire, vous devrez ouvrir une nouvelle fenêtre de terminal.

Effectuer un balayage UDP de base avec Nmap

Dans cette étape, nous allons utiliser Nmap pour scanner le serveur UDP que vous avez configuré à l'étape précédente. Ce processus est crucial car il vous aidera à comprendre comment Nmap identifie les ports UDP ouverts et les services qui s'exécutent sur eux. À la fin de cette étape, vous aurez une meilleure compréhension de l'utilisation de Nmap pour le balayage UDP, qui est une compétence essentielle dans le domaine de la cybersécurité.

Compréhension du balayage UDP avec Nmap

Nmap, acronyme de Network Mapper, est un outil libre et open - source bien connu utilisé pour la découverte de réseaux et l'audit de sécurité. Lorsqu'il s'agit de scanner les ports UDP, Nmap fonctionne différemment par rapport au balayage de ports TCP.

Le UDP, ou User Datagram Protocol, est un protocole sans connexion. Contrairement au TCP, qui établit une connexion avant le transfert de données, le UDP envoie simplement des données sans établir d'abord une connexion. Cela signifie que les méthodes de balayage traditionnelles basées sur la connexion utilisées pour les ports TCP ne fonctionneront pas pour le UDP.

Lorsque Nmap scanne les ports UDP, il envoie des paquets UDP vides au port cible, puis il attend une réponse. Si le port est fermé, le système cible envoie généralement un message ICMP "port inaccessible". Cependant, si le port est ouvert, les choses deviennent un peu plus compliquées. Il se peut qu'il n'y ait aucune réponse du tout, ce qui rend difficile de savoir si le port est vraiment ouvert. Ou, si le service UDP s'exécutant sur le port reconnaît le format du paquet, il peut envoyer une réponse.

Il est important de noter que le balayage UDP est généralement plus lent et moins fiable que le balayage TCP. Cela est dû au fait que le UDP n'a pas les mécanismes intégrés de vérification d'erreur et de retransmission comme le TCP.

Effectuer le balayage UDP

  1. Tout d'abord, ouvrez une nouvelle fenêtre de terminal. Assurez - vous de garder le terminal précédent avec le serveur UDP en cours d'exécution. Cela est important car nous allons scanner le serveur UDP actuellement actif dans ce terminal.

  2. Ensuite, nous devons accéder au répertoire du projet. Dans le nouveau terminal, exécutez la commande suivante :

cd /home/labex/project

Cette commande change le répertoire de travail actuel pour le répertoire du projet où se trouvent tous nos fichiers et configurations pertinents.

  1. Maintenant, il est temps d'exécuter le balayage UDP avec Nmap. Nous allons scanner l'hôte local (127.0.0.1) en ciblant le port 9999. Exécutez la commande suivante :
sudo nmap -sU -p 9999 127.0.0.1 > /home/labex/project/udp_scan_results.txt

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

  • sudo : Cela permet d'exécuter la commande avec des privilèges élevés. Le balayage UDP nécessite ces privilèges élevés car il implique l'envoi de paquets au niveau du réseau bas.
  • nmap : C'est l'outil de balayage que nous utilisons. C'est le cœur de notre opération pour la découverte de réseaux et l'audit de sécurité.
  • -sU : Cette option indique à Nmap d'effectuer un balayage UDP.
  • -p 9999 : Cette option spécifie que nous voulons seulement scanner le port 9999.
  • 127.0.0.1 : C'est l'adresse IP cible. Dans ce cas, c'est l'hôte local, ce qui signifie que nous scannons notre propre machine.
  • > /home/labex/project/udp_scan_results.txt : Cette partie redirige la sortie du balayage Nmap vers un fichier nommé udp_scan_results.txt dans le répertoire du projet. De cette façon, nous pouvons consulter les résultats plus tard.
  1. Une fois le balayage terminé, nous pouvons afficher les résultats. Exécutez la commande suivante :
cat /home/labex/project/udp_scan_results.txt

Vous devriez voir une sortie similaire à ce qui suit :

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

PORT     STATE         SERVICE
9999/udp open|filtered unknown

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

Compréhension des résultats

Examinons de plus près les résultats du balayage et comprenons ce qu'ils signifient.

L'état open|filtered indique que Nmap n'a pas reçu de message ICMP "port inaccessible". Il existe quelques explications possibles pour cela :

  • Le port est ouvert et le service UDP fonctionne comme prévu.
  • Le port peut être filtré par un pare - feu. Un pare - feu pourrait bloquer les messages ICMP "port inaccessible" ou le trafic UDP lui - même.
  • Le système cible pourrait ne pas envoyer de messages ICMP "port inaccessible" pour une raison quelconque.

Dans notre cas, puisque nous avons configuré le serveur UDP nous - mêmes, nous savons que le port est ouvert. L'étiquette de service unknown signifie que Nmap n'a pas pu déterminer quel service s'exécute sur ce port en fonction de son empreinte de service.

Comme mentionné précédemment, le balayage UDP est moins concluant que le balayage TCP. C'est pourquoi Nmap montre souvent l'état open|filtered pour les ports UDP, ce qui rend un peu plus difficile de déterminer avec précision l'état des ports UDP.

Résumé

Dans ce laboratoire, vous avez appris à utiliser Nmap pour le balayage de ports UDP, une compétence essentielle pour l'évaluation de la sécurité des réseaux. Tout d'abord, vous avez configuré un serveur UDP avec netcat pour créer une cible pratique pour le balayage. Ensuite, vous avez effectué un balayage UDP de base avec Nmap sur le port spécifique où le serveur écoutait.

Vous avez également acquis une expérience pratique en matière de compréhension du protocole UDP et de ses différences avec le TCP, de configuration d'un serveur UDP de base à l'aide de netcat, d'utilisation de Nmap pour scanner les ports UDP ouverts et d'interprétation des résultats de balayage UDP. Ces compétences sont fondamentales pour des balayages de réseaux et des évaluations de sécurité plus avancés. Le balayage UDP est essentiel car de nombreux services critiques tels que le DNS, le DHCP et les protocoles de streaming utilisent le UDP.

Au fur et à mesure de votre progression dans le domaine de la cybersécurité, rappelez - vous que le balayage de réseaux n'est qu'une partie d'une évaluation de sécurité globale. N'effectuez toujours des balayages que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite.