Writing 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 :
Mise à jour complète de Metasploit : Depuis le terminal, exécuter
msfupdateou 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.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 nagiosExemple de résultats :
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
.rbsont des scripts Ruby adaptés pour Metasploit.Les fichiers
.pyne 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 :
Créer les dossiers nécessaires si absent.
Copier le fichier
.rbtéléchargé dans le répertoire correspondant :
Charger le module dans msfconsole :
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 :
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