Modules
Les modules Metasploit sont des scripts prĂ©configurĂ©s ayant un objectif prĂ©cis et des fonctions dĂ©jĂ dĂ©veloppĂ©es et testĂ©es dans des environnements rĂ©els. Ils constituent lâun des piliers du framework Metasploit et permettent dâautomatiser de nombreuses Ă©tapes dâun test dâintrusion.
Il est important de rappeler quâun Ă©chec lors de lâexĂ©cution dâun exploit ne prouve pas que la vulnĂ©rabilitĂ© nâexiste pas. Cela peut simplement signifier que lâexploit fourni par Metasploit nĂ©cessite une adaptation spĂ©cifique Ă la cible. Ainsi, Metasploit doit ĂȘtre considĂ©rĂ© comme un outil de support et non comme un substitut aux compĂ©tences manuelles de lâattaquant.
đ Structure des modules
Dans msfconsole, les modules sont organisés en répertoires hiérarchiques suivant la syntaxe suivante :
<no.> <type>/<os>/<service>/<name>Exemple :
794 exploit/windows/ftp/scriptftp_listNo. : Index permettant une sélection rapide du module à l'aide d'un numéro.
Type : Catégorie du module (exploit, payload, etc.).
OS : SystĂšme dâexploitation ciblĂ© (Linux, MacOS, Android, etc.).
Service : Service vulnérable identifié.
Name : Nom et action spécifique du module.
đ Types de modules
Les principaux types de modules disponibles dans Metasploit sont :
Auxiliary
Modules de scan, fuzzing, sniffing et fonctionnalités administratives.
Encoders
Garantissent lâintĂ©gritĂ© des payloads jusquâĂ leur destination.
Exploits
Exploitent une vulnérabilité afin de livrer un payload.
NOPs
(No Operation) Maintiennent une taille cohérente pour les payloads.
Payloads
Code exécuté sur la machine cible, permettant un retour de connexion (shell, Meterpreter).
Plugins
Scripts additionnels pouvant ĂȘtre intĂ©grĂ©s dans Metasploit.
Post
Modules de post-exploitation pour la collecte dâinformations, le pivoting, etc.
đ Seules les catĂ©gories Auxiliary, Exploits et Post peuvent ĂȘtre directement utilisĂ©es avec la commande use <no.>.
đ Recherche de modules
Metasploit intĂšgre une fonction de recherche puissante :
Options principales :
cve:<id>â Recherche par identifiant CVE.platform:<os>â Recherche par systĂšme dâexploitation ciblĂ©.type:<exploit/auxiliary/post>â Filtrer par type de module.rank:<niveau>â Filtrer par fiabilitĂ© de lâexploit.author:<nom>â Recherche par auteur.
Exemple :
đŻ SĂ©lection et utilisation dâun module
AprĂšs une recherche, les modules peuvent ĂȘtre sĂ©lectionnĂ©s :
Exemple :
Les options du module peuvent ĂȘtre listĂ©es avec :
Les paramÚtres obligatoires sont marqués comme Required = Yes.
Exemple dâoptions Ă configurer :
RHOSTS : Adresse IP de la cible.
RPORT : Port du service vulnérable.
LHOST : Adresse IP de lâattaquant (pour les reverse shells).
LPORT : Port dâĂ©coute du payload.
Il est possible de définir des valeurs permanentes avec :
đ Exemple dâexploitation (MS17-010 EternalRomance)
Scan de la cible :
Recherche du module :
Sélection :
Configuration :
Exécution :
Interaction avec la session ouverte :
RĂ©sultat : obtention dâun shell avec les privilĂšges NT AUTHORITY\SYSTEM.
đ Ressources utiles
Use the Metasploit-Framework to exploit the target with EternalRomance. Find the flag.txt file on Administrator's desktop and submit the contents as the answer.
Nous executons dans un premier temps Metasploit :
Une fois Metasploit exécuté, nous pouvons rechercher "EternalRomance" :
La liste des modules étant dressée, nous pouvons maintenant sélectionner celui qui nous intéresse afin d'exploiter la machine cible :
L'étape de sélection terminée, nous passons maintenant à la configuration de notre exploit :
La configuration étant effective, nous pouvons exécuter l'exploit et observer la bonne connexion à notre cible :
Nous pouvons maintenant, comme le stipule l'énoncé, récupérer le contenu du fichier flag.txt situé sur le bureau de l'administrateur :
Le flag retourné est donc le suivant :
Last updated