Reconnaissance Kali avec Nmap et DNS

Kali LinuxKali LinuxBeginner
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 labo, vous apprendrez les bases de la reconnaissance en utilisant Kali Linux, en vous concentrant sur les techniques d'analyse de réseau (network scanning) et d'interrogation DNS (DNS querying). Cette expérience pratique vous guide dans l'identification des ports ouverts et des services sur un système cible avec nmap, un outil puissant d'analyse de réseau, et la collecte d'informations DNS à l'aide de dnsrecon. Conçu pour les débutants, ce labo fournit des instructions étape par étape dans un environnement sécurisé de VM LabEx, fonctionnant sur un hôte cloud indépendant. Vous effectuerez des analyses de ports avec nmap, énumérerez les services à l'aide de scripts, interrogerez les enregistrements DNS et enregistrerez vos résultats pour analyse. Lorsque vous ouvrez le terminal, vous serez automatiquement connecté au shell du conteneur Kali Linux, prêt à commencer à pratiquer sans avoir besoin de démarrer ou d'entrer manuellement dans le conteneur.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kali(("Kali")) -.-> kali/KaliGroup(["Kali"]) kali/KaliGroup -.-> kali/term_ops("Kali Terminal") kali/KaliGroup -.-> kali/file_ctrl("File Management") kali/KaliGroup -.-> kali/pkg_ops("Package Management") kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool") kali/KaliGroup -.-> kali/bash_code("Bash Scripting") subgraph Lab Skills kali/term_ops -.-> lab-552298{{"Reconnaissance Kali avec Nmap et DNS"}} kali/file_ctrl -.-> lab-552298{{"Reconnaissance Kali avec Nmap et DNS"}} kali/pkg_ops -.-> lab-552298{{"Reconnaissance Kali avec Nmap et DNS"}} kali/nmap_ops -.-> lab-552298{{"Reconnaissance Kali avec Nmap et DNS"}} kali/bash_code -.-> lab-552298{{"Reconnaissance Kali avec Nmap et DNS"}} end

Installation et exécution d'un scan Nmap de base

Dans cette première étape, vous apprendrez à installer et à utiliser nmap, un outil puissant pour l'analyse de réseau (network scanning), afin d'identifier les ports ouverts sur un système cible. L'analyse de ports (port scanning) est une compétence fondamentale en matière de reconnaissance, vous aidant à découvrir quels services sont en cours d'exécution sur une machine et à potentiellement découvrir des vulnérabilités. Cette étape est conçue pour les débutants, et nous vous guiderons à travers chaque détail.

Lorsque vous ouvrez le terminal dans l'environnement de VM LabEx, vous serez automatiquement connecté au shell du conteneur Kali Linux. Il n'est pas nécessaire de démarrer manuellement le conteneur ou d'entrer dans le shell ; l'environnement est déjà configuré pour vous.

Avant de commencer, comprenons ce que fait nmap. nmap, abréviation de Network Mapper, est un outil utilisé pour découvrir les hôtes et les services sur un réseau en envoyant des paquets et en analysant les réponses. Les ports ouverts indiquent souvent des services en cours d'exécution, tels que des serveurs web ou SSH, qui peuvent être des points d'entrée pour une analyse plus approfondie.

Maintenant, installons nmap et effectuons un scan de base. Suivez attentivement ces instructions :

  1. Tout d'abord, mettez à jour la liste des paquets pour vous assurer de pouvoir installer la dernière version de nmap. Tapez la commande suivante dans le terminal et appuyez sur Entrée :

    apt update

    Cette commande actualise la liste des paquets disponibles. Cela peut prendre quelques secondes et vous verrez une sortie indiquant le processus de mise à jour.

  2. Ensuite, installez nmap en tapant la commande suivante et en appuyant sur Entrée :

    apt install -y nmap

    L'option -y confirme automatiquement l'installation sans vous demander. Attendez que l'installation soit terminée ; cela ne devrait prendre qu'un court laps de temps. Vous verrez une sortie indiquant la progression de l'installation.

  3. Une fois nmap installé, exécutons un scan de base sur localhost (votre propre conteneur, adresse IP 127.0.0.1), qui est une cible sûre pour la pratique. Tapez la commande suivante et appuyez sur Entrée :

    nmap localhost

    Cette commande analyse les ports les plus courants sur localhost. Après quelques secondes, vous verrez une sortie similaire à la suivante (la sortie réelle peut varier) :

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    Dans cette sortie, Host is up confirme que la cible est accessible. Le tableau répertorie les ports ouverts, leur état (open signifie accessible) et le service associé (comme http sur le port 80). Ces informations vous aident à comprendre quels services sont en cours d'exécution sur le système.

Cette étape vous a présenté l'installation et l'utilisation de nmap pour l'analyse de ports de base (basic port scanning). Vous avez franchi la première étape de la reconnaissance en identifiant les ports ouverts sur une cible sûre. Dans l'étape suivante, nous nous appuierons sur cela en enregistrant les résultats de l'analyse pour une analyse plus approfondie. Assurez-vous d'être à l'aise avec l'exécution de la commande nmap avant de passer à autre chose.

Enregistrement des résultats d'analyse Nmap dans un fichier

Maintenant que vous avez effectué une analyse de base avec nmap, apprenons à enregistrer la sortie de votre analyse dans un fichier pour référence future. L'enregistrement des résultats est une compétence essentielle en matière de reconnaissance, vous permettant de documenter les résultats et de les analyser ultérieurement sans avoir besoin de relancer les analyses. Cette étape s'appuie directement sur la précédente, alors assurez-vous d'avoir terminé l'analyse nmap de base avant de continuer.

La redirection de sortie (output redirection) dans Linux vous permet d'enregistrer les résultats d'une commande dans un fichier au lieu de les afficher dans le terminal. Cela se fait à l'aide du symbole >, qui écrit la sortie dans un fichier spécifié, en l'écrasant s'il existe déjà. Nous enregistrerons les résultats dans le répertoire /root du conteneur Kali Linux, qui est votre zone de travail par défaut.

Suivez ces instructions pour enregistrer les résultats de votre analyse nmap :

  1. Effectuez une autre analyse nmap sur localhost et redirigez la sortie vers un fichier nommé nmap_scan.txt dans le répertoire /root. Tapez la commande suivante dans le terminal et appuyez sur Entrée :

    nmap localhost > /root/nmap_scan.txt

    Le symbole > redirige la sortie de la commande nmap localhost vers le fichier /root/nmap_scan.txt. Vous ne verrez pas les résultats de l'analyse dans le terminal car ils sont enregistrés dans le fichier. Attendez quelques secondes que l'analyse se termine.

  2. Pour confirmer que la sortie a été enregistrée avec succès, affichez le contenu du fichier en tapant la commande suivante et en appuyant sur Entrée :

    cat /root/nmap_scan.txt

    Vous devriez voir une sortie similaire à la suivante (la sortie réelle peut varier) :

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    Cela confirme que les résultats de l'analyse ont été enregistrés avec succès dans /root/nmap_scan.txt. L'enregistrement des sorties dans des fichiers est un moyen pratique de suivre vos résultats lors des tâches de reconnaissance.

Dans cette étape, vous avez appris à rediriger la sortie nmap vers un fichier pour la documentation. Cette compétence vous sera utile lorsque nous passerons à des techniques d'analyse plus avancées à l'étape suivante. Assurez-vous de pouvoir voir les résultats enregistrés dans le fichier avant de continuer.

Énumération des services avec les scripts Nmap

S'appuyant sur vos compétences de base en matière d'analyse, cette étape présente l'énumération des services à l'aide de scripts nmap pour recueillir des informations détaillées sur les services en cours d'exécution sur les ports ouverts. L'énumération des services est un élément essentiel de la reconnaissance, car elle permet d'identifier les versions spécifiques des services qui pourraient présenter des vulnérabilités connues. Cette étape suppose que nmap est installé et que vous avez effectué les analyses précédentes.

L'énumération des services va au-delà de la simple recherche de ports ouverts ; elle vise à identifier le logiciel et la version exacts qui s'exécutent sur ces ports. nmap fournit un moteur de script appelé NSE (Nmap Scripting Engine), qui comprend des scripts pré-construits pour détecter les détails du service et les problèmes potentiels. Nous utiliserons l'option -sV pour la détection de version dans cette étape.

Énumérons les services sur localhost en suivant les instructions suivantes :

  1. Exécutez une analyse nmap avec détection de version sur localhost. Tapez la commande suivante dans le terminal et appuyez sur Entrée :

    nmap -sV localhost

    L'option -sV indique à nmap de sonder les ports ouverts pour obtenir des informations détaillées sur le service et la version. Attendez que l'analyse se termine ; cela peut prendre quelques secondes de plus que l'analyse de base. Vous devriez voir une sortie similaire à la suivante (la sortie réelle peut varier) :

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE VERSION
    80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
    ...
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

    Dans cette sortie, vous pouvez voir la version du service en cours d'exécution sur le port 80, telle que Apache httpd 2.4.41. Ces informations sont précieuses car des versions spécifiques peuvent présenter des vulnérabilités connues qui peuvent être étudiées plus en détail.

  2. Enregistrez les résultats de cette analyse de détection de version dans un fichier nommé service_scan.txt dans le répertoire /root. Tapez la commande suivante et appuyez sur Entrée :

    nmap -sV localhost > /root/service_scan.txt

    Comme précédemment, le symbole > redirige la sortie vers le fichier spécifié. Vous ne verrez pas les résultats dans le terminal car ils sont enregistrés directement dans /root/service_scan.txt.

  3. Confirmez que la sortie a été enregistrée en affichant le contenu du fichier. Tapez la commande suivante et appuyez sur Entrée :

    cat /root/service_scan.txt

    Vous devriez voir la même sortie détaillée que ci-dessus, maintenant stockée dans le fichier pour référence future.

Cette étape vous a montré comment utiliser nmap pour l'énumération des services, fournissant des informations plus approfondies sur les services en cours d'exécution sur une cible. Dans l'étape suivante, nous explorerons la reconnaissance DNS à l'aide d'un autre outil. Assurez-vous de comprendre comment exécuter des analyses de détection de version et enregistrer la sortie avant de passer à autre chose.

Installation et interrogation DNS avec dnsrecon

Dans cette étape, nous nous concentrons sur la reconnaissance DNS à l'aide de dnsrecon, un outil permettant de collecter des informations DNS sur un domaine. L'énumération DNS permet d'identifier les sous-domaines, les serveurs de messagerie et d'autres détails d'infrastructure, qui sont essentiels pour comprendre la présence en ligne d'une cible. Cette étape est conçue pour les débutants et suppose que vous travaillez dans le shell du conteneur Kali Linux.

Le DNS (Domain Name System), ou système de noms de domaine, traduit les noms de domaine tels que example.com en adresses IP que les ordinateurs utilisent pour communiquer. Les enregistrements DNS comprennent des informations telles que les adresses IP des hôtes (enregistrements A), les serveurs de messagerie (enregistrements MX), et plus encore. dnsrecon est un outil qui interroge ces enregistrements pour découvrir des détails sur la configuration d'un domaine. Pour ce labo, nous utiliserons example.com comme cible sûre pour la pratique.

Suivez ces instructions pour installer et utiliser dnsrecon :

  1. Mettez à jour la liste des paquets pour vous assurer de pouvoir installer la dernière version de dnsrecon. Tapez la commande suivante dans le terminal et appuyez sur Entrée :

    apt update

    Cela actualise la liste des paquets. Attendez que le processus se termine ; vous verrez une sortie indiquant la progression de la mise à jour.

  2. Installez dnsrecon en tapant la commande suivante et en appuyant sur Entrée :

    apt install -y dnsrecon

    L'option -y confirme l'installation automatiquement. Attendez que l'installation se termine ; cela ne devrait prendre que quelques secondes. Vous verrez une sortie indiquant la progression de l'installation.

  3. Une fois installé, exécutez une énumération DNS de base sur example.com. Tapez la commande suivante et appuyez sur Entrée :

    dnsrecon -d example.com

    L'option -d spécifie le domaine à interroger. Après avoir exécuté la commande, vous verrez une sortie similaire à la suivante (la sortie réelle peut varier) :

    [*] Performing General Enumeration of Domain: example.com
    [*] DNSSEC is not configured for example.com
    [*] SOA ns.icann.org 199.4.138.53
    [*] NS ns.icann.org 199.4.138.53
    [*] A example.com 93.184.216.34
    [*] AAAA example.com 2606:2800:220:1:248:1893:25c8:1946
    [*] MX example.com 0 .
    [*] TXT example.com "v=spf1 -all"
    [*] Enumeration Complete.

    Cette sortie affiche divers enregistrements DNS pour example.com, donnant un aperçu de sa configuration :

    • SOA (Start of Authority) : Contient des informations administratives sur la zone.
    • NS (Name Server) : Répertorie les serveurs faisant autorité pour le domaine.
    • A (Address) : Associe le nom de domaine à une adresse IPv4.
    • AAAA (IPv6 Address) : Associe le nom de domaine à une adresse IPv6.
    • MX (Mail Exchanger) : Spécifie les serveurs de messagerie responsables de l'acceptation des e-mails pour le domaine.
    • TXT (Text) : Contient du texte arbitraire, souvent utilisé à des fins de vérification comme SPF (Sender Policy Framework) qui est affiché ici (v=spf1 -all).
  4. Enregistrez les résultats de l'énumération DNS dans un fichier nommé dns_results.txt dans le répertoire /root. Tapez la commande suivante et appuyez sur Entrée :

    dnsrecon -d example.com > /root/dns_results.txt

    Le symbole > redirige la sortie vers le fichier spécifié. Vous ne verrez pas les résultats dans le terminal car ils sont enregistrés directement dans /root/dns_results.txt.

  5. Confirmez que la sortie a été enregistrée en affichant le contenu du fichier. Tapez la commande suivante et appuyez sur Entrée :

    cat /root/dns_results.txt

    Vous devriez voir les mêmes résultats d'énumération DNS que ci-dessus, maintenant stockés dans le fichier.

Cette étape vous a présenté la reconnaissance DNS avec dnsrecon, vous montrant comment collecter des informations de domaine critiques. Dans l'étape suivante, nous combinerons tous vos résultats dans un seul fichier récapitulatif. Assurez-vous de pouvoir voir les résultats DNS enregistrés avant de continuer.

Résumé

Dans ce labo, vous avez appris des techniques de reconnaissance essentielles en utilisant les outils Kali Linux pour recueillir des informations sur un système cible. Vous avez commencé par installer et utiliser nmap pour effectuer une analyse de port de base sur une cible locale sûre (localhost), en identifiant les ports ouverts et les services associés comme le serveur web Apache que nous avons installé. Vous avez ensuite enregistré ces résultats dans un fichier à des fins de documentation. Ensuite, vous avez exploré l'énumération des services avec les scripts nmap pour découvrir des informations détaillées sur les versions, suivie de la reconnaissance DNS à l'aide de dnsrecon pour interroger les enregistrements de domaine pour example.com. Ces compétences fondamentales en matière d'analyse de réseau et de collecte d'informations sont essentielles pour les tests d'intrusion (penetration testing) et l'audit de sécurité réseau (network security auditing).