无MCP服务器
  ](https://nodejs.org/)
MCP(模型上下文协议)服务器,使AI代理能够与 无web服务器扫描程序 通过SSH连接到Kali Linux主机。
特性
- Web服务器漏洞扫描:扫描6700多个潜在危险文件/程序的目标
- 可配置的测试类别:针对特定漏洞类型调整选项
- IDS规避:绕过入侵检测系统的多种技术
- 插件系统:用于可扩展扫描的模块化插件架构
- 多种输出格式:JSON、CSV、HTML、XML和文本输出
- SSH执行:在远程Kali Linux主机上运行Nikto进行隔离
- 安全:输入验证以防止命令注入
先决条件
- Node.js 20.0.0或更高版本
- SSH访问安装了Nikto的Kali Linux主机
- 配置了基于SSH密钥的身份验证(BatchMode)
安装
# Clone the repository
git clone https://github.com/schwarztim/sec-nikto-mcp.git
cd sec-nikto-mcp
# Install dependencies
npm install
# Build
npm run build配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
KALI_HOST | kali | Kali Linux的SSH主机名 |
SSH_USER | (空) | SSH用户名(如果使用SSH配置,则可选) |
NIKTO_TIMEOUT | 300000 | 默认扫描超时(毫秒)(5分钟) |
Claude桌面配置
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"nikto": {
"command": "node",
"args": ["/path/to/sec-nikto-mcp/dist/index.js"],
"env": {
"KALI_HOST": "your-kali-host",
"SSH_USER": "kali",
"NIKTO_TIMEOUT": "600000"
}
}
}
}工具
展示
启动web服务器漏洞扫描。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
target | string | 是 | URL、IP地址或主机名 |
port | string | 否 | TCP端口-单个、范围(80-90)或逗号分隔 |
ssl | boolean | 否 | 强制SSL/HTTPS测试 |
nossl | boolean | 否 | 禁用SSL测试 |
tuning | string | 否 | 测试类别(0-9、a-c、x表示排除) |
plugins | string | 否 | 逗号分隔的插件列表 |
evasion | string | 否 | IDS规避技术(1-8) |
timeout | number | No | 每次请求超时(秒) |
pause | number | No | 测试之间的延迟(速率限制) |
vhost | string | 否 | 虚拟主机标头 |
id | string | 否 | HTTP基本身份验证(id:密码) |
root | string | 否 | 所有请求的前置路径 |
cgidirs | string | 无 | 要扫描的CGI目录 |
useproxy | boolean | 否 | 使用配置的代理 |
nolookup | boolean | 否 | 禁用DNS查找 |
no404 | boolean | 否 | 禁用404检查 |
findonly | boolean | 否 | 仅用于端口发现 |
mutate | string | 否 | 突变技术(1-6) |
format | string | 否 | 输出格式(csv、htm、txt、xml、json) |
scan_timeout | number | 否 | 总扫描超时时间(秒) |
nikto_plugins
列出所有可用的Niketo插件。
nikto_tuning
获取调优选项(测试类别)的详细参考。
耐克探索
获取IDS规避技术的详细参考。
Niketo更新
从cirt.net更新Nike插件和数据库。
nikto_版本
获取Niketo版本和数据库信息。
Nikto检查数据库
检查扫描数据库是否存在语法错误。
使用示例
基本扫描
Scan https://example.com with Nikto带调整的SSL扫描
Run a Nikto scan on example.com port 443 with SSL, focusing on misconfiguration and information disclosure tests利用IDS规避进行隐形扫描
Scan target.com using IDS evasion techniques 1, 2, and 4 with a 2-second pause between requests全面审计
Perform a full Nikto scan on example.com ports 80 and 443 with SSL, output in JSON format调整参考
| 代码 | 类别 |
|---|---|
| 0 | 文件上传 |
| 1 | 有趣的文件/在日志中看到 |
| 2 | 配置错误/默认文件 |
| 3 | 信息披露 |
| 4 | 注入(XSS/脚本/HTML) |
| 5 | 远程文件检索-Web根目录内 |
| 6 | 拒绝服务 |
| 7 | 远程文件检索-服务器范围 |
| 8 | 命令执行/远程Shell |
| 9 | SQL注入 |
| a | 绕过身份验证 |
| b | 软件标识 |
| c | 远程源包含 |
| x | 反转(不包括指定) |
回避技术
| 代码 | 技术 |
|---|---|
| 1 | 随机URI编码(非UTF8) |
| 2 | 目录自引用(/./) |
| 3 | URL提前结束 |
| 4 | 前置长随机字符串 |
| 5 | 假参数 |
| 6 | TAB作为请求垫片 |
| 7 | 更改URL的大小写 |
| 8 | 使用Windows目录分隔符(\\) |
安全考虑
- 此工具用于 仅限授权安全测试
- 在扫描任何系统之前,始终获得适当的授权
- 输入验证可防止命令注入攻击
- SSH密钥应使用受限权限进行适当保护
- 考虑扫描基础架构的网络隔离
- 服务器使用
BatchMode=yes用于非交互式SSH执行
相关项目
- 无 -Nikto网络服务器扫描仪
- 模型上下文协议 -MCP规范
- MCP-SDK -官方MCP SDK
- Kali Linux -渗透测试分布
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
免责声明
此工具仅用于教育和授权的安全测试目的。用户有责任在扫描任何系统之前确保他们有适当的授权。作者不对该工具造成的任何误用或损坏负责。
