Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez 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 post
Extrait - Metasploit Testez la sécurité de vos infrastructures (2e edition)
Extraits du livre
Metasploit Testez la sécurité de vos infrastructures (2e edition)
3 avis
Revenir à la page d'achat du livre

La post-exploitation avec Meterpreter

Présentation de Meterpreter

Une fois la machine cible compromise, il est possible d’y injecter une charge utile (payload). Cette dernière peut être la création d’un administrateur sur le système distant, la création d’une connexion distante ou également l’exécution d’un programme à distance.

Bien que ces cas d’exploitation permettent déjà d’avoir la main sur la machine cible, il est possible de simplifier la phase de post-exploitation grâce à l’utilisation d’un payload particulier : Meterpreter.

Meterpreter est une charge utile (payload) particulièrement avancée permettant de simplifier la phase de post-exploitation grâce à la mise à disposition d’un shell interactif. Ce payload, entièrement exécuté en mémoire, intègre de nombreuses fonctionnalités et permet également d’étendre ces dernières grâce à une API Ruby.

À la suite de l’exploitation, la machine cible exécute le transfert initial (souvent bind ou reverse). Puis, le stager charge Meterpreter (sous forme de DLL) en mémoire avant d’initier une connexion chiffrée via TLS permettant alors l’interaction entre le client et le serveur.

L’injection et l’exécution des données en mémoire...

Les commandes de base de Meterpreter

Meterpreter intègre de base de nombreuses commandes. Certaines plus régulièrement utilisées que d’autres seront présentées ici. La commande help au sein de Meterpreter permet d’afficher l’ensemble des commandes accessibles, regroupées sous forme de catégories :

meterpreter > help  
Core Commands  
=============  
[...]  
 
Stdapi: File system Commands  
============================  
[...]  
 
Stdapi: Networking Commands  
===========================  
[...]  
 
Stdapi: System Commands  
=======================  
[...]  
 
Stdapi: Webcam Commands  
=======================  
[...]  
 
Stdapi: Mic Commands  
====================  
[...]  
 
Stdapi: Audio Output Commands  
============================= 

Meterpreter existe pour plusieurs systèmes cibles. Ainsi, il est important de garder en tête que la commande help ne renvoie pas les mêmes résultats en fonction du système d’exploitation sous-jacent. Certaines commandes propres à Windows ne peuvent donc pas être présentées sous Linux par exemple.

Dans les commandes suivantes, le Meterpreter est exécuté sur une machine Metasploitable, fonctionnant sur un système Unix. Néanmoins, certaines commandes impactant les systèmes Windows peuvent également être présentées, car jugées comme étant importantes.

1. Core commands

La commande background (bg étant son alias) permet de mettre la session Meterpreter en tâche de fond afin de revenir temporairement sur Metasploit :

meterpreter > background  
[*] Backgrounding session 2... 
 
msf6 exploit(linux/postgres/postgres_payload) > 

Comme il sera vu au chapitre Utilisation des sessions, il est possible de reprendre le contrôle d’une session Meterpreter grâce à la commande sessions :

msf6 exploit(linux/postgres/postgres_payload) > sessions -l  
 
Active sessions  
===============  
 
 Id  Name  Type                                      Information ...