Bases de la Navigation dans la Console Metasploit

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans le monde de Metasploit ! Le Metasploit Framework est un outil puissant utilisé par les professionnels de la sécurité pour les tests d'intrusion (penetration testing) et l'évaluation des vulnérabilités. Au cœur de cet outil se trouve la Metasploit Console, ou msfconsole, une interface de ligne de commande interactive qui vous donne accès à la vaste gamme de modules, d'exploits et de charges utiles (payloads) du framework.

Dans ce laboratoire, vous apprendrez les commandes essentielles pour naviguer dans msfconsole. Maîtriser ces bases est la première étape pour utiliser Metasploit efficacement. Nous aborderons comment obtenir de l'aide, gérer vos projets avec des espaces de travail (workspaces), rechercher des modules, afficher des informations détaillées à leur sujet et quitter correctement la console.

Commençons par lancer la console.

Explorer les Commandes Principales avec la Commande help

Dans cette étape, vous allez lancer la Metasploit Console et utiliser la commande help pour explorer les commandes disponibles. La commande help est votre ressource la plus précieuse lorsque vous n'êtes pas sûr de ce que fait une commande ou des commandes disponibles.

Tout d'abord, lançons la Metasploit Console. Nous utiliserons l'option -q (quiet) pour ignorer la bannière de démarrage afin d'obtenir une interface plus propre.

Exécutez la commande suivante dans votre terminal :

msfconsole -q

Vous remarquerez que votre invite de commande change pour msf >, indiquant que vous êtes maintenant à l'intérieur de la Metasploit Console.

Maintenant, utilisons la commande help pour voir une liste de toutes les commandes disponibles.

help

Vous verrez une longue liste de commandes, catégorisées pour une navigation plus facile.

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Menu d'aide
    banner        Affiche une bannière Metasploit impressionnante
    cd            Change le répertoire de travail actuel
    color         Active/désactive l'affichage en couleur
    connect       Communique avec un hôte
    ...

Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Affiche les options avancées pour un module
    back          Revient du contexte actuel
    info          Affiche les informations sur un module
    ...

Vous pouvez également obtenir de l'aide détaillée pour une commande spécifique. Par exemple, pour en savoir plus sur la commande search, vous pouvez taper help search.

help search

Ceci affichera la syntaxe et les options de la commande search.

Usage: search [options] <keywords>

Recherche des modules, des plugins et d'autres objets du framework.

OPTIONS:

    -h, --help             Bannière d'aide.
    -o <file>, --output <file>  Envoie la sortie vers un fichier au format csv.
    -S <string>, --search <string>  Chaîne de recherche pour le filtrage des lignes.
    -t <type>, --type <type>  Le type de module à rechercher (exploit, payload, auxiliary, etc)
...

N'hésitez pas à explorer d'autres commandes en utilisant help avant de passer à l'étape suivante.

Visualiser la Gestion des Espaces de Travail avec la Commande workspace

Dans cette étape, vous allez découvrir les espaces de travail (workspaces). Les espaces de travail sont une manière d'organiser votre travail dans Metasploit. Chaque espace de travail est un environnement autonome qui stocke les informations sur les hôtes, les services, les vulnérabilités et les butins (loot) pour un engagement (engagement) spécifique. Ceci est extrêmement utile pour séparer différents projets de tests d'intrusion.

Par défaut, vous êtes dans l'espace de travail default. Vous pouvez visualiser l'espace de travail actuel et ceux disponibles en utilisant la commande workspace.

workspace

La sortie vous montrera les espaces de travail disponibles, avec un astérisque * indiquant celui dans lequel vous vous trouvez actuellement.

* default

Créons un nouvel espace de travail pour notre projet. Nous l'appellerons myproject. L'option -a est utilisée pour ajouter un nouvel espace de travail.

workspace -a myproject

Metasploit confirmera la création et vous basculera automatiquement vers le nouvel espace de travail.

[*] Added workspace: myproject
[*] Workspace: myproject

Maintenant, si vous listez à nouveau les espaces de travail, vous verrez à la fois default et myproject, myproject étant l'espace actif.

workspace
  default
* myproject

Toutes les actions subséquentes, telles que l'analyse des hôtes ou la collecte de données, seront désormais enregistrées dans l'espace de travail myproject.

Dans cette étape, vous apprendrez à trouver des modules en utilisant la commande search. Le Metasploit Framework contient des milliers de modules, qui sont les composants principaux que vous utiliserez pour effectuer des actions. Ceux-ci incluent des exploits, des scanners auxiliaires (auxiliary scanners), des charges utiles (payloads) et plus encore. La commande search est essentielle pour trouver le bon outil pour la tâche.

Vous pouvez rechercher des modules en fonction de mots-clés. Par exemple, recherchons les modules liés à smb (Server Message Block), un protocole réseau courant.

search smb

Le résultat sera une longue liste de modules correspondants. Les résultats sont affichés dans un tableau avec plusieurs colonnes :

  • #: Le numéro d'index du résultat.
  • Name: Le chemin complet et le nom du module.
  • Disclosure Date: La date de divulgation publique de la vulnérabilité.
  • Rank: La fiabilité de l'exploit, allant de low (faible) à excellent.
  • Check: Indique si le module possède une méthode check pour tester la vulnérabilité en toute sécurité.
  • Description: Un bref résumé de ce que fait le module.
Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   auxiliary/admin/smb/impacket/secretsdump  2021-11-09       normal     No     SMB Secrets Dump
   1   auxiliary/admin/smb/psexec_ntdsgrab       2021-11-09       normal     No     PsExec NTDSGRAB
   ...
   58  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average    Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   ...

Vous pouvez affiner votre recherche en utilisant des mots-clés tels que type, platform, name, etc. Par exemple, pour trouver uniquement les modules de type exploit pour la plateforme windows liés à smb, vous pouvez utiliser la commande suivante :

search type:exploit platform:windows smb

Ceci vous donnera une liste de résultats beaucoup plus ciblée, facilitant la recherche de l'exploit spécifique dont vous avez besoin.

Afficher les Informations sur le Module avec la Commande info

Dans cette étape, vous apprendrez à obtenir des informations détaillées sur un module spécifique en utilisant les commandes use et info. Après avoir trouvé un module prometteur avec search, vous devez comprendre ce qu'il fait, quelles options il requiert et quels systèmes cibles il affecte.

Premièrement, vous devez sélectionner un module avec lequel travailler. Ceci est effectué avec la commande use, suivie du nom complet du module issu des résultats de la recherche. Sélectionnons l'exploit célèbre eternalblue.

use exploit/windows/smb/ms17_010_eternalblue

Remarquez que votre invite de commande (prompt) change. Elle inclut désormais le nom du module actif, indiquant que vous êtes dans son contexte.

msf exploit(windows/smb/ms17_010_eternalblue) >

Maintenant qu'un module est sélectionné, vous pouvez obtenir des informations détaillées à son sujet en utilisant la commande info.

info

Cette commande affiche un aperçu complet du module, incluant :

  • Name (Nom), Module, Platform (Plateforme), Arch (Architecture)
  • Privileged (Privilégié) : Indique si des permissions spéciales sont requises.
  • License (Licence) et Rank (Niveau de fiabilité)
  • Provided by (Fourni par) : Les auteurs du module.
  • Available targets (Systèmes cibles disponibles) : Les systèmes d'exploitation ou applications spécifiques qu'il peut cibler.
  • Basic options (Options de base) : Les paramètres que vous devez configurer, comme l'adresse IP de la cible (RHOSTS).
  • Payload information (Informations sur la charge utile) : Les types de charges utiles qu'il peut délivrer.
  • Description : Une explication détaillée de la vulnérabilité.
  • References (Références) : Des liens vers des avis et des articles (CVE, BID, etc.).
       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x86, x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
...

Basic options:
  Name      Current Setting  Required  Description
  ----      ---------------  --------  -----------
  RHOSTS                     yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT     445              yes       The target port (TCP)
  SMBDomain .                no        (Optional) The Windows domain to use for authentication
...

L'examen de ces informations est une étape critique avant de tenter d'exécuter un exploit.

Quitter la Console avec la Commande exit

Dans cette dernière étape, vous apprendrez à quitter correctement la Console Metasploit. Bien que vous puissiez fermer la fenêtre du terminal ou utiliser Ctrl+C, la manière recommandée de quitter msfconsole est d'utiliser la commande exit.

Ceci assure que le framework s'arrête proprement, arrêtant tous les processus (jobs) en cours d'exécution et sauvegardant l'état actuel.

Avant de quitter, vous pouvez revenir à l'invite principale de msfconsole depuis le contexte d'un module en utilisant la commande back.

back

Votre invite reviendra au format standard msf >.

Maintenant, pour quitter complètement la console, tapez simplement exit.

exit

Vous verrez un message d'arrêt (shutdown message), et vous reviendrez à l'invite de votre shell système habituel.

labex:project$

Ceci conclut notre visite de base de la navigation dans la Console Metasploit.

Résumé

Félicitations ! Vous avez terminé avec succès ce laboratoire sur les bases de la navigation dans la Console Metasploit.

Dans ce laboratoire, vous avez appris à effectuer les opérations les plus fondamentales au sein de msfconsole :

  • Démarrer la console et utiliser la commande help pour découvrir et apprendre les autres commandes.
  • Organiser vos projets en utilisant la commande workspace pour créer et gérer des environnements distincts.
  • Trouver des modules pour n'importe quelle tâche avec la puissante commande search et ses filtres.
  • Examiner les détails, les options et les systèmes cibles d'un module avec la commande info.
  • Arrêter correctement le framework en utilisant la commande exit.

Ces commandes constituent la base sur laquelle reposera tout votre travail futur dans Metasploit. Fort de ces connaissances, vous êtes maintenant prêt à explorer des sujets plus avancés, tels que la configuration et l'exécution des modules.