Comprendre les types de modules Metasploit

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Le Metasploit Framework est un puissant outil open-source utilisé pour les tests d'intrusion et la recherche en sécurité. Il est construit autour du concept de modules, qui sont des morceaux de code interchangeables effectuant des tâches spécifiques. Comprendre les différents types de modules est fondamental pour utiliser Metasploit efficacement.

Dans ce laboratoire, vous explorerez les principaux types de modules dans Metasploit :

  • Exploits : Code qui exploite une vulnérabilité système.
  • Auxiliary : Modules pour le scan, le fuzzing et d'autres actions qui ne sont pas des exploits directs.
  • Post-Exploitation : Modules utilisés après avoir obtenu l'accès à un système cible.
  • Payloads : Code qui s'exécute sur le système cible après un exploit réussi.

Vous apprendrez à lister et identifier ces modules en utilisant la console Metasploit (msfconsole).

Lister les modules d'exploitation disponibles

Dans cette étape, vous apprendrez à lister tous les modules d'exploitation disponibles dans le Metasploit Framework. Les modules d'exploitation sont conçus pour tirer parti d'une faille ou d'une vulnérabilité spécifique dans un système, un service ou une application afin d'obtenir un accès non autorisé.

Tout d'abord, vous devez démarrer la console Metasploit Framework. Nous utiliserons l'indicateur -q pour supprimer la bannière de démarrage afin d'obtenir une interface plus propre. Une fois dans la console, vous pouvez utiliser la commande show exploits.

Ouvrez votre terminal et exécutez la commande suivante pour démarrer msfconsole :

msfconsole -q

Une fois que l'invite msfconsole (msf6 >) apparaît, tapez la commande suivante pour lister tous les modules d'exploitation :

show exploits

Vous verrez une longue liste d'exploits disponibles, ainsi que leur date de divulgation, leur rang et une brève description. Le rang indique la fiabilité de l'exploit.

msf6 > show exploits

Matching Modules
================

   ##   Name                                 Disclosure Date  Rank       Check  Description
   -   ----                                 ---------------  ----       -----  -----------
   0   exploit/aix/local/ibstat_exec        2009-07-27       excellent  No     AIX ibstat Command Execution
   1   exploit/aix/local/invscout_priv_esc  2012-03-30       excellent  Yes    AIX invscout Privilege Escalation
   2   exploit/aix/rpc_catd                 1995-01-01       great      No     AIX CDE ToolTalk rpc.catd Command Execution
...
   2300 exploit/windows/smb/ms17_010_psexec  2017-03-14       excellent  Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
...

Après avoir examiné la liste, vous pouvez quitter la console Metasploit en tapant exit :

exit

Lister les modules auxiliaires disponibles

Dans cette étape, vous allez lister les modules auxiliaires. Contrairement aux exploits, les modules auxiliaires ne permettent pas d'accéder directement à un système. Ils sont plutôt utilisés pour une large gamme de tâches telles que la recherche de ports ouverts, l'identification de services, le fuzzing, les attaques par déni de service et la collecte d'informations.

Comme à l'étape précédente, démarrez la console Metasploit, puis utilisez la commande show.

Démarrez à nouveau msfconsole depuis votre terminal :

msfconsole -q

À l'invite msf6 >, utilisez la commande show auxiliary pour voir tous les modules auxiliaires disponibles :

show auxiliary

La sortie affichera une liste complète de modules utilisés pour la reconnaissance et d'autres activités non liées à l'exploitation.

msf6 > show auxiliary

Matching Modules
================

   ##   Name                                                 Disclosure Date  Rank     Check  Description
   -   ----                                                 ---------------  ----     -----  -----------
   0   auxiliary/admin/2wire/xslt_password_reset                             normal   No     2Wire Cross-Site Scripting and Password Reset
   1   auxiliary/admin/appletv/appletv_display_image                         normal   No     AppleTV Display Image
...
   450 auxiliary/scanner/http/http_login                                     normal   No     HTTP Login Utility
   451 auxiliary/scanner/http/http_put                                       normal   Yes    HTTP PUT File Upload Utility
...

Une fois que vous avez terminé, quittez la console :

exit

Lister les modules de post-exploitation disponibles

Dans cette étape, vous allez explorer les modules de post-exploitation. Ces modules sont utilisés après avoir compromis avec succès un système cible. Leur objectif est de vous aider à maintenir l'accès, à collecter des informations sensibles, à escalader les privilèges et à pivoter vers d'autres systèmes au sein du réseau.

Le processus pour lister ces modules est similaire aux étapes précédentes.

Lancez la console Metasploit :

msfconsole -q

À l'invite, tapez show post pour lister tous les modules de post-exploitation :

show post

Vous verrez une liste de modules classés par système d'exploitation cible (par exemple, Windows, Linux, OSX) et par la fonction qu'ils remplissent (par exemple, gather, manage, escalate).

msf6 > show post

Matching Modules
================

   ##   Name                                                 Disclosure Date  Rank    Check  Description
   -   ----                                                 ---------------  ----    -----  -----------
   0   post/android/capture/screen                                           normal  No     Android Screen Capture
   1   post/android/gather/contacts                                          normal  No     Android Gather Contacts
...
   250 post/linux/gather/enum_configs                                        normal  No     Linux Gather Configurations
   251 post/linux/gather/enum_protections                                    normal  No     Linux Gather Protection Mechanisms
...
   400 post/windows/gather/credentials/total_commander                       normal  No     Windows Gather Total Commander FTP Passwords
...

N'oubliez pas de quitter la console une fois que vous avez terminé d'explorer la liste :

exit

Lister les modules de payload disponibles

Dans cette étape, vous allez lister les modules de payload disponibles. Un payload est le code qu'un exploit délivre au système cible. Une fois que l'exploit a compromis avec succès le système, le payload est exécuté, donnant le contrôle à l'attaquant. Les payloads peuvent aller de simples shells de commande au très avancé Meterpreter, qui offre un contrôle étendu sur la machine victime.

Listons-les en utilisant msfconsole.

Démarrez la console Metasploit :

msfconsole -q

À l'invite msf6 >, utilisez la commande show payloads :

show payloads

La sortie affichera une variété de payloads, souvent classés par le type de connexion qu'ils établissent (par exemple, reverse shell, bind shell) et par l'architecture cible.

msf6 > show payloads

Matching Modules
================

   ##   Name                                   Disclosure Date  Rank    Check  Description
   -   ----                                   ---------------  ----    -----  -----------
   0   payload/aix/ppc/shell_bind_tcp                          normal  No     AIX PowerPC Command Shell, Bind TCP Inline
   1   payload/aix/ppc/shell_find_port                         normal  No     AIX PowerPC Command Shell, Find Port Inline
...
   500 payload/linux/x86/meterpreter/reverse_tcp               normal  No     Linux Meterpreter, Reverse TCP Stager
...
   1000 payload/windows/x64/meterpreter/reverse_tcp             normal  No     Windows Meterpreter (Reflective Injection), Reverse TCP Stager (x64)
...

Enfin, quittez la console :

exit

Différencier un exploit d'un payload

Dans cette dernière étape, nous allons consolider votre compréhension de la différence cruciale entre un exploit et un payload. Bien qu'ils fonctionnent ensemble, ils servent des objectifs distincts.

  • Exploit : C'est le « véhicule de livraison ». Son seul rôle est d'exploiter une vulnérabilité pour amener le payload sur le système cible. Pensez-y comme la clé qui ouvre une porte.
  • Payload : C'est la « cargaison ». C'est le code qui s'exécute après que l'exploit a réussi. Il définit ce que vous pouvez faire sur le système compromis. Pensez-y comme ce que vous faites après avoir ouvert la porte et être entré.

Un exploit ne peut pas fonctionner sans payload, et un payload ne peut pas être délivré sans exploit.

Pour démontrer votre compréhension, créez un fichier texte simple nommé difference.txt dans votre répertoire de projet qui résume ce concept.

Exécutez la commande suivante dans votre terminal :

echo "Exploit: Gains access. Payload: Runs after access." > /home/labex/project/difference.txt

Vous pouvez vérifier que le fichier a été créé correctement avec la commande cat :

cat /home/labex/project/difference.txt

Vous devriez voir la sortie suivante :

Exploit: Gains access. Payload: Runs after access.

Ce simple exercice permet de renforcer la relation fondamentale entre ces deux composants essentiels de Metasploit.

Résumé

Félicitations pour avoir terminé ce laboratoire ! Vous avez exploré avec succès les types de modules fondamentaux au sein du Metasploit Framework.

Vous avez appris que :

  • Les modules d'exploit sont utilisés pour exploiter des vulnérabilités afin d'obtenir un accès initial.
  • Les modules auxiliaires sont utilisés pour le scan, la reconnaissance et d'autres actions non liées à l'exploitation.
  • Les modules de post-exploitation sont exécutés sur un système après qu'il a été compromis.
  • Les modules de payload sont le code délivré par un exploit qui s'exécute sur la cible.

Plus important encore, vous comprenez maintenant la distinction critique entre un exploit (la méthode d'entrée) et un payload (le code qui s'exécute après l'entrée). Cette connaissance fondamentale est essentielle pour effectuer des tests d'intrusion efficaces avec Metasploit.