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.


