Introduction
Le Metasploit Framework est un outil puissant utilisé pour les tests d'intrusion et la recherche en sécurité. Bien qu'il puisse être utilisé sans base de données, le connecter à une base de données comme PostgreSQL améliore considérablement ses capacités. Une base de données vous permet de stocker des informations sur les hôtes, les services découverts, les vulnérabilités et les preuves collectées (loot). Cela rend la gestion des données lors d'évaluations à grande échelle beaucoup plus efficace.
Dans ce laboratoire, vous apprendrez les étapes fondamentales pour configurer et utiliser la base de données Metasploit. Vous initialiserez le service de base de données, vérifierez la connexion et apprendrez à utiliser les espaces de travail (workspaces) pour organiser vos projets.
Initialiser la base de données Metasploit avec msfdb init
Dans cette étape, vous allez initialiser la base de données Metasploit. Le Metasploit Framework inclut un script pratique appelé msfdb pour gérer la base de données PostgreSQL. La commande init démarrera le service PostgreSQL, créera une base de données et un utilisateur dédiés pour Metasploit, et enregistrera les détails de connexion afin que le framework puisse les utiliser automatiquement.
Vous devez exécuter cette commande avec sudo car elle gère les services système et crée des utilisateurs de base de données.
Ouvrez un terminal et exécutez la commande suivante :
sudo msfdb init
Vous verrez une sortie indiquant que la base de données est en cours d'initialisation. Ce processus peut prendre un moment. La sortie devrait ressembler à ceci, confirmant que l'utilisateur de la base de données, la base de données et le fichier de configuration ont été créés.
[+] Starting database
[+] Creating database user 'msf'
[+] Creating database 'msf'
[+] Creating database 'msf_test'
[+] Creating configuration file '/home/labex/.msf4/database.yml'
[+] Creating initial database schema
Cette commande ne doit être exécutée qu'une seule fois. Après cela, la base de données sera prête à être utilisée par Metasploit.
Vérifier le statut de la connexion à la base de données avec db_status
Dans cette étape, vous allez vérifier que Metasploit est correctement connecté à la base de données que vous venez d'initialiser. Pour ce faire, vous devez d'abord lancer la console Metasploit Framework, qui est l'interface principale pour interagir avec Metasploit.
Lancez la console en tapant msfconsole dans votre terminal :
msfconsole
Après un moment, vous verrez l'invite msf6 >, indiquant que la console est prête.
Maintenant, pour vérifier le statut de la connexion à la base de données, utilisez la commande db_status à l'intérieur de la console Metasploit :
db_status
Si la connexion est réussie, vous verrez un message de confirmation.
[*] postgresql connected to msf
Cela confirme que Metasploit est correctement connecté à sa base de données et prêt à stocker des données. Pour l'instant, nous resterons dans la msfconsole pour les étapes suivantes.
Créer un nouvel espace de travail pour un projet
Dans cette étape, vous apprendrez à créer un nouvel espace de travail (workspace). Les espaces de travail sont l'une des fonctionnalités les plus utiles de la base de données Metasploit. Ils agissent comme des conteneurs séparés pour vos données, vous permettant de maintenir des engagements de test d'intrusion ou des projets distincts complètement isolés les uns des autres. Par défaut, vous commencez dans un espace de travail nommé default.
Pour créer un nouvel espace de travail, vous utilisez la commande workspace avec l'option -a (qui signifie "add" - ajouter), suivie du nom du nouvel espace de travail. Créons un espace de travail nommé project_alpha.
Dans l'invite msfconsole, exécutez la commande suivante :
workspace -a project_alpha
Metasploit confirmera que l'espace de travail a été ajouté et vous basculera automatiquement vers le nouvel espace de travail.
[*] Added workspace: project_alpha
[*] Workspace: project_alpha
Désormais, toutes les données que vous collecterez – telles que les informations sur les hôtes, les résultats de scan ou les identifiants – seront stockées dans l'espace de travail project_alpha, le maintenant séparé de l'espace de travail default.
Lister tous les espaces de travail disponibles
Dans cette étape, vous allez lister tous les espaces de travail (workspaces) disponibles dans la base de données. Ceci est utile pour visualiser tous vos projets actuels et identifier celui dans lequel vous travaillez actuellement.
Pour lister tous les espaces de travail, exécutez simplement la commande workspace sans aucun argument.
Dans l'invite msfconsole, exécutez la commande :
workspace
La sortie affichera une liste de tous les espaces de travail. L'espace de travail actuel est marqué d'un astérisque (*). Vous devriez voir à la fois l'espace de travail default et l'espace de travail project_alpha que vous avez créé à l'étape précédente.
default
* project_alpha
Cette commande vous donne un aperçu rapide de vos projets et vous aide à suivre votre contexte actuel.
Basculer entre différents espaces de travail
Dans cette étape, vous apprendrez à basculer entre différents espaces de travail (workspaces). Au fur et à mesure que vous travaillez sur plusieurs projets, vous devrez fréquemment changer votre espace de travail actif pour accéder aux données associées à un engagement spécifique.
Pour basculer vers un autre espace de travail, utilisez la commande workspace suivie du nom de l'espace de travail que vous souhaitez activer. Revenons à l'espace de travail default.
Dans l'invite msfconsole, exécutez cette commande :
workspace default
Metasploit confirmera le changement avec un message.
[*] Workspace: default
Vous pouvez vérifier le changement en exécutant à nouveau la commande workspace. Vous verrez que l'astérisque (*) se trouve maintenant à côté de default.
workspace
* default
project_alpha
Vous avez maintenant basculé avec succès votre contexte de travail. Pour quitter la console Metasploit et revenir au terminal normal, tapez exit :
exit
Résumé
Félicitations pour avoir terminé ce laboratoire ! Vous avez acquis les compétences essentielles pour gérer la base de données Metasploit, qui est un élément essentiel pour utiliser efficacement le framework lors d'engagements professionnels.
Dans ce laboratoire, vous avez abordé :
- L'initialisation de la base de données PostgreSQL pour Metasploit en utilisant
sudo msfdb init. - Le lancement de la console Metasploit avec
msfconsole. - La vérification de la connexion à la base de données avec la commande
db_status. - La création de nouveaux environnements de projet isolés en utilisant
workspace -a <name>. - La liste de tous les espaces de travail disponibles avec la commande
workspace. - Le basculement entre différents espaces de travail en utilisant
workspace <name>.
L'utilisation appropriée de la base de données et des espaces de travail vous aidera à rester organisé et efficace pendant vos activités de test d'intrusion.


