pen-to-squareWriting and Importing Modules

Metasploit est un framework en constante évolution. Les modules d'exploitation, auxiliaires et post-exploitation sont régulièrement ajoutés par la communauté. Il existe deux méthodes principales pour obtenir les derniers modules :

  1. Mise à jour complète de Metasploit : Depuis le terminal, exécuter msfupdate ou mettre à jour le dépôt Git assure que tous les modules portés sur la branche principale de Metasploit sur GitHub sont disponibles dans votre msfconsole.

  2. Import manuel d’un module spécifique : Si vous n'avez besoin que d’un module particulier, il est possible de le télécharger et de l’installer localement sans mettre à jour l’ensemble du framework.


🔍 Rechercher des modules via ExploitDB

ExploitDB est une excellente ressource pour trouver des exploits personnalisés. Pour filtrer uniquement les scripts compatibles Metasploit, utilisez le tag Metasploit Framework (MSF).

  • Ces scripts peuvent être téléchargés et copiés dans le répertoire local de Metasploit.

  • Ils seront ensuite utilisables directement via msfconsole.

Exemple : recherche d’un exploit pour Nagios3 affecté par une vulnérabilité d’injection de commande.

msf6 > search nagios

Exemple de résultats :

#
Name
Date
Rank
Check
Description

5

exploit/unix/webapp/nagios3_history_cgi

2012-12-09

great

Yes

Nagios3 history.cgi Host Command Execution

6

exploit/unix/webapp/nagios_graph_explorer

2012-11-30

excellent

Yes

Nagios XI Graph Explorer Component Command Injection

Si le module recherché n’apparaît pas, il peut être trouvé directement sur ExploitDB ou via searchsploit :

searchsploit -t Nagios3 --exclude=".py"
  • Les fichiers .rb sont des scripts Ruby adaptés pour Metasploit.

  • Les fichiers .py ne sont pas directement compatibles.


📂 Installer un module manuellement

Le répertoire principal de Metasploit est généralement :

La configuration utilisateur est synchronisée dans :

Étapes pour installer un module :

  1. Créer les dossiers nécessaires si absent.

  2. Copier le fichier .rb téléchargé dans le répertoire correspondant :

  1. Charger le module dans msfconsole :

  1. Vérifier les options du module :


🛠 Portage de scripts vers des modules Metasploit

Pour transformer un script Python, PHP ou autre en module Metasploit Ruby, il est nécessaire de :

  • Maîtriser Ruby, le langage utilisé pour tous les modules MSF.

  • S’inspirer d’un module existant du même type pour éviter de repartir de zéro.

  • Respecter la structure et les naming conventions (snake_case, caractères alphanumériques et _).

Exemple de fichier module :

Points importants :

Module / Mixins
Fonction

HttpClient

Méthodes pour interagir avec un serveur HTTP

PhpEXE

Génération du payload PHP

FileDropper

Transfert de fichiers (optionnel)

Auxiliary::Report

Reporting des données vers MSF DB


⚙️ Exemple complet : Bludit CMS

Module final pour Bludit 3.9.2 – Authentication Bruteforce Mitigation Bypass :


🔑 Bonnes pratiques

  • Organiser les modules pour une maintenance et une recherche plus facile.

  • Vérifier les dependencies et mixins pour éviter les erreurs à l’exécution.

  • Respecter les conventions de nommage et les chemins des modules.

  • Tester chaque module dans un environnement contrôlé avant usage réel.


Last updated