Reconnaissance Kali avec Nmap et DNS

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous apprendrez les bases de la reconnaissance avec Kali Linux, en vous concentrant sur les techniques de balayage réseau et de requêtes DNS. Cette expérience pratique vous guidera dans l'identification des ports et services ouverts sur un système cible avec nmap, un outil de scan réseau puissant, et dans la collecte d'informations DNS à l'aide de dnsrecon. Conçu pour les débutants, cet atelier propose des instructions étape par étape au sein d'un environnement sécurisé de VM LabEx s'exécutant sur un hôte cloud indépendant. Vous effectuerez des scans de ports avec nmap, énumérerez des services à l'aide de scripts, interrogerez des enregistrements DNS et sauvegarderez vos découvertes pour analyse. Lorsque vous ouvrirez le terminal, vous serez automatiquement connecté au shell du conteneur Kali Linux, prêt à pratiquer sans avoir besoin de démarrer ou d'entrer manuellement dans le conteneur.

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

Dans cette première étape, vous apprendrez à installer et à utiliser nmap, un outil puissant de balayage réseau, pour identifier les ports ouverts sur un système cible. Le scan de ports est une compétence fondamentale en reconnaissance, vous aidant à découvrir quels services s'exécutent sur une machine et potentiellement à révéler 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 VM LabEx, vous êtes 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 des hôtes et des 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 ultérieure.

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 s'afficher 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 solliciter. Attendez que l'installation se termine ; cela ne devrait prendre que peu de temps. Vous verrez des messages indiquant la progression de l'installation.

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

    nmap localhost

    Cette commande scanne les ports les plus courants sur localhost. Après quelques secondes, vous verrez un résultat similaire au suivant (le résultat réel 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 ce résultat, Host is up confirme que la cible est joignable. Le tableau liste 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 fonctionnent sur le système.

Cette étape vous a initié à l'installation et à l'utilisation de nmap pour un scan de ports basique. Vous avez fait le premier pas en reconnaissance en identifiant les ports ouverts sur une cible sécurisée. Dans l'étape suivante, nous irons plus loin en sauvegardant les résultats du scan pour une analyse ultérieure. Assurez-vous d'être à l'aise avec l'exécution de la commande nmap avant de continuer.

Sauvegarde des résultats du scan Nmap dans un fichier

Maintenant que vous avez effectué un scan de base avec nmap, apprenons à sauvegarder le résultat de votre scan dans un fichier pour référence future. La sauvegarde des résultats est une compétence essentielle en reconnaissance, vous permettant de documenter vos découvertes et de les analyser plus tard sans avoir à relancer les scans. Cette étape s'appuie directement sur la précédente, assurez-vous donc d'avoir terminé le scan nmap de base avant de poursuivre.

La redirection de sortie sous 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 sauvegarderons 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 sauvegarder vos résultats de scan nmap :

  1. Effectuez un autre scan 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 du scan dans le terminal car ils sont enregistrés dans le fichier. Attendez quelques secondes que le scan se termine.

  2. Pour confirmer que la sortie a été sauvegardé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 un résultat similaire au suivant (le résultat réel 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 du scan ont été correctement enregistrés dans /root/nmap_scan.txt. Sauvegarder les sorties dans des fichiers est un moyen pratique de garder une trace de vos découvertes lors des tâches de reconnaissance.

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

Énumération des services avec les scripts Nmap

En vous appuyant sur vos compétences de base en balayage, cette étape introduit l'énumération des services à l'aide des scripts nmap pour recueillir des informations détaillées sur les services s'exécutant sur les ports ouverts. L'énumération des services est une partie critique de la reconnaissance, car elle aide à 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 terminé les scans précédents.

L'énumération des services va au-delà de la simple recherche de ports ouverts ; elle vise à identifier le logiciel exact et la version s'exécutant sur ces ports. nmap fournit un moteur de script appelé NSE (Nmap Scripting Engine), qui comprend des scripts pré-intégrés pour détecter les détails des services 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 ces instructions :

  1. Lancez un scan 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 demande à nmap de sonder les ports ouverts pour obtenir des informations détaillées sur le service et sa version. Attendez que le scan se termine ; cela peut prendre quelques secondes de plus qu'un scan de base. Vous devriez voir un résultat similaire au suivant (le résultat réel 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 ce résultat, vous pouvez voir la version du service s'exécutant sur le port 80, comme Apache httpd 2.4.41. Cette information est précieuse car des versions spécifiques peuvent avoir des vulnérabilités connues qui peuvent être étudiées plus en détail.

  2. Sauvegardez les résultats de ce scan 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 puisqu'ils sont enregistrés directement dans /root/service_scan.txt.

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

    cat /root/service_scan.txt

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

Cette étape vous a montré comment utiliser nmap pour l'énumération des services, offrant un aperçu plus approfondi des services s'exécutant sur une cible. Dans l'étape suivante, nous explorerons la reconnaissance DNS à l'aide d'un autre outil. Assurez-vous de bien comprendre comment exécuter des scans de détection de version et sauvegarder la sortie avant de passer à la suite.

Installation et interrogation DNS avec dnsrecon

Dans cette étape, nous changeons de perspective pour nous concentrer sur la reconnaissance DNS avec dnsrecon, un outil permettant de collecter des informations DNS sur un domaine. L'énumération DNS aide à identifier les sous-domaines, les serveurs de messagerie et d'autres détails d'infrastructure, qui sont cruciaux 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, ou Domain Name System, traduit les noms de domaine comme example.com en adresses IP que les ordinateurs utilisent pour communiquer. Les enregistrements DNS incluent 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 les détails de la configuration d'un domaine. Pour cet atelier, 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 s'afficher 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 s'afficher la progression de l'installation.

  3. Une fois installé, lancez 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 un résultat similaire au suivant (le résultat réel 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.

    Ce résultat montre divers enregistrements DNS pour example.com, offrant un aperçu de sa configuration :

    • SOA (Start of Authority) : Contient des informations administratives sur la zone.
    • NS (Name Server) : Liste 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 la réception des e-mails pour le domaine.
    • TXT (Text) : Contient du texte arbitraire, souvent utilisé pour des vérifications comme le SPF (Sender Policy Framework) illustré ici (v=spf1 -all).
  4. Sauvegardez 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é sauvegardée en consultant 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, désormais stockés dans le fichier.

Cette étape vous a initié à la reconnaissance DNS avec dnsrecon, montrant comment collecter des informations critiques sur un domaine. Dans l'étape finale, nous résumerons vos découvertes. Assurez-vous de pouvoir consulter les résultats DNS sauvegardés avant de continuer.

Résumé

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