Scan de vulnérabilités de base avec Nmap

CompTIABeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire sur la détection de vulnérabilités de base avec Nmap. Nmap (Network Mapper) est un outil puissant et open-source utilisé par les administrateurs réseau et les professionnels de la sécurité pour la découverte de réseau et l'audit de sécurité. Il peut identifier les hôtes disponibles sur un réseau, les services qu'ils proposent, les systèmes d'exploitation qu'ils exécutent, et bien plus encore.

Dans ce laboratoire, vous acquerrez une expérience pratique avec Nmap. Vous commencerez par l'installer sur un système Ubuntu, puis vous l'utiliserez pour scanner votre propre machine (localhost) afin de trouver les ports ouverts, et enfin, vous apprendrez à interpréter les résultats du scan pour identifier les services en cours d'exécution et leurs versions, ce qui constitue la première étape dans l'évaluation des vulnérabilités potentielles.

Installer Nmap sur Ubuntu 22.04

Dans cette étape, vous allez installer l'outil Nmap sur votre système Ubuntu 22.04. Avant de pouvoir utiliser un logiciel, vous devez d'abord vous assurer qu'il est installé. Nous utiliserons le gestionnaire de paquets apt, qui est la norme pour les distributions Linux basées sur Debian comme Ubuntu.

Tout d'abord, il est de bonne pratique de mettre à jour la liste des paquets de votre système. Cela garantit que vous obtenez les dernières versions disponibles des logiciels. Ouvrez un terminal et exécutez la commande suivante :

sudo apt update

Vous verrez une sortie lorsque apt récupérera les dernières informations sur les paquets à partir des dépôts.

Ensuite, installez Nmap en utilisant la commande apt install. L'indicateur -y répond automatiquement "oui" à toutes les invites, rendant l'installation non interactive.

sudo apt install -y nmap

Une fois l'installation terminée, vous pouvez vérifier que Nmap a été correctement installé en consultant sa version.

nmap --version

Vous devriez voir une sortie similaire à la suivante, confirmant l'installation et affichant la version installée.

Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.1f libz-1.2.11 libpcre-8.39 nmap-libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

Maintenant que Nmap est installé, vous êtes prêt à effectuer votre premier scan.

Effectuer un scan de ports localhost pour identifier les services ouverts

Dans cette étape, vous allez effectuer un scan de ports de base sur votre machine locale afin d'identifier les ports ouverts et les services qui leur sont associés. Scanner localhost (qui a l'adresse IP 127.0.0.1) est une manière sûre de s'entraîner avec Nmap, car vous ne scannez que votre propre système.

Un scan de ports recherche les "portes" ouvertes sur un ordinateur que les services utilisent pour communiquer sur le réseau. Par défaut, Nmap scanne les 1000 ports TCP les plus courants.

Pour effectuer un scan de base sur votre machine locale, exécutez la commande suivante dans votre terminal :

nmap localhost

Nmap va maintenant scanner votre machine et rapporter ses découvertes. La sortie ressemblera à ceci. Notez que l'environnement de laboratoire a été préconfiguré pour avoir un service en cours d'exécution sur le port 8000.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000087s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus
8000/tcp open  http-alt       SimpleHTTPServer 0.6 (Python 3.10.12)

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

Analysons cette sortie :

  • PORT : Le numéro de port et le protocole (par exemple, 8000/tcp).
  • STATE : L'état du port. open signifie qu'un service accepte activement des connexions sur ce port.
  • SERVICE : Le nom courant du service généralement trouvé sur ce port (par exemple, ssh pour le port 22).

D'après ce scan, vous avez identifié que les ports 22 et 8000 sont ouverts sur votre machine.

Interpréter les résultats du scan Nmap pour les vulnérabilités potentielles

Dans cette étape, vous apprendrez à interpréter les résultats du scan Nmap pour recueillir des informations plus détaillées, ce qui est crucial pour identifier les vulnérabilités potentielles. Savoir qu'un port est ouvert est utile, mais connaître le logiciel et la version exacts qui s'exécutent sur ce port est beaucoup plus puissant.

Un port ouvert en soi n'est pas une vulnérabilité. Le risque provient du service exécuté sur ce port. Si le service est obsolète ou mal configuré, il pourrait être exploité.

Pour en savoir plus sur les services, vous pouvez utiliser la fonctionnalité de détection de version de Nmap avec l'indicateur -sV. Cela sondera les ports ouverts pour déterminer les informations sur le service et sa version.

Exécutez la commande suivante pour effectuer un scan de version sur localhost :

nmap -sV localhost

La sortie sera maintenant plus détaillée. Portez une attention particulière à la colonne VERSION.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh         OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
3001/tcp open  ssl/nessus?
8000/tcp open  http        SimpleHTTPServer 0.6 (Python 3.10.12)

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

Comme vous pouvez le constater, Nmap a maintenant identifié la version spécifique des services en cours d'exécution. Par exemple, sur le port 8000, il ne s'agit pas seulement d'un service web générique (http-alt), mais spécifiquement de SimpleHTTPServer 0.6 (Python 3.10.12).

Avec ces informations de version, un analyste de sécurité (ou un attaquant) pourrait rechercher dans les bases de données de vulnérabilités en ligne (comme CVE) les exploits connus affectant "SimpleHTTPServer 0.6 (Python 3.10.12)". C'est le processus fondamental d'un scan de vulnérabilité de base.

Résumé

Félicitations pour avoir terminé ce laboratoire ! Vous avez franchi avec succès vos premiers pas dans le monde du scan réseau avec Nmap.

Dans ce laboratoire, vous avez appris à :

  • Installer l'outil Nmap sur un système Ubuntu en utilisant apt.
  • Effectuer un scan de ports de base sur localhost pour découvrir les ports ouverts.
  • Utiliser le scan de détection de version (-sV) pour identifier le logiciel et la version spécifiques exécutés sur ces ports.
  • Comprendre le principe de base de l'interprétation des résultats de scan pour identifier les zones potentielles de faiblesse.

Ce sont des compétences fondamentales pour toute personne travaillant dans la cybersécurité, l'administration système ou l'ingénierie réseau. Nous vous encourageons à continuer d'explorer les nombreuses autres fonctionnalités de Nmap, telles que son puissant moteur de script (NSE) pour des scans plus avancés.