Collecte d'informations avec Nmap

NmapBeginner
Pratiquer maintenant

Introduction

Dans un processus de test d'intrusion, l'étape de collecte d'informations est l'une des phases les plus cruciales. Ce laboratoire se concentre sur l'introduction à l'utilisation d'outils permettant d'obtenir ces informations. Plus vous rassemblez d'informations sur l'hôte cible, plus le taux de réussite du test d'intrusion sera élevé. Dans le système Kali, certains outils de pénétration sont préinstallés. En les utilisant, vous vous familiariserez progressivement avec les étapes fondamentales de la collecte d'informations.

Ce cours est un tutoriel pratique. Pour faciliter la compréhension de certaines opérations, des contenus théoriques sur la sécurité informatique seront ajoutés, et les articles les plus pertinents vous seront recommandés pour lecture pendant votre pratique.

Scanner les ports ouverts sur l'hôte cible

Dans cette étape, nous présenterons comment utiliser des outils pour scanner les ports ouverts sur l'hôte cible.

Lors d'un test d'intrusion, il est nécessaire de comprendre quels ports sont ouverts sur l'hôte cible. Dans Kali Linux, deux outils de scan de ports par défaut sont fournis : Nmap et Zenmap. Nous présenterons principalement l'utilisation de ces deux outils.

Tout d'abord, démarrons l'environnement de laboratoire. La machine hôte est Ubuntu (le bureau auquel vous êtes actuellement connecté), avec Docker et des environnements virtuels QEMU installés. Ils fournissent respectivement le support de plateforme pour le conteneur Kali Linux et la machine cible Metasploitable2.

Sur la machine hôte LabEx, démarrez Metasploitable2 en double-cliquant sur le terminal xfce sur le bureau et en entrant la commande suivante dans le terminal :

sudo virsh start Metasploitable2

Attendez que la machine cible démarre, cela peut prendre 1 à 3 minutes.

Effectuez un ping vers la machine cible pour vous assurer qu'elle est en cours d'exécution (appuyez sur Ctrl-C pour quitter le ping) :

ping 192.168.122.102

Maintenant, démarrons le conteneur Kali et entrons dans l'interface bash, puis exécutez l'opération de ping pour vérifier la connectivité réseau :

docker run -ti --network host b5b709a49cd5 bash

Nous pouvons maintenant exécuter l'opération de ping pour vérifier la connectivité réseau (appuyez sur Ctrl-C pour quitter le ping) :

ping 192.168.122.102

Les deux environnements de laboratoire sont maintenant démarrés et nous pouvons commencer le test d'intrusion.

Remarque : Si vous quittez accidentellement le bash actuel, le conteneur Kali s'arrêtera automatiquement. Vous pouvez exécuter à nouveau la commande docker run -ti --network host b5b709a49cd5 bash sur la machine hôte pour démarrer un nouveau conteneur Kali et entrer dans le bash afin de poursuivre les opérations du laboratoire.

Outil de scan de ports TCP : Nmap

Nmap est un programme d'exploration réseau et de scan de sécurité. Les administrateurs système et les particuliers peuvent utiliser ce logiciel pour scanner de grands réseaux et obtenir des informations sur les hôtes actifs et les services qu'ils fournissent.

Nmap prend en charge de nombreuses techniques de scan, telles que UDP, TCP Connect(), TCP SYN (scan semi-ouvert), FTP proxy (Bounce attack), Idle scan, ICMP, FIN, ACK scan, Xmas Tree, SYN scan et Null scan.

Nmap comprend quatre fonctions de base :

  • Découverte d'hôtes
  • Scan de ports
  • Détection de version
  • Détection de système d'exploitation

Utilisez l'outil nmap et entrez la commande suivante pour effectuer un scan de ports et obtenir des informations sur les ports ouverts de la machine cible :

nmap 192.168.122.102

Zenmap : Une interface graphique pour Nmap

Zenmap est l'interface graphique officielle basée sur Nmap, développée par le projet Nmap. Zenmap est une interface graphique open-source et gratuite écrite en Python, qui peut fonctionner sur différentes plateformes de systèmes d'exploitation (Windows/Linux/Unix/Mac OS, etc.). Zenmap vise à fournir une méthode d'utilisation plus simple pour Nmap. Les opérations courantes peuvent être enregistrées sous forme de profils, et les utilisateurs peuvent sélectionner un profil lors du scan, ce qui facilite la comparaison des différents résultats. Il fournit également une représentation graphique de la topologie du réseau.

Remarque : L'environnement LabEx utilise le conteneur Kali, l'interface graphique n'est donc pas utilisable pour le moment.

Obtenir des informations de base sur l'hôte cible

Dans cette étape, nous nous entraînerons à utiliser des outils pour obtenir des informations de base sur l'hôte cible, telles que le système d'exploitation.

À ce stade, nous devons collecter autant d'informations de base que possible sur le système d'exploitation de l'hôte cible. Cela augmentera le taux de réussite du test d'intrusion. La collecte d'informations fait référence à la prise d'empreinte (fingerprinting), et aux outils de prise d'empreinte active tels que les paramètres -O et -sV dans nmap. Bien que le terme puisse sembler complexe, il s'agit simplement d'identifier la version du système d'exploitation et la version des applications de l'hôte cible pour nous aider à détecter davantage de vulnérabilités au niveau du système d'exploitation et des applications.

Outils de prise d'empreinte active

Pour obtenir le système d'exploitation de l'hôte cible, utilisez la commande suivante :

nmap -O 192.168.122.102

Dans le terminal Kali, exécutez la commande pour afficher les informations de la machine cible. L'adresse IP de la machine cible est 192.168.122.102 :

Pour obtenir les informations sur les services de port de l'hôte cible, utilisez la commande suivante :

nmap -sV 192.168.122.102

Outils de prise d'empreinte passive

Les outils de prise d'empreinte passive, tels que p0f, n'envoient pas de données de sondage spécifiques à la cible, mais reçoivent et analysent passivement les données. Ils sont généralement indétectables.

p0f est puissant en analyse réseau et peut être utilisé pour analyser le NAT, l'équilibrage de charge, les proxys d'application, et plus encore.

Les principales informations identifiées par p0f incluent :

  • Type de système d'exploitation, port
  • Si l'hôte fonctionne en mode NAT
  • Si l'hôte fonctionne derrière un pare-feu
  • Si l'hôte fonctionne en mode équilibrage de charge

Dans le terminal Kali, exécutez la commande suivante pour utiliser p0f afin d'observer l'hôte cible. Le mot-clé host est requis car p0f attend une expression de filtre de paquets valide :

p0f host 192.168.122.102

Scan furtif (Scan TCP semi-ouvert)

Dans le terminal Kali, exécutez la commande pour effectuer un scan furtif :

nmap -sS 192.168.122.102

L'avantage de cette méthode est qu'elle est difficile à détecter et offre une grande discrétion. Elle ne laisse généralement aucune trace sur l'ordinateur cible.

Scan TCP Connect

Dans le terminal Kali, exécutez la commande pour effectuer un scan TCP connect :

nmap -sT 192.168.122.102

Ce type de scan sera enregistré par la plupart des systèmes, mais il peut fournir plus d'informations qu'un scan furtif.

Obtenir des informations sur les services réseau du site cible

Dans cette étape, nous obtiendrons les informations sur les services réseau fournis par le site cible.

Obtenir des informations sur les services réseau

Collecter davantage d'informations sur les services réseau de l'hôte cible aidera à augmenter le taux de réussite du test d'intrusion.

Ouvrez le navigateur Firefox et entrez http://192.168.122.102 dans la barre d'adresse. Si tout se passe bien, vous verrez ce qui suit :

Page d'accueil du site cible LabEx

Scanner des ports spécifiques sur l'hôte cible avec amap

amap est utilisé pour scanner des ports spécifiques sur un hôte. Dans le terminal Kali de LabEx, entrez la commande pour scanner le port 21 sur l'hôte cible :

amap -bqv 192.168.122.102 21

Énumération d'utilisateurs avec smtp-user-enum

L'outil smtp-user-enum est principalement utilisé pour l'énumération d'utilisateurs SMTP. Dans le terminal Kali de LabEx, entrez la commande pour énumérer les utilisateurs SMTP :

smtp-user-enum -M VRFY -u root -t 192.168.122.102

Résumé

Dans ce laboratoire, nous avons pratiqué l'utilisation de divers outils de sécurité courants pour collecter des informations sur l'hôte cible, en couvrant les points de connaissance suivants :

  • Utilisation d'outils pour scanner les ports ouverts sur l'hôte cible
  • Obtention d'informations de base sur l'hôte cible, telles que le système d'exploitation
  • Obtention d'informations sur les services réseau fournis par le site cible
  • Analyse des informations collectées pour identifier des vecteurs d'attaque potentiels

Tout au long du laboratoire, nous avons appris à utiliser différents outils pour la collecte d'informations, ce qui constitue une étape cruciale du processus de test d'intrusion. En maîtrisant ces outils et techniques, nous pouvons augmenter le taux de réussite du test d'intrusion en collectant des informations plus précieuses sur l'hôte cible.